Workspace 6.21.5
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
Array3dData< T > Class Template Reference

#include <DataAnalysis/DataStructures/array3ddata.h>

Inheritance diagram for Array3dData< T >:
[legend]

Classes

class  const_iterator
 
class  iterator
 

Public Types

using const_reference = const T &
 
using pointer = T *
 
using reference = T &
 
typedef T value_type
 

Public Member Functions

 Array3dData ()
 
 Array3dData (const Array3dData &)
 
 Array3dData (const unsigned *dimensions, const T &initialValue=T())
 
 Array3dData (unsigned x, unsigned y, unsigned z=1, const T &initialValue=T())
 
 ~Array3dData () override
 
T & back ()
 
const T & back () const
 
iterator begin ()
 
const_iterator begin () const
 
qint64 cacheKey () const
 
Array3dDataclone () const
 
unsigned dimension (unsigned i) const
 
bool empty () const
 
iterator end ()
 
const_iterator end () const
 
T & front ()
 
const T & front () const
 
bool operator!= (const Array3dData &matrix) const
 
T & operator() (unsigned x, unsigned y, unsigned z=0)
 
const T & operator() (unsigned x, unsigned y, unsigned z=0) const
 
Array3dDataoperator= (const Array3dData &)
 
bool operator== (const Array3dData &) const
 
void resize (unsigned x, unsigned y, unsigned z, const T &initialValue=T())
 
unsigned size () const
 
unsigned sizeX () const
 
unsigned sizeY () const
 
unsigned sizeZ () const
 
- Public Member Functions inherited from Array3dDataBase
virtual ~Array3dDataBase ()=default
 
Array3dDataBaseoperator= (const Array3dDataBase &)=default
 

Protected Member Functions

unsigned getIndex (unsigned x, unsigned y, unsigned z) const
 

Protected Attributes

quint64 cacheKey_
 
PartitionedVector< T > cells_
 
unsigned dimensions_ [3] {}
 

Static Protected Attributes

static const unsigned DEFAULT_VECTOR_BLOCK_SIZE = 100000
 

Detailed Description

template<class T>
class CSIRO::DataAnalysis::Array3dData< T >

Template class for creating an 3-dimensional (N x N x N) matrix of a given type. Only used to ensure that all of the data matrix types use the same internal implementation. The implementation uses the PartitionedVector, which acts as a single dimensional array, but partitioned into multiple blocks of memory.

Member Typedef Documentation

◆ const_reference

using const_reference = const T&

◆ pointer

using pointer = T*

◆ reference

using reference = T&

◆ value_type

typedef T value_type

Constructor & Destructor Documentation

◆ Array3dData() [1/4]

◆ Array3dData() [2/4]

Array3dData ( const Array3dData< T > &  matrix)

◆ Array3dData() [3/4]

Array3dData ( const unsigned *  dimensions,
const T &  initialValue = T() 
)

◆ Array3dData() [4/4]

Array3dData ( unsigned  x,
unsigned  y,
unsigned  z = 1,
const T &  initialValue = T() 
)

◆ ~Array3dData()

~Array3dData
override

Member Function Documentation

◆ back() [1/2]

T & back ( )
inline

◆ back() [2/2]

const T & back ( ) const
inline

◆ begin() [1/2]

iterator begin ( )
inline

◆ begin() [2/2]

const_iterator begin ( ) const
inline

◆ cacheKey()

qint64 cacheKey

Generates a cache key, which is effectively a hash of the data matrix's contents.

◆ clone()

Array3dData< T > * clone

◆ dimension()

unsigned dimension ( unsigned  i) const
inline

◆ empty()

bool empty ( ) const
inline

◆ end() [1/2]

iterator end ( )
inline

◆ end() [2/2]

const_iterator end ( ) const
inline

◆ front() [1/2]

T & front ( )
inline

◆ front() [2/2]

const T & front ( ) const
inline

◆ getIndex()

unsigned getIndex ( unsigned  x,
unsigned  y,
unsigned  z 
) const
inlineprotected

◆ operator!=()

bool operator!= ( const Array3dData< T > &  matrix) const
inline

◆ operator()() [1/2]

T & operator() ( unsigned  x,
unsigned  y,
unsigned  z = 0 
)

◆ operator()() [2/2]

const T & operator() ( unsigned  x,
unsigned  y,
unsigned  z = 0 
) const

◆ operator=()

Array3dData< T > & operator= ( const Array3dData< T > &  )

◆ operator==()

bool operator== ( const Array3dData< T > &  ) const

◆ resize()

void resize ( unsigned  x,
unsigned  y,
unsigned  z,
const T &  initialValue = T() 
)

◆ size()

unsigned size ( ) const
inline

◆ sizeX()

unsigned sizeX ( ) const
inline

◆ sizeY()

unsigned sizeY ( ) const
inline

◆ sizeZ()

unsigned sizeZ ( ) const
inline

Member Data Documentation

◆ cacheKey_

quint64 cacheKey_
protected

◆ cells_

PartitionedVector<T> cells_
protected

◆ DEFAULT_VECTOR_BLOCK_SIZE

const unsigned DEFAULT_VECTOR_BLOCK_SIZE = 100000
staticprotected

◆ dimensions_

unsigned dimensions_[3] {}
protected