openModeller  Version 1.4.0
ReferenceCountedPointer< T > Class Template Reference

#include <refcount.hh>

List of all members.

Public Types

typedef TypeTraits< T >
::PointerType 
PointerType
typedef TypeTraits< T >
::ReferenceType 
ReferenceType
typedef TypeTraits< T >
::PlainPointerType 
PlainPointerType

Public Member Functions

 ReferenceCountedPointer ()
 ReferenceCountedPointer (PointerType)
template<class S >
 ReferenceCountedPointer (S *)
 ReferenceCountedPointer (const ReferenceCountedPointer &)
template<class S >
 ReferenceCountedPointer (const ReferenceCountedPointer< S > &)
virtual ~ReferenceCountedPointer ()
ReferenceType operator* () const
PointerType operator-> () const
ReferenceCountedPointer< T > & operator= (const ReferenceCountedPointer &)
template<class S >
ReferenceCountedPointer< T > & operator= (const ReferenceCountedPointer< S > &)
ReferenceCountedPointer< T > & operator= (PointerType &)
template<class S >
ReferenceCountedPointer< T > & operator= (S *&)
bool operator! () const
 operator bool () const
void swap (ReferenceCountedPointer< T > &rhs)

Private Member Functions

void releasePointer ()
void takePointer (PlainPointerType ptr)

Private Attributes

PlainPointerType _p

Friends

class ReferenceCountedPointer

Detailed Description

template<class T>
class ReferenceCountedPointer< T >

Definition at line 72 of file refcount.hh.


Member Typedef Documentation

Definition at line 77 of file refcount.hh.

template<class T>
typedef TypeTraits<T>::PointerType ReferenceCountedPointer< T >::PointerType

Definition at line 75 of file refcount.hh.

template<class T>
typedef TypeTraits<T>::ReferenceType ReferenceCountedPointer< T >::ReferenceType

Definition at line 76 of file refcount.hh.


Constructor & Destructor Documentation

template<class T>
ReferenceCountedPointer< T >::ReferenceCountedPointer ( ) [inline]
template<class T >
ReferenceCountedPointer< T >::ReferenceCountedPointer ( PointerType  rhs) [inline]

Definition at line 184 of file refcount.hh.

References Log::debug(), Log::instance(), and ReferenceCountedPointer< T >::takePointer().

Here is the call graph for this function:

template<class T >
template<class S >
ReferenceCountedPointer< T >::ReferenceCountedPointer ( S *  rhs) [inline]

Definition at line 194 of file refcount.hh.

References Log::debug(), Log::instance(), and ReferenceCountedPointer< T >::takePointer().

Here is the call graph for this function:

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

Definition at line 165 of file refcount.hh.

References ReferenceCountedPointer< T >::_p, Log::debug(), Log::instance(), and ReferenceCountedPointer< T >::takePointer().

Here is the call graph for this function:

template<class T >
template<class S >
ReferenceCountedPointer< T >::ReferenceCountedPointer ( const ReferenceCountedPointer< S > &  rhs) [inline]

Definition at line 175 of file refcount.hh.

References ReferenceCountedPointer< T >::_p, Log::debug(), Log::instance(), and ReferenceCountedPointer< T >::takePointer().

Here is the call graph for this function:

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

Definition at line 203 of file refcount.hh.

References Log::debug(), Log::instance(), and ReferenceCountedPointer< T >::releasePointer().

Here is the call graph for this function:


Member Function Documentation

template<class T >
ReferenceCountedPointer< T >::operator bool ( ) const [inline]

Definition at line 300 of file refcount.hh.

References ReferenceCountedPointer< T >::_p.

template<class T >
bool ReferenceCountedPointer< T >::operator! ( ) const [inline]

Definition at line 294 of file refcount.hh.

References ReferenceCountedPointer< T >::_p.

template<class T >
TypeTraits< T >::ReferenceType ReferenceCountedPointer< T >::operator* ( ) const [inline]

Definition at line 281 of file refcount.hh.

References ReferenceCountedPointer< T >::_p.

template<class T >
TypeTraits< T >::PointerType ReferenceCountedPointer< T >::operator-> ( ) const [inline]

Definition at line 288 of file refcount.hh.

References ReferenceCountedPointer< T >::_p.

template<class T >
ReferenceCountedPointer< T > & ReferenceCountedPointer< T >::operator= ( const ReferenceCountedPointer< T > &  rhs) [inline]
template<class T >
template<class S >
ReferenceCountedPointer< T > & ReferenceCountedPointer< T >::operator= ( const ReferenceCountedPointer< S > &  rhs) [inline]
template<class T >
ReferenceCountedPointer< T > & ReferenceCountedPointer< T >::operator= ( PointerType rhs) [inline]
template<class T >
template<class S >
ReferenceCountedPointer< T > & ReferenceCountedPointer< T >::operator= ( S *&  rhs) [inline]
template<class T >
void ReferenceCountedPointer< T >::releasePointer ( ) [inline, private]
template<class T>
void ReferenceCountedPointer< T >::swap ( ReferenceCountedPointer< T > &  rhs) [inline]

Definition at line 130 of file refcount.hh.

Referenced by swap().

template<class T >
void ReferenceCountedPointer< T >::takePointer ( PlainPointerType  ptr) [inline, private]

Definition at line 322 of file refcount.hh.

References ReferenceCountedPointer< T >::_p, Log::debug(), and Log::instance().

Referenced by ReferenceCountedPointer< T >::operator=(), and ReferenceCountedPointer< T >::ReferenceCountedPointer().

Here is the call graph for this function:


Friends And Related Function Documentation

template<class T>
ReferenceCountedPointer< T >::ReferenceCountedPointer [friend]

Definition at line 80 of file refcount.hh.


Member Data Documentation


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