nemo::IntrusivePtr< T > Class Template Reference

A tiny utility class for intrusive pointering. More...

#include <IntrusivePtr.h>

List of all members.

Public Member Functions

 IntrusivePtr ()
 IntrusivePtr (const IntrusivePtr< T > &rhs)
 IntrusivePtr (T *rhsP)
IntrusivePtroperator= (const IntrusivePtr< T > &rhs)
virtual ~IntrusivePtr ()
void reset ()
T & operator* () const
T * operator-> () const
void swap (IntrusivePtr< T > &rhs)

Detailed Description

template<class T>
class nemo::IntrusivePtr< T >

A tiny utility class for intrusive pointering.

This class is almost identical to boost::intrusive_ptr, except that it does not rely on global methods for add_ref and release, but on member functions as defined in the nemo::IntrusiveCounted class. This pointer implementation can be useful is you want to use the IntrusiveCounted implementation without running into problems with GCC bugs, sometimes occuring when 'argument depended lookup' of the add_ref/release methods is used inside template.

Definition at line 21 of file IntrusivePtr.h.


Constructor & Destructor Documentation

template<class T>
nemo::IntrusivePtr< T >::IntrusivePtr (  )  [inline]

Definition at line 24 of file IntrusivePtr.h.

template<class T>
nemo::IntrusivePtr< T >::IntrusivePtr ( const IntrusivePtr< T > &  rhs  )  [inline]

Definition at line 28 of file IntrusivePtr.h.

template<class T>
nemo::IntrusivePtr< T >::IntrusivePtr ( T *  rhsP  )  [inline]

Definition at line 37 of file IntrusivePtr.h.

template<class T>
virtual nemo::IntrusivePtr< T >::~IntrusivePtr (  )  [inline, virtual]

Definition at line 55 of file IntrusivePtr.h.


Member Function Documentation

template<class T>
T& nemo::IntrusivePtr< T >::operator* (  )  const [inline]

Definition at line 64 of file IntrusivePtr.h.

template<class T>
T* nemo::IntrusivePtr< T >::operator-> (  )  const [inline]

Definition at line 69 of file IntrusivePtr.h.

template<class T>
IntrusivePtr& nemo::IntrusivePtr< T >::operator= ( const IntrusivePtr< T > &  rhs  )  [inline]

Definition at line 46 of file IntrusivePtr.h.

template<class T>
void nemo::IntrusivePtr< T >::reset (  )  [inline]

Definition at line 59 of file IntrusivePtr.h.

template<class T>
void nemo::IntrusivePtr< T >::swap ( IntrusivePtr< T > &  rhs  )  [inline]

Definition at line 74 of file IntrusivePtr.h.


The documentation for this class was generated from the following file:
Generated on Mon Feb 25 12:49:59 2013 for NemoMath by  doxygen 1.6.3