CppCMS
Public Member Functions
booster::locale::hold_ptr< T > Class Template Reference

a smart pointer similar to std::auto_ptr but it is non-copyable and the underlying object has the same constness as the pointer itself (unlike an ordinary pointer). More...

#include <booster/booster/locale/hold_ptr.h>

List of all members.

Public Member Functions

 hold_ptr ()
 hold_ptr (T *v)
 ~hold_ptr ()
T const * get () const
T * get ()
T const & operator* () const
T & operator* ()
T const * operator-> () const
T * operator-> ()
T * release ()
void reset (T *p=0)
void swap (hold_ptr &other)
 Swap two pointers.

Detailed Description

template<typename T>
class booster::locale::hold_ptr< T >

a smart pointer similar to std::auto_ptr but it is non-copyable and the underlying object has the same constness as the pointer itself (unlike an ordinary pointer).


Constructor & Destructor Documentation

template<typename T>
booster::locale::hold_ptr< T >::hold_ptr ( ) [inline]

Create new empty pointer

template<typename T>
booster::locale::hold_ptr< T >::hold_ptr ( T *  v) [inline, explicit]

Create a pointer that holds v, ownership is transferred to smart pointer

template<typename T>
booster::locale::hold_ptr< T >::~hold_ptr ( ) [inline]

Destroy smart pointer and the object it owns.


Member Function Documentation

template<typename T>
T const* booster::locale::hold_ptr< T >::get ( ) const [inline]

Get a const pointer to the object

template<typename T>
T* booster::locale::hold_ptr< T >::get ( ) [inline]

Get a mutable pointer to the object

template<typename T>
T const& booster::locale::hold_ptr< T >::operator* ( ) const [inline]

Get a const reference to the object

template<typename T>
T& booster::locale::hold_ptr< T >::operator* ( ) [inline]

Get a mutable reference to the object

template<typename T>
T const* booster::locale::hold_ptr< T >::operator-> ( ) const [inline]

Get a const pointer to the object

template<typename T>
T* booster::locale::hold_ptr< T >::operator-> ( ) [inline]

Get a mutable pointer to the object

template<typename T>
T* booster::locale::hold_ptr< T >::release ( ) [inline]

Transfer an ownership on the pointer to user

template<typename T>
void booster::locale::hold_ptr< T >::reset ( T *  p = 0) [inline]

Set new value to pointer, previous object is destroyed, ownership on new object is transferred


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