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

Public Member Functions

 PtrMan (const PtrMan< T > &)=delete
 
 PtrMan (PtrMan< T > &&)
 
 PtrMan (T *=nullptr)
 
PtrMan< T > & operator= (const PtrMan< T > &)=delete
 
PtrMan< T > & operator= (T *p)
 
- 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 deleteFunc (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 PtrMan< T >

Smart pointer for normal pointers.

<>

Constructor & Destructor Documentation

◆ PtrMan() [1/3]

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

◆ PtrMan() [2/3]

template<class T >
PtrMan< T >::PtrMan ( PtrMan< T > &&  p)
inline

◆ PtrMan() [3/3]

template<class T >
PtrMan< T >::PtrMan ( const PtrMan< T > &  )
delete

Member Function Documentation

◆ deleteFunc()

template<class T >
static void PtrMan< T >::deleteFunc ( T *  p)
inlinestaticprivate

◆ operator=() [1/2]

template<class T >
PtrMan<T>& PtrMan< T >::operator= ( const PtrMan< T > &  )
delete

◆ operator=() [2/2]

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

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