8#ifndef INCLUDED_BSLMA_DELETERHELPER
9#define INCLUDED_BSLMA_DELETERHELPER
121#include <bslscm_version.h>
156 template <
class TYPE,
class ALLOCATOR>
157 static void deleteObject(
const TYPE *
object, ALLOCATOR *allocator);
167 template <
class TYPE,
class ALLOCATOR>
179template <
bool IS_POLYMORPHIC>
181 template <
class TYPE>
190 template <
class TYPE>
193 return dynamic_cast<void *
>(
const_cast<TYPE *
>(object));
202template <
class TYPE,
class ALLOCATOR>
213#if defined(BSLS_PLATFORM_CMP_SUN) && BSLS_PLATFORM_CMP_VERSION < 0x5130
214 const_cast<TYPE *
>(object)->~TYPE();
219 allocator->deallocate(address);
223template <
class TYPE,
class ALLOCATOR>
230 void *address =
const_cast<TYPE *
>(object);
232#if defined(BSLS_PLATFORM_CMP_SUN) && BSLS_PLATFORM_CMP_VERSION < 0x5130
233 const_cast<TYPE *
>(object)->~TYPE();
238 allocator->deallocate(address);
244#ifndef BDE_OPENSOURCE_PUBLICATION
bslma::DeleterHelper bslma_DeleterHelper
This alias is defined for backward compatibility.
Definition bslma_deleterhelper.h:250
#define BSLS_ASSERT_SAFE(X)
Definition bsls_assert.h:1917
#define BSLS_ASSERT_OPT(X)
Definition bsls_assert.h:2045
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition baljsn_encoder_testtypes.h:76
Definition bslmf_ispolymorphic.h:254
static void * caster(const TYPE *object)
Definition bslma_deleterhelper.h:191
Definition bslma_deleterhelper.h:180
static void * caster(const TYPE *object)
Definition bslma_deleterhelper.h:182
Definition bslma_deleterhelper.h:142
static void deleteObject(const TYPE *object, ALLOCATOR *allocator)
Definition bslma_deleterhelper.h:204
static void deleteObjectRaw(const TYPE *object, ALLOCATOR *allocator)
Definition bslma_deleterhelper.h:225
static BSLS_KEYWORD_CONSTEXPR void * voidify(TYPE *address) BSLS_KEYWORD_NOEXCEPT
Definition bslma_pointerutil.h:350