OpendTect  6.6
Public Member Functions | Static Private Member Functions | List of all members
RefMan< T > Class Template Reference
Inheritance diagram for RefMan< T >:
[legend]

Public Member Functions

 RefMan (const RefMan< T > &)
 
template<class TT >
 RefMan (const RefMan< TT > &)
 
 RefMan (const WeakPtr< T > &)
 
 RefMan (T *=nullptr)
 
RefMan< T > & operator= (const RefMan< T > &)
 
template<class TT >
RefMan< T > & operator= (const RefMan< TT > &)
 
RefMan< T > & operator= (const WeakPtr< T > &)
 
RefMan< T > & operator= (T *p)
 
void setNoDelete (bool yn)
 
- Public Member Functions inherited from NonConstPtrManBase< T >
T * getNonConstPtr () const
 
 operator const T * () const
 
 operator T* ()
 
T & operator* ()
 
const T & operator* () const
 
T * operator-> ()
 
const T * operator-> () const
 
T * ptr ()
 
const T * ptr () const
 
- Public Member Functions inherited from PtrManBase< T >
T * createIfNull (PointerCreator=createSingleObject< T >)
 
void erase ()
 
bool operator! () const
 
T * release ()
 Returns pointer. I won't take care of it any longer. More...
 
T * set (T *p, bool doerase=true)
 Returns old pointer if not erased. More...
 
bool setIfNull (T *p)
 
bool setIfNull (T *p, bool takeover)
 

Static Private Member Functions

static void ref (T *p)
 
static void unRef (T *p)
 
static void unRefNoDelete (T *p)
 

Additional Inherited Members

- Public Types inherited from PtrManBase< T >
typedef T *(* PointerCreator) ()
 
- Protected Types inherited from NonConstPtrManBase< T >
typedef void(* PtrFunc) (T *)
 
- Protected Types inherited from PtrManBase< T >
typedef void(* PtrFunc) (T *)
 
- Protected Member Functions inherited from NonConstPtrManBase< T >
 NonConstPtrManBase (PtrFunc setfunc, PtrFunc deletor, T *p)
 
- Protected Member Functions inherited from PtrManBase< T >
 PtrManBase (PtrFunc setfunc, PtrFunc deletor, T *)
 
virtual ~PtrManBase ()
 
- Protected Attributes inherited from PtrManBase< T >
PtrFunc deletefunc_
 
Threads::AtomicPointer< T > ptr_
 
PtrFunc setfunc_
 

Detailed Description

template<class T>
class RefMan< T >

Smart pointer for reference counted objects.

<>

Constructor & Destructor Documentation

◆ RefMan() [1/4]

template<class T >
template<class TT >
RefMan< T >::RefMan ( const RefMan< TT > &  p)
inline

◆ RefMan() [2/4]

template<class T >
RefMan< T >::RefMan ( const RefMan< T > &  p)
inline

◆ RefMan() [3/4]

template<class T >
RefMan< T >::RefMan ( const WeakPtr< T > &  p)
inline

◆ RefMan() [4/4]

template<class T >
RefMan< T >::RefMan ( T *  p = nullptr)
inline

Member Function Documentation

◆ operator=() [1/4]

template<class T >
RefMan< T > & RefMan< T >::operator= ( const RefMan< T > &  p)
inline

◆ operator=() [2/4]

template<class T >
template<class TT >
RefMan< T > & RefMan< T >::operator= ( const RefMan< TT > &  p)
inline

◆ operator=() [3/4]

template<class T >
RefMan< T > & RefMan< T >::operator= ( const WeakPtr< T > &  p)
inline

◆ operator=() [4/4]

template<class T >
RefMan<T>& RefMan< T >::operator= ( T *  p)
inline

◆ ref()

template<class T >
void RefMan< T >::ref ( T *  p)
inlinestaticprivate

◆ setNoDelete()

template<class T >
void RefMan< T >::setNoDelete ( bool  yn)
inline

◆ unRef()

template<class T >
void RefMan< T >::unRef ( T *  p)
inlinestaticprivate

◆ unRefNoDelete()

template<class T >
void RefMan< T >::unRefNoDelete ( T *  p)
inlinestaticprivate

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2022