[#BloombergLP-bslstl-SharedPtrAllocateInplaceRep] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::SharedPtrAllocateInplaceRep :relfileprefix: ../../ :mrdocs: In‐place `SharedPtrRep` implementation for a managed object of `TYPE`. == Synopsis Declared in `<bslstl_sharedptrallocateinplacerep.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class TYPE, class ALLOCATOR> class SharedPtrAllocateInplaceRep : public xref:BloombergLP/bslma/SharedPtrRep.adoc[BloombergLP::bslma::SharedPtrRep] ---- == Description This class provides a concrete implementation of the `SharedPtrRep` protocol for in‐place instances of the (template parameter) `TYPE`. Upon destruction of this object, the destructor of `TYPE` is invoked on the shared object. == Base Classes [cols="1,4"] |=== | Name| Description | `xref:BloombergLP/bslma/SharedPtrRep.adoc[BloombergLP::bslma::SharedPtrRep]` | Partially implemented shared pointer representation protocol. |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslstl/SharedPtrAllocateInplaceRep/ReboundAllocator.adoc[`ReboundAllocator`] | Allocator rebound to `SharedPtrAllocateInplaceRep`. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslma/SharedPtrRep/acquireRef.adoc[`acquireRef`] | Atomically acquire a shared reference to the shared object referred to by this representation. The behavior is undefined unless `0 < numReferences()`. | xref:BloombergLP/bslma/SharedPtrRep/acquireWeakRef.adoc[`acquireWeakRef`] | Atomically acquire a weak reference to the shared object. | xref:BloombergLP/bslstl/SharedPtrAllocateInplaceRep/disposeObject.adoc[`disposeObject`] [.small]#[virtual]# | Destroy the in‐place object managed by this representation. | xref:BloombergLP/bslstl/SharedPtrAllocateInplaceRep/disposeRep.adoc[`disposeRep`] [.small]#[virtual]# | Destroy this representation and deallocate its associated memory. | xref:BloombergLP/bslstl/SharedPtrAllocateInplaceRep/getDeleter.adoc[`getDeleter`] [.small]#[virtual]# | Return a null pointer; in‐place representations never store a deleter. | xref:BloombergLP/bslma/SharedPtrRep/hasUniqueOwner.adoc[`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. | xref:BloombergLP/bslma/SharedPtrRep/incrementRefs.adoc[`incrementRefs`] | Atomically increment the number of shared references. | xref:BloombergLP/bslma/SharedPtrRep/numReferences.adoc[`numReferences`] | Return a "snapshot" of the current number of shared references to the shared object referred to by this representation object. | xref:BloombergLP/bslma/SharedPtrRep/numWeakReferences.adoc[`numWeakReferences`] | Return a "snapshot" of the current number of weak references to the shared object referred to by this representation object. | xref:BloombergLP/bslstl/SharedPtrAllocateInplaceRep/originalPtr.adoc[`originalPtr`] [.small]#[virtual]# | Return the (untyped) address of the modifiable shared object to which this object refers. | xref:BloombergLP/bslstl/SharedPtrAllocateInplaceRep/ptr.adoc[`ptr`] | Return the address of the modifiable shared object to which this object refers. | xref:BloombergLP/bslma/SharedPtrRep/releaseRef.adoc[`releaseRef`] | Atomically release a shared reference to the shared object. | xref:BloombergLP/bslma/SharedPtrRep/releaseWeakRef.adoc[`releaseWeakRef`] | Atomically release a weak reference to the shared object. | xref:BloombergLP/bslma/SharedPtrRep/resetCountsRaw.adoc[`resetCountsRaw`] | Reset the shared and weak reference counts to the specified values. | xref:BloombergLP/bslma/SharedPtrRep/tryAcquireRef.adoc[`tryAcquireRef`] | Try to atomically acquire a shared reference to the shared object. |=== == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslstl/SharedPtrAllocateInplaceRep/makeRep.adoc[`makeRep`] | Create an in‐place representation with uninitialized storage for `TYPE`. | xref:BloombergLP/bslma/SharedPtrRep/managedPtrDeleter.adoc[`managedPtrDeleter`] | Release the shared reference held by the specified representation. | xref:BloombergLP/bslma/SharedPtrRep/managedPtrEmptyDeleter.adoc[`managedPtrEmptyDeleter`] | Deleter that has no effect when converting a null shared pointer. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#