OW_NAMESPACE::Reference< T > Class Template Reference

#include <OW_Reference.hpp>

Inheritance diagram for OW_NAMESPACE::Reference< T >:

Inheritance graph
[legend]
Collaboration diagram for OW_NAMESPACE::Reference< T >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef T element_type
typedef T *volatile Reference::* safe_bool

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
 operator safe_bool () const
bool operator! () const
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 OW_NAMESPACE::Reference< T >

Definition at line 46 of file OW_Reference.hpp.


Member Typedef Documentation

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

Definition at line 54 of file OW_Reference.hpp.

template<class T>
typedef T* volatile Reference::* OW_NAMESPACE::Reference< T >::safe_bool
 

Definition at line 72 of file OW_Reference.hpp.


Constructor & Destructor Documentation

template<class T>
OW_NAMESPACE::Reference< T >::Reference  ) 
 

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

Definition at line 97 of file OW_Reference.hpp.

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

Definition at line 103 of file OW_Reference.hpp.

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

Definition at line 110 of file OW_Reference.hpp.

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

Definition at line 117 of file OW_Reference.hpp.

References OW_NAMESPACE::Reference< T >::decRef().


Member Function Documentation

template<class T>
template<class U>
Reference< U > OW_NAMESPACE::Reference< T >::cast_to  )  const [inline]
 

Definition at line 192 of file OW_Reference.hpp.

References OW_NAMESPACE::Reference< T >::m_pObj, and OW_NAMESPACE::Reference< T >::useRefCountOf().

Referenced by OW_NAMESPACE::HTTPClient::endRequest().

template<class T>
void OW_NAMESPACE::Reference< T >::decRef  )  [inline, private]
 

Reimplemented from OW_NAMESPACE::ReferenceBase.

Definition at line 125 of file OW_Reference.hpp.

References OW_NAMESPACE::ReferenceBase::decRef(), and OW_NAMESPACE::Reference< T >::m_pObj.

Referenced by OW_NAMESPACE::Reference< T >::~Reference().

template<class T>
T * OW_NAMESPACE::Reference< T >::getPtr  )  const [inline]
 

Definition at line 178 of file OW_Reference.hpp.

References OW_NAMESPACE::Reference< T >::m_pObj.

Referenced by OW_NAMESPACE::operator!=(), and OW_NAMESPACE::operator==().

template<class T>
bool OW_NAMESPACE::Reference< T >::isNull  )  const [inline]
 

Definition at line 184 of file OW_Reference.hpp.

References OW_NAMESPACE::Reference< T >::m_pObj.

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

Definition at line 167 of file OW_Reference.hpp.

References OW_NAMESPACE::ReferenceBase::checkNull(), and OW_NAMESPACE::Reference< T >::m_pObj.

template<class T>
OW_NAMESPACE::Reference< T >::operator safe_bool  )  const [inline]
 

Definition at line 73 of file OW_Reference.hpp.

template<class T>
bool OW_NAMESPACE::Reference< T >::operator!  )  const [inline]
 

Definition at line 75 of file OW_Reference.hpp.

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

Definition at line 156 of file OW_Reference.hpp.

References OW_NAMESPACE::ReferenceBase::checkNull(), and OW_NAMESPACE::Reference< T >::m_pObj.

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

Definition at line 142 of file OW_Reference.hpp.

References OW_NAMESPACE::Reference< T >::swap().

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

Definition at line 135 of file OW_Reference.hpp.

References OW_NAMESPACE::Reference< T >::swap().

template<class T>
void OW_NAMESPACE::Reference< T >::swap Reference< T > &  arg  )  [inline]
 

Definition at line 149 of file OW_Reference.hpp.

References OW_NAMESPACE::Reference< T >::m_pObj, OW_NAMESPACE::RefSwap(), and OW_NAMESPACE::swap().

Referenced by OW_NAMESPACE::Reference< T >::operator=().

template<class T>
template<class U>
void OW_NAMESPACE::Reference< T >::useRefCountOf const Reference< U > &   )  [inline]
 

Definition at line 206 of file OW_Reference.hpp.

References OW_NAMESPACE::ReferenceBase::useRefCountOf().

Referenced by OW_NAMESPACE::Reference< T >::cast_to().


Friends And Related Function Documentation

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

Definition at line 83 of file OW_Reference.hpp.


Member Data Documentation

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

Definition at line 87 of file OW_Reference.hpp.

Referenced by OW_NAMESPACE::Reference< T >::cast_to(), OW_NAMESPACE::Reference< T >::decRef(), OW_NAMESPACE::Reference< T >::getPtr(), OW_NAMESPACE::Reference< T >::isNull(), OW_NAMESPACE::Reference< T >::operator *(), OW_NAMESPACE::Reference< TempFileStream >::operator safe_bool(), OW_NAMESPACE::Reference< TempFileStream >::operator!(), OW_NAMESPACE::Reference< T >::operator->(), and OW_NAMESPACE::Reference< T >::swap().


The documentation for this class was generated from the following file:
Generated on Thu Feb 9 09:14:11 2006 for openwbem by  doxygen 1.4.6