Equalizer 1.0

co::base::RefPtr< T > Class Template Reference

A smart reference pointer. More...

#include <refPtr.h>

Collaboration diagram for co::base::RefPtr< T >:

List of all members.

Public Member Functions

 RefPtr ()
 Construct a new, empty reference pointer.
 RefPtr (T *const ptr)
 Construct a reference pointer from a C pointer.
 RefPtr (const RefPtr &from)
 Construct a copy of a reference pointer.
template<class O >
 RefPtr (RefPtr< O > from)
 Construct a copy of a reference pointer of a different type.
 ~RefPtr ()
 Destruct this reference pointer.
RefPtroperator= (const RefPtr &rhs)
 Assign another RefPtr to this reference pointer.
RefPtroperator= (T *ptr)
 Assign a C pointer to this reference pointer.
bool operator== (const RefPtr &rhs) const
bool operator!= (const RefPtr &rhs) const
bool operator< (const RefPtr &rhs) const
bool operator> (const RefPtr &rhs) const
bool operator! () const
bool operator== (const T *ptr) const
bool operator!= (const T *ptr) const
T * operator-> ()
 Access the held object.
const T * operator-> () const
 Access the held object.
T & operator* ()
 Access the held object.
const T & operator* () const
 Access the held object.
T * get ()
const T * get () const
bool isValid () const

Detailed Description

template<class T>
class co::base::RefPtr< T >

A smart reference pointer.

Relies on the held object to implement ref and unref correctly.

Definition at line 45 of file refPtr.h.


Constructor & Destructor Documentation

template<class T>
co::base::RefPtr< T >::RefPtr ( ) [inline]

Construct a new, empty reference pointer.

Version:
1.0

Definition at line 49 of file refPtr.h.

template<class T>
co::base::RefPtr< T >::RefPtr ( T *const  ptr) [inline]

Construct a reference pointer from a C pointer.

Version:
1.0

Definition at line 52 of file refPtr.h.

template<class T>
co::base::RefPtr< T >::RefPtr ( const RefPtr< T > &  from) [inline]

Construct a copy of a reference pointer.

Version:
1.0

Definition at line 55 of file refPtr.h.

template<class T>
template<class O >
co::base::RefPtr< T >::RefPtr ( RefPtr< O >  from) [inline]

Construct a copy of a reference pointer of a different type.

Version:
1.0

Definition at line 61 of file refPtr.h.

template<class T>
co::base::RefPtr< T >::~RefPtr ( ) [inline]

Destruct this reference pointer.

Version:
1.0

Definition at line 65 of file refPtr.h.


Member Function Documentation

template<class T>
T* co::base::RefPtr< T >::get ( ) [inline]
Returns:
the C pointer.
Version:
1.0

Definition at line 150 of file refPtr.h.

template<class T>
const T* co::base::RefPtr< T >::get ( ) const [inline]
Returns:
the C pointer.
Version:
1.0

Definition at line 152 of file refPtr.h.

template<class T>
bool co::base::RefPtr< T >::isValid ( ) const [inline]
Returns:
true if the RefPtr holds a non-0 pointer.
Version:
1.0

Definition at line 155 of file refPtr.h.

template<class T>
bool co::base::RefPtr< T >::operator! ( ) const [inline]
Returns:
true if the RefPtr is empty.
Version:
1.0

Definition at line 122 of file refPtr.h.

template<class T>
bool co::base::RefPtr< T >::operator!= ( const T *  ptr) const [inline]
Returns:
true if the reference pointers does not hold the C pointer
Version:
1.0

Definition at line 134 of file refPtr.h.

template<class T>
bool co::base::RefPtr< T >::operator!= ( const RefPtr< T > &  rhs) const [inline]
Returns:
true if both reference pointer hold different C pointer.
Version:
1.0

Definition at line 104 of file refPtr.h.

template<class T>
const T& co::base::RefPtr< T >::operator* ( ) const [inline]

Access the held object.

Version:
1.0

Definition at line 146 of file refPtr.h.

template<class T>
T& co::base::RefPtr< T >::operator* ( ) [inline]

Access the held object.

Version:
1.0

Definition at line 143 of file refPtr.h.

template<class T>
const T* co::base::RefPtr< T >::operator-> ( ) const [inline]

Access the held object.

Version:
1.0

Definition at line 140 of file refPtr.h.

template<class T>
T* co::base::RefPtr< T >::operator-> ( ) [inline]

Access the held object.

Version:
1.0

Definition at line 137 of file refPtr.h.

template<class T>
bool co::base::RefPtr< T >::operator< ( const RefPtr< T > &  rhs) const [inline]
Returns:
true if the left RefPtr is smaller then the right.
Version:
1.0

Definition at line 111 of file refPtr.h.

template<class T>
RefPtr& co::base::RefPtr< T >::operator= ( T *  ptr) [inline]

Assign a C pointer to this reference pointer.

Version:
1.0

Definition at line 81 of file refPtr.h.

template<class T>
RefPtr& co::base::RefPtr< T >::operator= ( const RefPtr< T > &  rhs) [inline]

Assign another RefPtr to this reference pointer.

Version:
1.0

Definition at line 68 of file refPtr.h.

template<class T>
bool co::base::RefPtr< T >::operator== ( const T *  ptr) const [inline]
Returns:
true if the reference pointers holds the C pointer.
Version:
1.0

Definition at line 128 of file refPtr.h.

template<class T>
bool co::base::RefPtr< T >::operator== ( const RefPtr< T > &  rhs) const [inline]
Returns:
true if both reference pointers hold the same C pointer.
Version:
1.0

Definition at line 97 of file refPtr.h.

template<class T>
bool co::base::RefPtr< T >::operator> ( const RefPtr< T > &  rhs) const [inline]
Returns:
true if the right RefPtr is smaller then the left.
Version:
1.0

Definition at line 118 of file refPtr.h.


The documentation for this class was generated from the following file:
Generated on Sun May 8 2011 19:11:09 for Equalizer 1.0 by  doxygen 1.7.3