8#ifndef INCLUDED_BSLMA_SHAREDPTRINPLACEREP
9#define INCLUDED_BSLMA_SHAREDPTRINPLACEREP
193#include <bslscm_version.h>
211#if BSLS_COMPILERFEATURES_SIMULATE_CPP11_FEATURES
217# define COMPILING_BSLMA_SHAREDPTRINPLACEREP_H
219# undef COMPILING_BSLMA_SHAREDPTRINPLACEREP_H
268#if !BSLS_COMPILERFEATURES_SIMULATE_CPP11_FEATURES
277 template <
class... ARGS>
340 template <
class TYPE>
341 static const TYPE&
forward(
const TYPE& reference);
342 template <
class TYPE>
343 static BloombergLP::bslmf::MovableRef<TYPE>
forward(
344 const BloombergLP::bslmf::MovableRef<TYPE>& reference);
347 template <
class TYPE>
348 static void dispose(
const TYPE&
object);
351 template <
class TYPE,
size_t SIZE>
352 static void dispose(
const TYPE (&
object)[SIZE]);
374 const BloombergLP::bslmf::MovableRef<TYPE>& reference)
386template <
class TYPE,
size_t SIZE>
390 for (
size_t i = 0; i < SIZE; ++i) {
400#if !BSLS_COMPILERFEATURES_SIMULATE_CPP11_FEATURES
402template <
class... ARGS>
405: d_allocator_p(basicAllocator)
429 d_allocator_p->deallocate(
this);
461template <
class ELEMENT_TYPE>
Definition bslma_allocator.h:545
Definition bslma_sharedptrinplacerep.h:237
void * getDeleter(const std::type_info &type) BSLS_KEYWORD_OVERRIDE
Definition bslma_sharedptrinplacerep.h:434
void * originalPtr() const BSLS_KEYWORD_OVERRIDE
Definition bslma_sharedptrinplacerep.h:449
void disposeObject() BSLS_KEYWORD_OVERRIDE
Definition bslma_sharedptrinplacerep.h:420
void disposeRep() BSLS_KEYWORD_OVERRIDE
Definition bslma_sharedptrinplacerep.h:427
TYPE * ptr()
Definition bslma_sharedptrinplacerep.h:441
Definition bslma_sharedptrrep.h:338
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1976
#define BSLS_COMPILERFEATURES_FORWARD(T, V)
Definition bsls_compilerfeatures.h:2349
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
#define BSLS_KEYWORD_OVERRIDE
Definition bsls_keyword.h:695
Definition baljsn_encoder_testtypes.h:76
Definition bslmf_integralconstant.h:261
static BSLS_KEYWORD_CONSTEXPR void * voidify(TYPE *address) BSLS_KEYWORD_NOEXCEPT
Definition bslma_pointerutil.h:350
Definition bslma_sharedptrinplacerep.h:330
static const TYPE & forward(const TYPE &reference)
Definition bslma_sharedptrinplacerep.h:366
static void dispose(const TYPE &object)
Destroy the specified object.
Definition bslma_sharedptrinplacerep.h:381
Definition bslma_usesbslmaallocator.h:344
static TYPE * addressOf(TYPE &obj)
Definition bsls_util.h:312