|
BDE 4.39.x Production Release
|
#include <bslstl_sharedptrallocateinplacerep.h>
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.
Public Types | |
| typedef ReboundTraits::allocator_type | ReboundAllocator |
Public Member Functions | |
| void | disposeObject () BSLS_KEYWORD_OVERRIDE |
| void | disposeRep () BSLS_KEYWORD_OVERRIDE |
| void * | getDeleter (const std::type_info &type) BSLS_KEYWORD_OVERRIDE |
| TYPE * | ptr () |
| void * | originalPtr () const BSLS_KEYWORD_OVERRIDE |
Static Public Member Functions | |
| static SharedPtrAllocateInplaceRep * | makeRep (ReboundAllocator basicAllocator) |
| typedef ReboundTraits::allocator_type bslstl::SharedPtrAllocateInplaceRep< TYPE, ALLOCATOR >::ReboundAllocator |
|
inline |
Destroy the object being referred to by this representation. This method is automatically invoked by releaseRef when the number of shared references reaches zero and should not be explicitly invoked otherwise.
|
inline |
Destroy this representation object and deallocate the associated memory. This method is automatically invoked by releaseRef and releaseWeakRef when the number of weak references and the number of shared references both reach zero and should not be explicitly invoked otherwise.
disposeObject has already been called for this representation.
|
inline |
Ignore the specified type and return a null pointer.
|
inlinestatic |
Create a SharedPtrAllocateInplaceRep object having storage for an in-place uninitialized object of (template parameter) TYPE, and return its address. Use the specified basicAllocator to supply memory and, upon a call to disposeRep, to destroy this representation (and the in-place shared object).
ptr and originalPtr will return the address of an uninitialized object. This object should be explicitly initialized by the caller, and it is undefined behavior to call disposeRep until this object has been successfully constructed.
|
inline |
Return the (untyped) address of the modifiable shared object to which this object refers.
|
inline |
Return the address of the modifiable shared object to which this object refers.
const qualified as the referenced object is stored internally as a data member.