#include <bslma_deleterhelper.h>
|
template<class TYPE , class ALLOCATOR > |
static void | deleteObject (const TYPE *object, ALLOCATOR *allocator) |
|
template<class TYPE , class ALLOCATOR > |
static void | deleteObjectRaw (const TYPE *object, ALLOCATOR *allocator) |
|
This struct provides a namespace for helper functions used for deleting objects in various pools and allocators.
◆ deleteObject()
template<class TYPE , class ALLOCATOR >
void bslma::DeleterHelper::deleteObject |
( |
const TYPE * |
object, |
|
|
ALLOCATOR * |
allocator |
|
) |
| |
|
inlinestatic |
Destroy the specified object
based on its dynamic type and then use the specified allocator
to deallocate its memory footprint. Do nothing if object
is a null pointer. The behavior is undefined unless allocator
is non-null, and object
, when cast appropriately to void *
, was allocated using allocator
and has not already been deallocated. Note that dynamic_cast<void *>(object)
is applied if TYPE
is polymorphic, and static_cast<void *>(object)
is applied otherwise.
◆ deleteObjectRaw()
template<class TYPE , class ALLOCATOR >
void bslma::DeleterHelper::deleteObjectRaw |
( |
const TYPE * |
object, |
|
|
ALLOCATOR * |
allocator |
|
) |
| |
|
inlinestatic |
Destroy the specified object
and then use the specified allocator
to deallocate its memory footprint. Do nothing if object
is a null pointer. The behavior is undefined unless allocator
is non-null, object
is not a secondary base class pointer (i.e., the address is (numerically) the same as when it was originally dispensed by allocator
), and object
was allocated using allocator
and has not already been deallocated.
The documentation for this struct was generated from the following file: