Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Opie::Core::OSmartPointer< T > Class Template Reference

reference counting wrapper class More...

#include </home/clem/local/src/opie/libopie2/opiecore/osmartpointer.h>

Inheritance diagram for Opie::Core::OSmartPointer< T >:

Inheritance graph
[legend]
Collaboration diagram for Opie::Core::OSmartPointer< T >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 OSmartPointer ()
 standart constructor
 ~OSmartPointer ()
 standart destructor
 OSmartPointer (T *t)
 construction
 OSmartPointer (const OSmartPointer< T > &p)
 Pointer copy.
OSmartPointer< T > & operator= (const OSmartPointer< T > &p)
 pointer copy by assignment
OSmartPointer< T > & operator= (T *p)
 operator T * () const
 cast to conventional pointer
T & operator * ()
 deref: fails for NULL pointer
const T & operator * () const
 deref: fails for NULL pointer
T * operator-> ()
 deref with method call
const T * operator-> () const
 deref with const method call
 operator bool () const
 supports "if (pointer)"
 operator bool ()
 "if (pointer)" as non const
bool operator! () const
 support if (!pointer)"
bool operator! ()
 support if (!pointer)" as non const

Private Attributes

T * ptr
 pointer to object

Detailed Description

template<class T>
class Opie::Core::OSmartPointer< T >

reference counting wrapper class

Definition at line 65 of file osmartpointer.h.


Constructor & Destructor Documentation

template<class T>
Opie::Core::OSmartPointer< T >::OSmartPointer  )  [inline]
 

standart constructor

Definition at line 75 of file osmartpointer.h.

template<class T>
Opie::Core::OSmartPointer< T >::~OSmartPointer  )  [inline]
 

standart destructor

release the reference, if it were the last reference, destroys ptr

Definition at line 81 of file osmartpointer.h.

template<class T>
Opie::Core::OSmartPointer< T >::OSmartPointer T *  t  )  [inline]
 

construction

Definition at line 90 of file osmartpointer.h.

template<class T>
Opie::Core::OSmartPointer< T >::OSmartPointer const OSmartPointer< T > &  p  )  [inline]
 

Pointer copy.

Definition at line 92 of file osmartpointer.h.


Member Function Documentation

template<class T>
const T& Opie::Core::OSmartPointer< T >::operator *  )  const [inline]
 

deref: fails for NULL pointer

Definition at line 122 of file osmartpointer.h.

template<class T>
T& Opie::Core::OSmartPointer< T >::operator *  )  [inline]
 

deref: fails for NULL pointer

Definition at line 120 of file osmartpointer.h.

template<class T>
Opie::Core::OSmartPointer< T >::operator bool  )  [inline]
 

"if (pointer)" as non const

Definition at line 132 of file osmartpointer.h.

template<class T>
Opie::Core::OSmartPointer< T >::operator bool  )  const [inline]
 

supports "if (pointer)"

Definition at line 130 of file osmartpointer.h.

template<class T>
Opie::Core::OSmartPointer< T >::operator T *  )  const [inline]
 

cast to conventional pointer

Definition at line 117 of file osmartpointer.h.

template<class T>
bool Opie::Core::OSmartPointer< T >::operator!  )  [inline]
 

support if (!pointer)" as non const

Definition at line 137 of file osmartpointer.h.

template<class T>
bool Opie::Core::OSmartPointer< T >::operator!  )  const [inline]
 

support if (!pointer)"

Definition at line 135 of file osmartpointer.h.

template<class T>
const T* Opie::Core::OSmartPointer< T >::operator->  )  const [inline]
 

deref with const method call

Definition at line 127 of file osmartpointer.h.

template<class T>
T* Opie::Core::OSmartPointer< T >::operator->  )  [inline]
 

deref with method call

Definition at line 125 of file osmartpointer.h.

template<class T>
OSmartPointer<T>& Opie::Core::OSmartPointer< T >::operator= T *  p  )  [inline]
 

Definition at line 105 of file osmartpointer.h.

template<class T>
OSmartPointer<T>& Opie::Core::OSmartPointer< T >::operator= const OSmartPointer< T > &  p  )  [inline]
 

pointer copy by assignment

Definition at line 95 of file osmartpointer.h.


Member Data Documentation

template<class T>
T* Opie::Core::OSmartPointer< T >::ptr [private]
 

pointer to object

this object must contain Incr(), Decr() and Shared() methode as public members. The best way is, that it will be a child class of RefCount

Definition at line 72 of file osmartpointer.h.

Referenced by Opie::Core::OSmartPointer< Folder >::operator *(), Opie::Core::OSmartPointer< Folder >::operator bool(), Opie::Core::OSmartPointer< Folder >::operator T *(), Opie::Core::OSmartPointer< Folder >::operator!(), Opie::Core::OSmartPointer< Folder >::operator->(), Opie::Core::OSmartPointer< Folder >::operator=(), Opie::Core::OSmartPointer< Folder >::OSmartPointer(), and Opie::Core::OSmartPointer< Folder >::~OSmartPointer().


The documentation for this class was generated from the following file:
Generated on Sat Nov 5 18:00:53 2005 for OPIE by  doxygen 1.4.2