blocxx
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends

BLOCXX_NAMESPACE::Reference< T > Class Template Reference

#include <Reference.hpp>

Inheritance diagram for BLOCXX_NAMESPACE::Reference< T >:
BLOCXX_NAMESPACE::ReferenceBase

List of all members.

Public Types

typedef T element_type

Public Member Functions

 Reference ()
 Reference (T *ptr)
 Reference (const Reference< T > &arg)
template<class U >
 Reference (const Reference< U > &arg)
 ~Reference ()
Reference< T > & operator= (const Reference< T > &arg)
Reference< T > & operator= (T *newObj)
void swap (Reference< T > &arg)
T * operator-> () const
T & operator* () const
T * getPtr () const
bool isNull () const BLOCXX_DEPRECATED
template<class U >
Reference< U > cast_to () const
template<class U >
void useRefCountOf (const Reference< U > &)

Private Member Functions

void decRef ()

Private Attributes

T *volatile m_pObj

Friends

class Reference

Detailed Description

template<class T>
class BLOCXX_NAMESPACE::Reference< T >

Definition at line 51 of file Reference.hpp.


Member Typedef Documentation

template<class T>
typedef T BLOCXX_NAMESPACE::Reference< T >::element_type

Definition at line 59 of file Reference.hpp.


Constructor & Destructor Documentation

template<class T>
BLOCXX_NAMESPACE::Reference< T >::Reference ( )
template<class T>
BLOCXX_NAMESPACE::Reference< T >::Reference ( T *  ptr) [inline, explicit]

Definition at line 100 of file Reference.hpp.

template<class T>
BLOCXX_NAMESPACE::Reference< T >::Reference ( const Reference< T > &  arg) [inline]

Definition at line 106 of file Reference.hpp.

template<class T >
template<class U >
BLOCXX_NAMESPACE::Reference< T >::Reference ( const Reference< U > &  arg) [inline]

Definition at line 113 of file Reference.hpp.

template<class T >
BLOCXX_NAMESPACE::Reference< T >::~Reference ( ) [inline]

Definition at line 120 of file Reference.hpp.


Member Function Documentation

template<class T >
template<class U >
Reference< U > BLOCXX_NAMESPACE::Reference< T >::cast_to ( ) const [inline]
template<class T >
void BLOCXX_NAMESPACE::Reference< T >::decRef ( ) [inline, private]

Reimplemented from BLOCXX_NAMESPACE::ReferenceBase.

Definition at line 128 of file Reference.hpp.

References BLOCXX_NAMESPACE::ReferenceBase::decRef().

template<class T >
T * BLOCXX_NAMESPACE::Reference< T >::getPtr ( ) const [inline]
template<class T >
bool BLOCXX_NAMESPACE::Reference< T >::isNull ( ) const [inline]

Definition at line 187 of file Reference.hpp.

template<class T >
T & BLOCXX_NAMESPACE::Reference< T >::operator* ( ) const [inline]

Definition at line 170 of file Reference.hpp.

template<class T >
T * BLOCXX_NAMESPACE::Reference< T >::operator-> ( ) const [inline]

Definition at line 159 of file Reference.hpp.

template<class T>
Reference< T > & BLOCXX_NAMESPACE::Reference< T >::operator= ( const Reference< T > &  arg) [inline]

Definition at line 138 of file Reference.hpp.

References BLOCXX_NAMESPACE::swap().

template<class T>
Reference< T > & BLOCXX_NAMESPACE::Reference< T >::operator= ( T *  newObj) [inline]

Definition at line 145 of file Reference.hpp.

References BLOCXX_NAMESPACE::swap().

template<class T>
void BLOCXX_NAMESPACE::Reference< T >::swap ( Reference< T > &  arg) [inline]
template<class T >
template<class U >
void BLOCXX_NAMESPACE::Reference< T >::useRefCountOf ( const Reference< U > &  arg) [inline]

Friends And Related Function Documentation

template<class T>
BLOCXX_NAMESPACE::Reference< T >::Reference [friend]

Definition at line 86 of file Reference.hpp.


Member Data Documentation

template<class T>
T* volatile BLOCXX_NAMESPACE::Reference< T >::m_pObj [private]

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