Quick Links:

bal | bbl | bdl | bsl

Static Public Member Functions

bslma::SharedPtrInplaceRep_ImpUtil Struct Reference

#include <bslma_sharedptrinplacerep.h>

List of all members.

Static Public Member Functions

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)
template<class TYPE , size_t SIZE>
static void dispose (const TYPE(&object)[SIZE])

Detailed Description

This struct provides a namespace for several static methods that ease the implementation of many methods of the SharedPtrInplaceRep class.

See Component bslma_sharedptrinplacerep


Member Function Documentation

template<class TYPE >
static const TYPE& bslma::SharedPtrInplaceRep_ImpUtil::forward ( const TYPE &  reference  )  [static]
template<class TYPE >
static BloombergLP::bslmf::MovableRef<TYPE> bslma::SharedPtrInplaceRep_ImpUtil::forward ( const BloombergLP::bslmf::MovableRef< TYPE > &  reference  )  [static]

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.

template<class TYPE >
static void* bslma::SharedPtrInplaceRep_ImpUtil::voidify ( TYPE *  address  )  [static]

Return the specified address cast as a pointer to void, even if (the template parameter) TYPE is cv-qualified.

template<class TYPE >
static void bslma::SharedPtrInplaceRep_ImpUtil::dispose ( const TYPE &  object  )  [static]

Destroy the specified object.

template<class TYPE , size_t SIZE>
static void bslma::SharedPtrInplaceRep_ImpUtil::dispose ( const TYPE(&)  object[SIZE]  )  [static]

Destroy each element of the specified object.


The documentation for this struct was generated from the following file: