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>`

## 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 | ) |

inlineexplicit

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:

- booster/locale/hold_ptr.h