OWBI1::COWReference< T > Class Template Reference

#include <OWBI1_COWReference.hpp>

Inheritance diagram for OWBI1::COWReference< T >:

Inheritance graph
[legend]
Collaboration diagram for OWBI1::COWReference< T >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef T element_type
typedef T *volatile COWReference::* safe_bool

Public Member Functions

 COWReference ()
 COWReference (T *ptr)
 COWReference (const COWReference< T > &arg)
template<class U>
 COWReference (const COWReference< U > &arg)
 ~COWReference ()
COWReference< T > & operator= (const COWReference< T > &arg)
COWReference< T > & operator= (T *newObj)
void swap (COWReference< T > &arg)
T * operator-> ()
T & operator * ()
const T * operator-> () const
const T & operator * () const
const T * getPtr () const
 operator safe_bool () const
bool operator! () const
template<class U>
COWReference< U > cast_to () const

Private Member Functions

void decRef ()
void getWriteLock ()

Private Attributes

T *volatile m_pObj

Friends

class COWReference

Detailed Description

template<class T>
class OWBI1::COWReference< T >

Definition at line 45 of file OWBI1_COWReference.hpp.


Member Typedef Documentation

template<class T>
typedef T OWBI1::COWReference< T >::element_type
 

Definition at line 48 of file OWBI1_COWReference.hpp.

template<class T>
typedef T* volatile COWReference::* OWBI1::COWReference< T >::safe_bool
 

Definition at line 68 of file OWBI1_COWReference.hpp.


Constructor & Destructor Documentation

template<class T>
OWBI1::COWReference< T >::COWReference  ) 
 

template<class T>
OWBI1::COWReference< T >::COWReference T *  ptr  )  [inline, explicit]
 

Definition at line 94 of file OWBI1_COWReference.hpp.

template<class T>
OWBI1::COWReference< T >::COWReference const COWReference< T > &  arg  )  [inline]
 

Definition at line 100 of file OWBI1_COWReference.hpp.

template<class T>
template<class U>
OWBI1::COWReference< T >::COWReference const COWReference< U > &  arg  )  [inline]
 

Definition at line 107 of file OWBI1_COWReference.hpp.

template<class T>
OWBI1::COWReference< T >::~COWReference  )  [inline]
 

Definition at line 113 of file OWBI1_COWReference.hpp.

References OWBI1::COWReference< T >::decRef().


Member Function Documentation

template<class T>
template<class U>
COWReference< U > OWBI1::COWReference< T >::cast_to  )  const [inline]
 

Definition at line 233 of file OWBI1_COWReference.hpp.

References OWBI1::COWReferenceBase::incRef(), and OWBI1::COWReference< T >::m_pObj.

template<class T>
void OWBI1::COWReference< T >::decRef  )  [inline, private]
 

Reimplemented from OWBI1::COWReferenceBase.

Definition at line 126 of file OWBI1_COWReference.hpp.

References OWBI1::COWReferenceBase::decRef(), and OWBI1::COWReference< T >::m_pObj.

Referenced by OWBI1::COWReference< T >::~COWReference().

template<class T>
const T * OWBI1::COWReference< T >::getPtr  )  const [inline]
 

Definition at line 225 of file OWBI1_COWReference.hpp.

References OWBI1::COWReference< T >::m_pObj.

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

template<class T>
void OWBI1::COWReference< T >::getWriteLock  )  [inline, private]
 

Reimplemented from OWBI1::COWReferenceBase.

Definition at line 138 of file OWBI1_COWReference.hpp.

References OWBI1::COWReferenceClone(), OWBI1::COWReferenceBase::getWriteLock(), OWBI1::COWReference< T >::m_pObj, and OWBI1::COWReferenceBase::refCountGreaterThanOne().

Referenced by OWBI1::COWReference< T >::operator *(), and OWBI1::COWReference< T >::operator->().

template<class T>
const T & OWBI1::COWReference< T >::operator *  )  const [inline]
 

Definition at line 214 of file OWBI1_COWReference.hpp.

References OW_NAMESPACE::COWIntrusiveReferenceHelpers::checkNull(), and OWBI1::COWReference< T >::m_pObj.

template<class T>
T & OWBI1::COWReference< T >::operator *  )  [inline]
 

Definition at line 191 of file OWBI1_COWReference.hpp.

References OW_NAMESPACE::COWIntrusiveReferenceHelpers::checkNull(), OWBI1::COWReference< T >::getWriteLock(), and OWBI1::COWReference< T >::m_pObj.

template<class T>
OWBI1::COWReference< T >::operator safe_bool  )  const [inline]
 

Definition at line 69 of file OWBI1_COWReference.hpp.

template<class T>
bool OWBI1::COWReference< T >::operator!  )  const [inline]
 

Definition at line 71 of file OWBI1_COWReference.hpp.

template<class T>
const T * OWBI1::COWReference< T >::operator->  )  const [inline]
 

Definition at line 203 of file OWBI1_COWReference.hpp.

References OW_NAMESPACE::COWIntrusiveReferenceHelpers::checkNull(), and OWBI1::COWReference< T >::m_pObj.

template<class T>
T * OWBI1::COWReference< T >::operator->  )  [inline]
 

Definition at line 179 of file OWBI1_COWReference.hpp.

References OW_NAMESPACE::COWIntrusiveReferenceHelpers::checkNull(), OWBI1::COWReference< T >::getWriteLock(), and OWBI1::COWReference< T >::m_pObj.

template<class T>
COWReference< T > & OWBI1::COWReference< T >::operator= T *  newObj  )  [inline]
 

Definition at line 165 of file OWBI1_COWReference.hpp.

References OWBI1::COWReference< T >::swap().

template<class T>
COWReference< T > & OWBI1::COWReference< T >::operator= const COWReference< T > &  arg  )  [inline]
 

Definition at line 158 of file OWBI1_COWReference.hpp.

References OWBI1::COWReference< T >::swap().

template<class T>
void OWBI1::COWReference< T >::swap COWReference< T > &  arg  )  [inline]
 

Definition at line 172 of file OWBI1_COWReference.hpp.

References OWBI1::COWRefSwap(), OWBI1::COWReference< T >::m_pObj, and OW_NAMESPACE::swap().

Referenced by OWBI1::COWReference< T >::operator=(), OWBI1::SortedVectorSet< CIMName >::swap(), and OWBI1::Array< T >::swap().


Friends And Related Function Documentation

template<class T>
OWBI1::COWReference< T >::COWReference [friend]
 

Definition at line 79 of file OWBI1_COWReference.hpp.


Member Data Documentation

template<class T>
T* volatile OWBI1::COWReference< T >::m_pObj [private]
 

Definition at line 82 of file OWBI1_COWReference.hpp.

Referenced by OWBI1::COWReference< T >::cast_to(), OWBI1::COWReference< T >::decRef(), OWBI1::COWReference< T >::getPtr(), OWBI1::COWReference< T >::getWriteLock(), OWBI1::COWReference< T >::operator *(), OWBI1::COWReference< container_t >::operator safe_bool(), OWBI1::COWReference< container_t >::operator!(), OWBI1::COWReference< T >::operator->(), and OWBI1::COWReference< T >::swap().


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