Utils::Memory::SharedPointer< T > Class Template Reference

#include <SharedPointer.h> [code]

Collaboration diagram for Utils::Memory::SharedPointer< T >:

Collaboration graph
[legend]
List of all members.

Detailed Description

template<typename T>
class Utils::Memory::SharedPointer< T >

A smart pointer to polymorphic objects providing implicit sharing.

SharedPointer is a smart pointer to a polymorphic object of base class T. SharedPointer implements implicit sharing of the object. This means that copying the SharedPointer increases the internal reference count instead of copying the object. However the object is copied automatically when the shared pointer is used in non-const context.

Definition at line 60 of file SharedPointer.h.

Public Member Functions

void detach ()
T & operator * ()
const T & operator * () const
T * operator-> ()
const T * operator-> () const
 operator T * ()
 operator const T * () const
T * data ()
const T * data () const
const T * constData () const
bool operator== (const SharedPointer &other) const
bool operator!= (const SharedPointer &other) const
 SharedPointer ()
 SharedPointer (T *data)
 ~SharedPointer ()
 SharedPointer (const SharedPointer &o)
SharedPointeroperator= (const SharedPointer &o)
bool operator! () const

Private Member Functions

void detach_helper ()

Private Attributes

SharedDatad

Classes

class  SharedData


Constructor & Destructor Documentation

template<typename T>
Utils::Memory::SharedPointer< T >::SharedPointer  )  [inline]
 

Definition at line 77 of file SharedPointer.h.

template<typename T>
Utils::Memory::SharedPointer< T >::SharedPointer T *  data  )  [inline, explicit]
 

Definition at line 118 of file SharedPointer.h.

template<typename T>
Utils::Memory::SharedPointer< T >::~SharedPointer  )  [inline]
 

Definition at line 79 of file SharedPointer.h.

template<typename T>
Utils::Memory::SharedPointer< T >::SharedPointer const SharedPointer< T > &  o  )  [inline]
 

Definition at line 81 of file SharedPointer.h.


Member Function Documentation

template<typename T>
const T* Utils::Memory::SharedPointer< T >::constData  )  const [inline]
 

Definition at line 72 of file SharedPointer.h.

template<typename T>
const T* Utils::Memory::SharedPointer< T >::data  )  const [inline]
 

Definition at line 71 of file SharedPointer.h.

template<typename T>
T* Utils::Memory::SharedPointer< T >::data  )  [inline]
 

Definition at line 70 of file SharedPointer.h.

template<typename T>
void Utils::Memory::SharedPointer< T >::detach  )  [inline]
 

Definition at line 63 of file SharedPointer.h.

template<typename T>
void Utils::Memory::SharedPointer< T >::detach_helper  )  [inline, private]
 

Definition at line 122 of file SharedPointer.h.

template<typename T>
const T& Utils::Memory::SharedPointer< T >::operator *  )  const [inline]
 

Definition at line 65 of file SharedPointer.h.

template<typename T>
T& Utils::Memory::SharedPointer< T >::operator *  )  [inline]
 

Definition at line 64 of file SharedPointer.h.

template<typename T>
Utils::Memory::SharedPointer< T >::operator const T *  )  const [inline]
 

Definition at line 69 of file SharedPointer.h.

template<typename T>
Utils::Memory::SharedPointer< T >::operator T *  )  [inline]
 

Definition at line 68 of file SharedPointer.h.

template<typename T>
bool Utils::Memory::SharedPointer< T >::operator!  )  const [inline]
 

Definition at line 93 of file SharedPointer.h.

template<typename T>
bool Utils::Memory::SharedPointer< T >::operator!= const SharedPointer< T > &  other  )  const [inline]
 

Definition at line 75 of file SharedPointer.h.

template<typename T>
const T* Utils::Memory::SharedPointer< T >::operator->  )  const [inline]
 

Definition at line 67 of file SharedPointer.h.

template<typename T>
T* Utils::Memory::SharedPointer< T >::operator->  )  [inline]
 

Definition at line 66 of file SharedPointer.h.

template<typename T>
SharedPointer& Utils::Memory::SharedPointer< T >::operator= const SharedPointer< T > &  o  )  [inline]
 

Definition at line 82 of file SharedPointer.h.

template<typename T>
bool Utils::Memory::SharedPointer< T >::operator== const SharedPointer< T > &  other  )  const [inline]
 

Definition at line 74 of file SharedPointer.h.


Member Data Documentation

template<typename T>
SharedData* Utils::Memory::SharedPointer< T >::d [private]
 

Definition at line 114 of file SharedPointer.h.


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