8#ifndef INCLUDED_BSLMA_SHAREDPTRINPLACEREP
9#define INCLUDED_BSLMA_SHAREDPTRINPLACEREP
193#include <bslscm_version.h>
210#if BSLS_COMPILERFEATURES_SIMULATE_CPP11_FEATURES
214# define COMPILING_BSLMA_SHAREDPTRINPLACEREP_H
216# undef COMPILING_BSLMA_SHAREDPTRINPLACEREP_H
262#if !BSLS_COMPILERFEATURES_SIMULATE_CPP11_FEATURES
271 template <
class... ARGS>
327 template <
class TYPE>
328 static const TYPE&
forward(
const TYPE& reference);
329 template <
class TYPE>
330 static BloombergLP::bslmf::MovableRef<TYPE>
forward(
331 const BloombergLP::bslmf::MovableRef<TYPE>& reference);
335 template <
class TYPE>
336 static void *
voidify(TYPE *address);
339 template <
class TYPE>
340 static void dispose(
const TYPE&
object);
343 template <
class TYPE,
size_t SIZE>
344 static void dispose(
const TYPE (&
object)[SIZE]);
366 const BloombergLP::bslmf::MovableRef<TYPE>& reference)
374 return static_cast<void *
>(
385template <
class TYPE,
size_t SIZE>
389 for (
size_t i = 0; i < SIZE; ++i) {
399#if !BSLS_COMPILERFEATURES_SIMULATE_CPP11_FEATURES
401template <
class... ARGS>
404: d_allocator_p(basicAllocator)
428 d_allocator_p->deallocate(
this);
450 return const_cast<void *
>(
static_cast<const void *
>(
461template <
class ELEMENT_TYPE>
Definition bslma_allocator.h:457
Definition bslma_sharedptrinplacerep.h:232
void * getDeleter(const std::type_info &type) BSLS_KEYWORD_OVERRIDE
Definition bslma_sharedptrinplacerep.h:433
void * originalPtr() const BSLS_KEYWORD_OVERRIDE
Definition bslma_sharedptrinplacerep.h:448
void disposeObject() BSLS_KEYWORD_OVERRIDE
Definition bslma_sharedptrinplacerep.h:419
void disposeRep() BSLS_KEYWORD_OVERRIDE
Definition bslma_sharedptrinplacerep.h:426
TYPE * ptr()
Definition bslma_sharedptrinplacerep.h:440
Definition bslma_sharedptrrep.h:338
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1804
#define BSLS_COMPILERFEATURES_FORWARD(T, V)
Definition bsls_compilerfeatures.h:2018
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
#define BSLS_KEYWORD_OVERRIDE
Definition bsls_keyword.h:653
Definition balxml_encoderoptions.h:68
Definition bslmf_integralconstant.h:244
remove_const< typenameremove_volatile< t_TYPE >::type >::type type
Definition bslmf_removecv.h:126
Definition bslma_sharedptrinplacerep.h:318
static void * voidify(TYPE *address)
Definition bslma_sharedptrinplacerep.h:373
static const TYPE & forward(const TYPE &reference)
Definition bslma_sharedptrinplacerep.h:358
static void dispose(const TYPE &object)
Destroy the specified object.
Definition bslma_sharedptrinplacerep.h:380
Definition bslma_usesbslmaallocator.h:343
static TYPE * addressOf(TYPE &obj)
Definition bsls_util.h:305