#include <counted_ptr.h>
Public Types | |
typedef X | element_type |
Public Member Functions | |
counted_ptr (X *p=0) | |
~counted_ptr () | |
counted_ptr (const counted_ptr &r) throw () | |
counted_ptr & | operator= (const counted_ptr &r) |
template<class Y> | |
counted_ptr (const counted_ptr< Y > &r) throw () | |
template<class Y> | |
counted_ptr & | operator= (const counted_ptr< Y > &r) |
X & | operator * () const throw () |
X * | operator-> () const throw () |
X * | get () const throw () |
bool | unique () const throw () |
Private Member Functions | |
void | acquire (counter *c) throw () |
void | release () |
Private Attributes | |
counted_ptr::counter * | itsCounter |
Friends | |
class | counted_ptr< Y > |
Classes | |
struct | counter |
typedef X counted_ptr< X >::element_type |
counted_ptr< X >::counted_ptr | ( | X * | p = 0 |
) | [inline, explicit] |
counted_ptr< X >::~counted_ptr | ( | ) | [inline] |
counted_ptr< X >::counted_ptr | ( | const counted_ptr< X > & | r | ) | throw () [inline] |
counted_ptr< X >::counted_ptr | ( | const counted_ptr< Y > & | r | ) | throw () [inline] |
void counted_ptr< X >::acquire | ( | counter * | c | ) | throw () [inline, private] |
X* counted_ptr< X >::get | ( | ) | const throw () [inline] |
X& counted_ptr< X >::operator * | ( | ) | const throw () [inline] |
X* counted_ptr< X >::operator-> | ( | ) | const throw () [inline] |
counted_ptr& counted_ptr< X >::operator= | ( | const counted_ptr< Y > & | r | ) | [inline] |
counted_ptr& counted_ptr< X >::operator= | ( | const counted_ptr< X > & | r | ) | [inline] |
void counted_ptr< X >::release | ( | ) | [inline, private] |
bool counted_ptr< X >::unique | ( | ) | const throw () [inline] |
friend class counted_ptr< Y > [friend] |
struct counted_ptr::counter* counted_ptr< X >::itsCounter [private] |