[#BloombergLP-bdlcc-SharedObjectPool_Rep] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlcc.adoc[bdlcc]::SharedObjectPool_Rep :relfileprefix: ../../ :mrdocs: Shared pointer representation object used by `SharedObjectPool`. == Synopsis Declared in `<bdlcc_sharedobjectpool.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class TYPE, class RESETTER> class SharedObjectPool_Rep : public xref:BloombergLP/bslma/SharedPtrRep.adoc[bslma::SharedPtrRep] ---- == Base Classes [cols="1,4"] |=== | Name| Description | `xref:BloombergLP/bslma/SharedPtrRep.adoc[bslma::SharedPtrRep]` | Partially implemented shared pointer representation protocol. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlcc/SharedObjectPool_Rep/2constructor.adoc[`SharedObjectPool_Rep`] [.small]#[constructor]# | Construct a new representation that embeds a `TYPE` object. | xref:BloombergLP/bdlcc/SharedObjectPool_Rep/2destructor.adoc[`~SharedObjectPool_Rep`] [.small]#[destructor]# [.small]#[virtual]# | Destroy this representation object and the embedded instance of `TYPE`. | 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/bdlcc/SharedObjectPool_Rep/disposeObject.adoc[`disposeObject`] [.small]#[virtual]# | Release the object managed by this representation. | xref:BloombergLP/bdlcc/SharedObjectPool_Rep/disposeRep.adoc[`disposeRep`] [.small]#[virtual]# | Release this representation object back to its pool. | xref:BloombergLP/bdlcc/SharedObjectPool_Rep/getDeleter.adoc[`getDeleter`] [.small]#[virtual]# | Return NULL. Shared object pools strictly control the delete policy for their objects, and do not expose it to end users. | 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/bdlcc/SharedObjectPool_Rep/originalPtr.adoc[`originalPtr`] [.small]#[virtual]# | Return (untyped) address of the object managed by this representation. This virtual override effectively returns "(void*)ptr()". | xref:BloombergLP/bdlcc/SharedObjectPool_Rep/ptr.adoc[`ptr`] | Return a pointer to the in‐place object. | 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/bdlcc/SharedObjectPool_Rep/reset.adoc[`reset`] | Invoke the object resetter specified at construction on the associated 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/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]#