Core::SmartPtr< T > Class Template Reference

The base class for all smart-pointer types. More...

#include <SmartPtr.hpp>

Inheritance diagram for Core::SmartPtr< T >:

Core::NotCopyable Core::IFacePtr< T > Core::SharedPtr< T > List of all members.

Public Member Functions

T & operator * () const
 Pointer dereference operator.
const T * operator-> () const
 Pointer-to-member operator.
T * operator-> ()
 Pointer-to-member operator.
bool operator! () const
 Not operator.
T * Get () const
 Access owned pointer.
T & GetRef () const
 Access owned pointer as a reference.

Protected Member Functions

 SmartPtr ()
 Default constructor.
 SmartPtr (T *pPointer)
 Construction from a raw pointer.
 ~SmartPtr ()
 Destructor.

Protected Attributes

T * m_pPointer
 The pointer being shadowed.

Detailed Description

template<typename T>
class Core::SmartPtr< T >

The base class for all smart-pointer types.

This class provides the common smart-pointer storage and methods for accessing it. All behaviour relating to ownership must be provided by the derived classes.


Constructor & Destructor Documentation

template<typename T>
Core::SmartPtr< T >::SmartPtr (  )  [inline, protected]

Default constructor.

template<typename T>
Core::SmartPtr< T >::SmartPtr ( T *  pPointer  )  [inline, explicit, protected]

Construction from a raw pointer.

template<typename T>
Core::SmartPtr< T >::~SmartPtr (  )  [inline, protected]

Destructor.


Member Function Documentation

template<typename T>
T & Core::SmartPtr< T >::operator * (  )  const [inline]

Pointer dereference operator.

Returns the currently owned pointer.

template<typename T>
const T * Core::SmartPtr< T >::operator-> (  )  const [inline]

Pointer-to-member operator.

Returns the currently owned pointer.

template<typename T>
T * Core::SmartPtr< T >::operator-> (  )  [inline]

Pointer-to-member operator.

Returns the currently owned pointer.

template<typename T>
bool Core::SmartPtr< T >::operator! (  )  const [inline]

Not operator.

Tests for a NULL pointer.

template<typename T>
T * Core::SmartPtr< T >::Get (  )  const [inline]

Access owned pointer.

Returns the currently owned pointer.

template<typename T>
T & Core::SmartPtr< T >::GetRef (  )  const [inline]

Access owned pointer as a reference.


Member Data Documentation

template<typename T>
T* Core::SmartPtr< T >::m_pPointer [protected]

The pointer being shadowed.


The documentation for this class was generated from the following file:
Generated on Wed Feb 13 22:53:28 2008 for Core Library by  doxygen 1.5.2