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

Flat-array implementation of Array4D. More...

#include <arrayndimpl.h>

Inheritance diagram for Array4DImpl< T >:
[legend]

Public Member Functions

 Array4DImpl (const Array4D< T > &)
 
 Array4DImpl (const Array4DImpl< T > &)
 
 Array4DImpl (const Array4DInfo &)
 
 Array4DImpl (int, int, int, int)
 
 ~Array4DImpl ()
 
bool canSetInfo () const override
 
bool canSetStorage () const override
 
void copyFrom (const Array4D< T > &)
 
get (int, int, int, int) const override
 
const T **** get4DData () const override
 
T **** get4DData () override
 
const Array4DInfoinfo () const override
 
bool isOK () const override
 
Array4DImpl< T > & operator= (const Array4D< T > &ai)
 
Array4DImpl< T > & operator= (const Array4DImpl< T > &ai)
 
void set (int, int, int, int, T) override
 
void setEmpty () override
 
bool setInfo (const ArrayNDInfo &) override
 
bool setSize (int, int, int, int)
 
bool setStorage (ValueSeries< T > *) override
 
- Public Member Functions inherited from Array4D< T >
getND (const int *pos) const override
 
void setND (const int *pos, T v) override
 
- Public Member Functions inherited from ArrayND< T >
virtual ~ArrayND ()
 
virtual bool canChangeNrDims () 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
 
int getSize (int dim) const
 
ValueSeries< T > * getStorage ()
 
const ValueSeries< T > * getStorage () const
 
virtual bool isEmpty () const
 
virtual bool isSettable () const
 
int nrDims () const
 
virtual void setAll (T)
 
virtual void setData (const T *)
 
od_uint64 totalSize () const
 
bool validPos (int *pos) const
 

Protected Member Functions

void eraseCache ()
 
const T * getData_ () const override
 
const ValueSeries< T > * getStorage_ () const override
 
od_int64 getStorageSize () const override
 
void updateCachePointers ()
 
void updateStorage ()
 
- Protected Member Functions inherited from ArrayImplBase< T >
 ArrayImplBase ()
 
 ~ArrayImplBase ()
 
bool getDataFrom (const ArrayND< T > &templ)
 
bool setStorageInternal (ValueSeries< T > *)
 
bool setStorageNoResize (ValueSeries< T > *)
 
bool storageOK () const
 
bool updateStorageSize ()
 

Protected Attributes

T **** arr4d_ = nullptr
 
TypeSet< T *** > cachestor_
 
Array4DInfoImpl inf_
 
- Protected Attributes inherited from ArrayImplBase< T >
T * ptr_ = nullptr
 
ValueSeries< T > * stor_ = nullptr
 

Private Types

typedef ArrayImplBase< T > base
 

Additional Inherited Members

- Public Types inherited from Array4D< T >
typedef ArrayNDInfo::dim_idx_type dim_idx_type
 
typedef ArrayNDInfo::idx_type idx_type
 
typedef ArrayNDInfo::NDPos NDPos
 
typedef ArrayNDInfo::NDPosBuf NDPosBuf
 
typedef ArrayNDInfo::NDSize NDSize
 
typedef ArrayNDInfo::nr_dims_type nr_dims_type
 
typedef ArrayNDInfo::offset_type offset_type
 
typedef ArrayNDInfo::size_type size_type
 
typedef ArrayNDInfo::total_size_type total_size_type
 

Detailed Description

template<class T>
class Array4DImpl< T >

Flat-array implementation of Array4D.

<>

Member Typedef Documentation

◆ base

template<class T >
typedef ArrayImplBase<T> Array4DImpl< T >::base
private

Constructor & Destructor Documentation

◆ Array4DImpl() [1/4]

template<class T >
Array4DImpl< T >::Array4DImpl ( int sz0,
int sz1,
int sz2,
int sz3 )
inline

◆ Array4DImpl() [2/4]

template<class T >
Array4DImpl< T >::Array4DImpl ( const Array4DInfo & nsz)
inline

◆ Array4DImpl() [3/4]

template<class T >
Array4DImpl< T >::Array4DImpl ( const Array4D< T > & templ)
inline

◆ Array4DImpl() [4/4]

template<class T >
Array4DImpl< T >::Array4DImpl ( const Array4DImpl< T > & templ)
inline

◆ ~Array4DImpl()

template<class T >
Array4DImpl< T >::~Array4DImpl ( )
inline

Member Function Documentation

◆ canSetInfo()

template<class T >
bool Array4DImpl< T >::canSetInfo ( ) const
inlineoverridevirtual

Reimplemented from ArrayND< T >.

◆ canSetStorage()

template<class T >
bool Array4DImpl< T >::canSetStorage ( ) const
inlineoverridevirtual

Reimplemented from ArrayND< T >.

◆ copyFrom()

template<class T >
void Array4DImpl< T >::copyFrom ( const Array4D< T > & templ)
inline

◆ eraseCache()

template<class T >
void Array4DImpl< T >::eraseCache ( )
inlineprotected

◆ get()

template<class T >
T Array4DImpl< T >::get ( int p0,
int p1,
int p2,
int p3 ) const
inlineoverridevirtual

Implements Array4D< T >.

◆ get4DData() [1/2]

template<class T >
const T **** Array4DImpl< T >::get4DData ( ) const
inlineoverridevirtual

Reimplemented from Array4D< T >.

◆ get4DData() [2/2]

template<class T >
T **** Array4DImpl< T >::get4DData ( )
inlineoverridevirtual

Reimplemented from Array4D< T >.

◆ getData_()

template<class T >
const T * Array4DImpl< T >::getData_ ( ) const
inlineoverrideprotectedvirtual

Reimplemented from ArrayND< T >.

◆ getStorage_()

template<class T >
const ValueSeries< T > * Array4DImpl< T >::getStorage_ ( ) const
inlineoverrideprotectedvirtual

Reimplemented from ArrayND< T >.

◆ getStorageSize()

template<class T >
od_int64 Array4DImpl< T >::getStorageSize ( ) const
inlineoverrideprotectedvirtual

Implements ArrayImplBase< T >.

◆ info()

template<class T >
const Array4DInfo & Array4DImpl< T >::info ( ) const
inlineoverridevirtual

Implements Array4D< T >.

◆ isOK()

template<class T >
bool Array4DImpl< T >::isOK ( ) const
inlineoverridevirtual

Reimplemented from ArrayND< T >.

◆ operator=() [1/2]

template<class T >
Array4DImpl< T > & Array4DImpl< T >::operator= ( const Array4D< T > & ai)
inline

◆ operator=() [2/2]

template<class T >
Array4DImpl< T > & Array4DImpl< T >::operator= ( const Array4DImpl< T > & ai)
inline

◆ set()

template<class T >
void Array4DImpl< T >::set ( int p0,
int p1,
int p2,
int p3,
T v )
inlineoverridevirtual

Implements Array4D< T >.

◆ setEmpty()

template<class T >
void Array4DImpl< T >::setEmpty ( )
inlineoverridevirtual

Reimplemented from ArrayND< T >.

◆ setInfo()

template<class T >
bool Array4DImpl< T >::setInfo ( const ArrayNDInfo & ni)
inlineoverridevirtual

Reimplemented from ArrayND< T >.

◆ setSize()

template<class T >
bool Array4DImpl< T >::setSize ( int d0,
int d1,
int d2,
int d3 )
inline

◆ setStorage()

template<class T >
bool Array4DImpl< T >::setStorage ( ValueSeries< T > * s)
inlineoverridevirtual

becomes mine. The size must be settable, or I return false.

Reimplemented from ArrayND< T >.

◆ updateCachePointers()

template<class T >
void Array4DImpl< T >::updateCachePointers ( )
inlineprotected

◆ updateStorage()

template<class T >
void Array4DImpl< T >::updateStorage ( )
inlineprotected

Member Data Documentation

◆ arr4d_

template<class T >
T**** Array4DImpl< T >::arr4d_ = nullptr
protected

◆ cachestor_

template<class T >
TypeSet<T***> Array4DImpl< T >::cachestor_
protected

◆ inf_

template<class T >
Array4DInfoImpl Array4DImpl< T >::inf_
protected

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