OpendTect 8.0
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
ArrPtrMan< T > Class Template Reference

#include <ptrman.h>

Inheritance diagram for ArrPtrMan< T >:
[legend]

Public Member Functions

 ArrPtrMan (ArrPtrMan< T > &&)
 
 ArrPtrMan (T *=nullptr)
 
ArrPtrMan< T > & operator= (T *)
 
T & operator[] (int)
 
const T & operator[] (int) const
 
T & operator[] (od_int64)
 
const T & operator[] (od_int64) const
 
void setSize (od_int64 size)
 
- 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 ()
 
 operator bool ()
 
 operator bool () const
 
bool operator! () const
 
template<class TT >
bool operator== (const PtrManBase< TT > &) const =delete
 
T * release ()
 Returns pointer. I won't take care of it any longer.
 
T * set (T *p, bool doerase=true)
 Returns old pointer if not erased.
 
bool setIfNull (T *p)
 
bool setIfNull (T *p, bool takeover)
 

Private Member Functions

 ArrPtrMan (const ArrPtrMan< T > &)=delete
 
ArrPtrMan< T > & operator= (const ArrPtrMan< T > &)=delete
 

Static Private Member Functions

static void deleteFunc (T *p)
 

Private Attributes

od_int64 size_
 

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 ArrPtrMan< T >

Smart pointer for pointers allocated as arrays.

<>

Constructor & Destructor Documentation

◆ ArrPtrMan() [1/3]

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

◆ ArrPtrMan() [2/3]

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

◆ ArrPtrMan() [3/3]

template<class T >
ArrPtrMan< T >::ArrPtrMan ( const ArrPtrMan< T > & )
privatedelete

Member Function Documentation

◆ deleteFunc()

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

◆ operator=() [1/2]

template<class T >
ArrPtrMan< T > & ArrPtrMan< T >::operator= ( const ArrPtrMan< T > & )
privatedelete

◆ operator=() [2/2]

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

◆ operator[]() [1/4]

template<class T >
T & ArrPtrMan< T >::operator[] ( int idx)
inline

◆ operator[]() [2/4]

template<class T >
const T & ArrPtrMan< T >::operator[] ( int idx) const
inline

◆ operator[]() [3/4]

template<class T >
T & ArrPtrMan< T >::operator[] ( od_int64 idx)
inline

◆ operator[]() [4/4]

template<class T >
const T & ArrPtrMan< T >::operator[] ( od_int64 idx) const
inline

◆ setSize()

template<class T >
void ArrPtrMan< T >::setSize ( od_int64 size)
inline

Member Data Documentation

◆ size_

template<class T >
od_int64 ArrPtrMan< T >::size_
private

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