#include <bslma_sharedptrinplacerep.h>
|
template<class TYPE > |
static const TYPE & | forward (const TYPE &reference) |
|
template<class TYPE > |
static BloombergLP::bslmf::MovableRef< TYPE > | forward (const BloombergLP::bslmf::MovableRef< TYPE > &reference) |
|
template<class TYPE > |
static void * | voidify (TYPE *address) |
|
template<class TYPE > |
static void | dispose (const TYPE &object) |
| Destroy the specified object .
|
|
template<class TYPE , size_t SIZE> |
static void | dispose (const TYPE(&object)[SIZE]) |
| Destroy each element of the specified object .
|
|
This struct provides a namespace for several static methods that ease the implementation of many methods of the SharedPtrInplaceRep
class.
◆ dispose() [1/2]
template<class TYPE >
void bslma::SharedPtrInplaceRep_ImpUtil::dispose |
( |
const TYPE & |
object | ) |
|
|
inlinestatic |
◆ dispose() [2/2]
template<class TYPE , size_t SIZE>
void bslma::SharedPtrInplaceRep_ImpUtil::dispose |
( |
const TYPE(&) |
object[SIZE] | ) |
|
|
inlinestatic |
◆ forward() [1/2]
template<class TYPE >
BloombergLP::bslmf::MovableRef< TYPE > bslma::SharedPtrInplaceRep_ImpUtil::forward |
( |
const BloombergLP::bslmf::MovableRef< TYPE > & |
reference | ) |
|
|
inlinestatic |
◆ forward() [2/2]
template<class TYPE >
const TYPE & bslma::SharedPtrInplaceRep_ImpUtil::forward |
( |
const TYPE & |
reference | ) |
|
|
inlinestatic |
Return the specified reference
. Note that this pair of overloaded functions is necessary to correctly forward movable references when providing explicit move-semantics for C++03; otherwise the MovableRef
is likely to be wrapped in multiple layers of reference wrappers, and not be recognized as the movable vocabulary type.
◆ voidify()
template<class TYPE >
void * bslma::SharedPtrInplaceRep_ImpUtil::voidify |
( |
TYPE * |
address | ) |
|
|
inlinestatic |
Return the specified address
cast as a pointer to void
, even if (the template parameter) TYPE
is cv-qualified.
The documentation for this struct was generated from the following file: