In‐place SharedPtrRep implementation for a managed array of TYPE.

Synopsis

Declared in <bslstl_sharedptrallocateinplacerep.h>

template<
    class TYPE,
    class ALLOCATOR>
class SharedPtrArrayAllocateInplaceRep
    : public BloombergLP::bslma::SharedPtrRep

Description

This class provides a concrete implementation of the SharedPtrRep protocol for in‐place instances of the (template parameter) TYPE, which must be an array. Upon destruction of this object, each element of the array is destructed.

Base Classes

Name

Description

BloombergLP::bslma::SharedPtrRep

Partially implemented shared pointer representation protocol.

Type Aliases

Name

Description

ReboundAllocator

ReboundAllocator is the rebound allocator type.

element_type

element_type is the type of the managed object.

Member Functions

Name

Description

acquireRef

Atomically acquire a shared reference to the shared object referred to by this representation. The behavior is undefined unless 0 < numReferences().

acquireWeakRef

Atomically acquire a weak reference to the shared object.

disposeObject [virtual]

Destroy the in‐place array managed by this representation.

disposeRep [virtual]

Destroy this representation and deallocate its associated memory.

getDeleter [virtual]

Return a null pointer; in‐place representations never store a deleter.

hasUniqueOwner

Return true if there is only one shared reference and no weak references to the object referred to by this representation, and false otherwise.

incrementRefs

Atomically increment the number of shared references.

numReferences

Return a "snapshot" of the current number of shared references to the shared object referred to by this representation object.

numWeakReferences

Return a "snapshot" of the current number of weak references to the shared object referred to by this representation object.

originalPtr [virtual]

Return the (untyped) address of the modifiable shared object to which this object refers.

ptr

Return the address of the modifiable shared object to which this object refers.

releaseRef

Atomically release a shared reference to the shared object.

releaseWeakRef

Atomically release a weak reference to the shared object.

resetCountsRaw

Reset the shared and weak reference counts to the specified values.

tryAcquireRef

Try to atomically acquire a shared reference to the shared object.

Static Member Functions

Name

Description

alloc_size

Return the allocation size in bytes for a representation of the given size.

makeRep

Create an in‐place representation with storage for an uninitialized array.

managedPtrDeleter

Release the shared reference held by the specified representation.

managedPtrEmptyDeleter

Deleter that has no effect when converting a null shared pointer.

Created with MrDocs