Version: 9.15.0
YACS::BASES::AutoConstRefCnt< T > Class Template Reference

#include <AutoRefCnt.hxx>

Inheritance diagram for YACS::BASES::AutoConstRefCnt< T >:
Collaboration diagram for YACS::BASES::AutoConstRefCnt< T >:

Public Member Functions

 AutoConstRefCnt (const AutoConstRefCnt &other)
 
 AutoConstRefCnt (const T *ptr=0)
 
 ~AutoConstRefCnt ()
 
bool isNull () const
 
bool isNotNull () const
 
void nullify ()
 
bool operator== (const AutoConstRefCnt &other) const
 
bool operator== (const T *other) const
 
AutoConstRefCntoperator= (const AutoConstRefCnt &other)
 
AutoConstRefCntoperator= (const T *ptr)
 
const T * operator-> () const
 
const T & operator* () const
 
 operator const T * () const
 
const T * retn ()
 
void takeRef (const T *ptr)
 

Private Member Functions

void referPtr (const T *ptr)
 
void destroyPtr ()
 

Private Attributes

const T * _ptr
 

Detailed Description

template<class T>
class YACS::BASES::AutoConstRefCnt< T >

Definition at line 59 of file AutoRefCnt.hxx.

Constructor & Destructor Documentation

◆ AutoConstRefCnt() [1/2]

template<class T >
YACS::BASES::AutoConstRefCnt< T >::AutoConstRefCnt ( const AutoConstRefCnt< T > &  other)
inline

◆ AutoConstRefCnt() [2/2]

template<class T >
YACS::BASES::AutoConstRefCnt< T >::AutoConstRefCnt ( const T *  ptr = 0)
inline

Definition at line 63 of file AutoRefCnt.hxx.

63 :_ptr(ptr) { }

◆ ~AutoConstRefCnt()

template<class T >
YACS::BASES::AutoConstRefCnt< T >::~AutoConstRefCnt ( )
inline

Member Function Documentation

◆ destroyPtr()

◆ isNotNull()

template<class T >
bool YACS::BASES::AutoConstRefCnt< T >::isNotNull ( ) const
inline

Definition at line 66 of file AutoRefCnt.hxx.

66 { return !isNull(); }

References YACS::BASES::AutoConstRefCnt< T >::isNull().

◆ isNull()

template<class T >
bool YACS::BASES::AutoConstRefCnt< T >::isNull ( ) const
inline

Definition at line 65 of file AutoRefCnt.hxx.

65 { return _ptr==0; }

References YACS::BASES::AutoConstRefCnt< T >::_ptr.

Referenced by YACS::BASES::AutoConstRefCnt< T >::isNotNull().

◆ nullify()

template<class T >
void YACS::BASES::AutoConstRefCnt< T >::nullify ( )
inline

◆ operator const T *()

template<class T >
YACS::BASES::AutoConstRefCnt< T >::operator const T * ( ) const
inline

Definition at line 74 of file AutoRefCnt.hxx.

74 { return _ptr; }

References YACS::BASES::AutoConstRefCnt< T >::_ptr.

◆ operator*()

template<class T >
const T& YACS::BASES::AutoConstRefCnt< T >::operator* ( ) const
inline

Definition at line 73 of file AutoRefCnt.hxx.

73 { return *_ptr; }

References YACS::BASES::AutoConstRefCnt< T >::_ptr.

◆ operator->()

template<class T >
const T* YACS::BASES::AutoConstRefCnt< T >::operator-> ( ) const
inline

Definition at line 72 of file AutoRefCnt.hxx.

72 { return _ptr; }

References YACS::BASES::AutoConstRefCnt< T >::_ptr.

◆ operator=() [1/2]

template<class T >
AutoConstRefCnt& YACS::BASES::AutoConstRefCnt< T >::operator= ( const AutoConstRefCnt< T > &  other)
inline

Definition at line 70 of file AutoRefCnt.hxx.

70 { if(_ptr!=other._ptr) { destroyPtr(); referPtr(other._ptr); } return *this; }

References YACS::BASES::AutoConstRefCnt< T >::_ptr, YACS::BASES::AutoConstRefCnt< T >::destroyPtr(), and YACS::BASES::AutoConstRefCnt< T >::referPtr().

◆ operator=() [2/2]

template<class T >
AutoConstRefCnt& YACS::BASES::AutoConstRefCnt< T >::operator= ( const T *  ptr)
inline

Definition at line 71 of file AutoRefCnt.hxx.

71 { if(_ptr!=ptr) { destroyPtr(); _ptr=ptr; } return *this; }

References YACS::BASES::AutoConstRefCnt< T >::_ptr, and YACS::BASES::AutoConstRefCnt< T >::destroyPtr().

◆ operator==() [1/2]

template<class T >
bool YACS::BASES::AutoConstRefCnt< T >::operator== ( const AutoConstRefCnt< T > &  other) const
inline

Definition at line 68 of file AutoRefCnt.hxx.

68 { return _ptr==other._ptr; }

References YACS::BASES::AutoConstRefCnt< T >::_ptr.

◆ operator==() [2/2]

template<class T >
bool YACS::BASES::AutoConstRefCnt< T >::operator== ( const T *  other) const
inline

Definition at line 69 of file AutoRefCnt.hxx.

69 { return _ptr==other; }

References YACS::BASES::AutoConstRefCnt< T >::_ptr.

◆ referPtr()

template<class T >
void YACS::BASES::AutoConstRefCnt< T >::referPtr ( const T *  ptr)
inlineprivate

◆ retn()

template<class T >
const T* YACS::BASES::AutoConstRefCnt< T >::retn ( )
inline

Definition at line 75 of file AutoRefCnt.hxx.

75 { if(_ptr) _ptr->incrRef(); return _ptr; }

References YACS::BASES::AutoConstRefCnt< T >::_ptr.

◆ takeRef()

template<class T >
void YACS::BASES::AutoConstRefCnt< T >::takeRef ( const T *  ptr)
inline

Definition at line 76 of file AutoRefCnt.hxx.

76 { if(_ptr!=ptr) { destroyPtr(); _ptr=ptr; if(_ptr) _ptr->incrRef(); } }

References YACS::BASES::AutoConstRefCnt< T >::_ptr, and YACS::BASES::AutoConstRefCnt< T >::destroyPtr().

Member Data Documentation

◆ _ptr


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