OpendTect  7.0
Public Member Functions | Protected Member Functions | List of all members
ArrayND< T > Class Template Referenceabstract

An ArrayND is an array with a given number of dimensions and a size. More...

Inheritance diagram for ArrayND< T >:
[legend]

Public Member Functions

virtual ~ArrayND ()
 
virtual bool canChangeNrDims () const
 
virtual bool canSetInfo () const
 
virtual bool canSetStorage () const
 
virtual T * get1D (const int *)
 
virtual const T * get1D (const int *) const
 
virtual int get1DDim () const
 
virtual void getAll (T *ptr) const
 
virtual void getAll (ValueSeries< T > &vs) const
 
T * getData ()
 
const T * getData () const
 
virtual T getND (const int *) const =0
 
int getSize (int dim) const
 
ValueSeries< T > * getStorage ()
 
const ValueSeries< T > * getStorage () const
 
virtual const ArrayNDInfoinfo () const =0
 
virtual bool isEmpty () const
 
virtual bool isOK () const
 
virtual bool isSettable () const
 
int nrDims () const
 
virtual void setAll (T)
 
virtual bool setInfo (const ArrayNDInfo &)
 
virtual void setND (const int *, T)=0
 
virtual bool setStorage (ValueSeries< T > *s)
 
std::uint64_t totalSize () const
 
bool validPos (int *pos) const
 

Protected Member Functions

virtual const T * getData_ () const
 
virtual const ValueSeries< T > * getStorage_ () const
 

Detailed Description

template<class T>
class ArrayND< T >

An ArrayND is an array with a given number of dimensions and a size.

The ArrayND can be accessed via set() and get().

The ArrayND can give away a pointer to its storage, but there is no guarantee that it will. If no pointer is given, the user can copy the ArrayND by constructing an ArrayNDImpl with the original array as an argument to the constructor.

<>

Constructor & Destructor Documentation

◆ ~ArrayND()

template<class T >
virtual ArrayND< T >::~ArrayND ( )
inlinevirtual

Member Function Documentation

◆ canChangeNrDims()

template<class T >
virtual bool ArrayND< T >::canChangeNrDims ( ) const
inlinevirtual

Reimplemented in ArrayNDImpl< T >, and ArrayNDImpl< float >.

◆ canSetInfo()

template<class T >
virtual bool ArrayND< T >::canSetInfo ( ) const
inlinevirtual

◆ canSetStorage()

template<class T >
virtual bool ArrayND< T >::canSetStorage ( ) const
inlinevirtual

◆ get1D() [1/2]

template<class T >
T * ArrayND< T >::get1D ( const int *  i)
inlinevirtual

◆ get1D() [2/2]

template<class T >
const T * ArrayND< T >::get1D ( const int *  i) const
inlinevirtual

◆ get1DDim()

template<class T >
int ArrayND< T >::get1DDim
inlinevirtual

◆ getAll() [1/2]

template<class T >
void ArrayND< T >::getAll ( T *  ptr) const
inlinevirtual

Fills ptr with values from array. ptr is assumed to be allocated with info().getTotalSz() number of values.

◆ getAll() [2/2]

template<class T >
void ArrayND< T >::getAll ( ValueSeries< T > &  vs) const
inlinevirtual

Fills vs with values from array. ptr is assumed to be allocated with info().getTotalSz() number of values.

◆ getData() [1/2]

template<class T >
T * ArrayND< T >::getData
inline

◆ getData() [2/2]

template<class T >
const T* ArrayND< T >::getData ( ) const
inline

◆ getData_()

template<class T >
virtual const T* ArrayND< T >::getData_ ( ) const
inlineprotectedvirtual

◆ getND()

template<class T >
virtual T ArrayND< T >::getND ( const int *  ) const
pure virtual

◆ getSize()

template<class T >
int ArrayND< T >::getSize ( int  dim) const
inline

◆ getStorage() [1/2]

template<class T >
ValueSeries< T > * ArrayND< T >::getStorage
inline

◆ getStorage() [2/2]

template<class T >
const ValueSeries<T>* ArrayND< T >::getStorage ( ) const
inline

◆ getStorage_()

template<class T >
virtual const ValueSeries<T>* ArrayND< T >::getStorage_ ( ) const
inlineprotectedvirtual

◆ info()

template<class T >
virtual const ArrayNDInfo& ArrayND< T >::info ( ) const
pure virtual

◆ isEmpty()

template<class T >
bool ArrayND< T >::isEmpty
inlinevirtual

◆ isOK()

template<class T >
bool ArrayND< T >::isOK
inlinevirtual

◆ isSettable()

template<class T >
virtual bool ArrayND< T >::isSettable ( ) const
inlinevirtual

◆ nrDims()

template<class T >
int ArrayND< T >::nrDims ( ) const
inline

◆ setAll()

template<class T >
void ArrayND< T >::setAll ( val)
inlinevirtual

Reimplemented in Array1D< T >.

◆ setInfo()

template<class T >
virtual bool ArrayND< T >::setInfo ( const ArrayNDInfo )
inlinevirtual

◆ setND()

template<class T >
virtual void ArrayND< T >::setND ( const int *  ,
 
)
pure virtual

◆ setStorage()

template<class T >
virtual bool ArrayND< T >::setStorage ( ValueSeries< T > *  s)
inlinevirtual

◆ totalSize()

template<class T >
std::uint64_t ArrayND< T >::totalSize ( ) const
inline

◆ validPos()

template<class T >
bool ArrayND< T >::validPos ( int *  pos) const
inline

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