ICF 3.1.1.10
Technical documentation of ICF Libraries
istd::TArray< Element, Dimensions > Class Template Reference

Multidimensional array with fixed number of dimensions. More...

#include <TArray.h>

Collaboration diagram for istd::TArray< Element, Dimensions >:

Classes

class  iterator
 

Public Types

typedef TIndex< Dimensions > IndexType
 
typedef TIndex< Dimensions > SizesType
 
typedef Element ElementType
 

Public Member Functions

 TArray ()
 
 TArray (TArray &&array)=default
 
 TArray (const TArray &array)=default
 
 TArray (const SizesType &sizes)
 
void Reset ()
 Removes all elements and set all sizes to 0.
 
bool IsEmpty () const
 Check if this array has no elements.
 
bool IsDimensionsCountFixed () const
 Check, if number dimensions is fixed.
 
int GetDimensionsCount () const
 Get number of dimensions of this array.
 
bool SetDimensionsCount (int count)
 Set number of dimensions of this array.
 
const SizesTypeGetSizes () const
 Get list of all sizes.
 
bool SetSizes (const SizesType &sizes)
 Set list of all sizes.
 
int GetSize (int dimension) const
 Get size of array for specified dimension.
 
bool SetSize (int dimension, int size)
 Set size of array for specified dimension.
 
const Element & GetAt (const IndexType &index) const
 Get element stored at specified index.
 
Element & GetAtRef (const IndexType &index)
 Get reference to element stored at specified index.
 
void SetAt (const IndexType &index, const Element &value)
 Set element at specified index.
 
void SetAllElements (const Element &value)
 Set some value to all elements.
 
iterator begin () const
 Get begin value of element access iterator.
 
const iteratorend () const
 Get end value of element access iterator.
 
TArrayoperator= (TArray &&array)=default
 
TArrayoperator= (const TArray &array)=default
 
bool operator== (const TArray< Element, Dimensions > &value) const
 
bool operator!= (const TArray< Element, Dimensions > &value) const
 
const Element & operator[] (const IndexType &index) const
 
Element & operator[] (const IndexType &index)
 

Protected Types

typedef std::vector< Element > Elements
 

Protected Member Functions

int GetElementIndex (const IndexType &index) const
 Get index of element in one dimensional array.
 
void UpdateElementsSize ()
 Update size of elements to size changes.
 
void DeepCopy (const Elements &elements, const SizesType &sizes)
 

Protected Attributes

SizesType m_sizes
 
Elements m_elements
 

Detailed Description

template<class Element, int Dimensions>
class istd::TArray< Element, Dimensions >

Multidimensional array with fixed number of dimensions.

Definition at line 27 of file TArray.h.

Member Typedef Documentation

◆ Elements

template<class Element , int Dimensions>
std::vector<Element> istd::TArray< Element, Dimensions >::Elements
protected

Definition at line 166 of file TArray.h.

◆ ElementType

template<class Element , int Dimensions>
Element istd::TArray< Element, Dimensions >::ElementType

Definition at line 32 of file TArray.h.

◆ IndexType

template<class Element , int Dimensions>
TIndex<Dimensions> istd::TArray< Element, Dimensions >::IndexType

Definition at line 30 of file TArray.h.

◆ SizesType

template<class Element , int Dimensions>
TIndex<Dimensions> istd::TArray< Element, Dimensions >::SizesType

Definition at line 31 of file TArray.h.

Constructor & Destructor Documentation

◆ TArray() [1/4]

template<class Element , int Dimensions>
istd::TArray< Element, Dimensions >::TArray ( )

Definition at line 326 of file TArray.h.

◆ TArray() [2/4]

template<class Element , int Dimensions>
istd::TArray< Element, Dimensions >::TArray ( TArray< Element, Dimensions > && array)
default

◆ TArray() [3/4]

template<class Element , int Dimensions>
istd::TArray< Element, Dimensions >::TArray ( const TArray< Element, Dimensions > & array)
default

◆ TArray() [4/4]

template<class Element , int Dimensions>
istd::TArray< Element, Dimensions >::TArray ( const SizesType & sizes)
explicit

Member Function Documentation

◆ begin()

template<class Element , int Dimensions>
TArray< Element, Dimensions >::iterator istd::TArray< Element, Dimensions >::begin ( ) const

Get begin value of element access iterator.

Please refer to general description of ICF iterators, STL iterators or Qt iterators concept.

Definition at line 273 of file TArray.h.

◆ DeepCopy()

template<class Element , int Dimensions>
void istd::TArray< Element, Dimensions >::DeepCopy ( const Elements & elements,
const SizesType & sizes )
protected

Definition at line 418 of file TArray.h.

◆ end()

template<class Element , int Dimensions>
const TArray< Element, Dimensions >::iterator & istd::TArray< Element, Dimensions >::end ( ) const

Get end value of element access iterator.

Please refer to general description of ICF iterators, STL iterators or Qt iterators concept.

Definition at line 280 of file TArray.h.

◆ GetAt()

template<class Element , int Dimensions>
const Element & istd::TArray< Element, Dimensions >::GetAt ( const IndexType & index) const
inline

◆ GetAtRef()

template<class Element , int Dimensions>
Element & istd::TArray< Element, Dimensions >::GetAtRef ( const IndexType & index)
inline

Get reference to element stored at specified index.

Definition at line 247 of file TArray.h.

References istd::TIndex< Dimensions >::IsInside().

◆ GetDimensionsCount()

template<class Element , int Dimensions>
int istd::TArray< Element, Dimensions >::GetDimensionsCount ( ) const
inline

Get number of dimensions of this array.

Definition at line 204 of file TArray.h.

◆ GetElementIndex()

template<class Element , int Dimensions>
int istd::TArray< Element, Dimensions >::GetElementIndex ( const IndexType & index) const
inlineprotected

Get index of element in one dimensional array.

Definition at line 306 of file TArray.h.

◆ GetSize()

template<class Element , int Dimensions>
int istd::TArray< Element, Dimensions >::GetSize ( int dimension) const
inline

Get size of array for specified dimension.

Definition at line 225 of file TArray.h.

◆ GetSizes()

◆ IsDimensionsCountFixed()

template<class Element , int Dimensions>
bool istd::TArray< Element, Dimensions >::IsDimensionsCountFixed ( ) const
inline

Check, if number dimensions is fixed.

It is provided for template implementations. It returns always true.

Definition at line 197 of file TArray.h.

◆ IsEmpty()

template<class Element , int Dimensions>
bool istd::TArray< Element, Dimensions >::IsEmpty ( ) const

Check if this array has no elements.

Definition at line 190 of file TArray.h.

References istd::TIndex< Dimensions >::IsSizeEmpty().

◆ operator!=()

template<class Element , int Dimensions>
bool istd::TArray< Element, Dimensions >::operator!= ( const TArray< Element, Dimensions > & value) const

◆ operator=() [1/2]

template<class Element , int Dimensions>
TArray & istd::TArray< Element, Dimensions >::operator= ( const TArray< Element, Dimensions > & array)
default

◆ operator=() [2/2]

template<class Element , int Dimensions>
TArray & istd::TArray< Element, Dimensions >::operator= ( TArray< Element, Dimensions > && array)
default

◆ operator==()

template<class Element , int Dimensions>
bool istd::TArray< Element, Dimensions >::operator== ( const TArray< Element, Dimensions > & value) const

◆ operator[]() [1/2]

template<class Element , int Dimensions>
Element & istd::TArray< Element, Dimensions >::operator[] ( const IndexType & index)
inline

Definition at line 294 of file TArray.h.

◆ operator[]() [2/2]

template<class Element , int Dimensions>
const Element & istd::TArray< Element, Dimensions >::operator[] ( const IndexType & index) const
inline

Definition at line 287 of file TArray.h.

◆ Reset()

template<class Element , int Dimensions>
void istd::TArray< Element, Dimensions >::Reset ( )

Removes all elements and set all sizes to 0.

Definition at line 343 of file TArray.h.

◆ SetAllElements()

template<class Element , int Dimensions>
void istd::TArray< Element, Dimensions >::SetAllElements ( const Element & value)

Set some value to all elements.

Definition at line 377 of file TArray.h.

◆ SetAt()

template<class Element , int Dimensions>
void istd::TArray< Element, Dimensions >::SetAt ( const IndexType & index,
const Element & value )
inline

◆ SetDimensionsCount()

template<class Element , int Dimensions>
bool istd::TArray< Element, Dimensions >::SetDimensionsCount ( int count)
inline

Set number of dimensions of this array.

This is only dummy method, to provide methods compatibility with template implementations.

Parameters
countnumber of dimensions will be set.
Returns
true, if number of set dimensions equals template parameter, or false if isn't.

Definition at line 211 of file TArray.h.

◆ SetSize()

template<class Element , int Dimensions>
bool istd::TArray< Element, Dimensions >::SetSize ( int dimension,
int size )

Set size of array for specified dimension.

Please note, that it can make all elements invalid.

Returns
always true, it is provided for generic implementations.

Definition at line 363 of file TArray.h.

◆ SetSizes()

template<class Element , int Dimensions>
bool istd::TArray< Element, Dimensions >::SetSizes ( const SizesType & sizes)

Set list of all sizes.

Returns
always true, it is provided for generic implementations.

Definition at line 352 of file TArray.h.

Referenced by imath::TMultidimensionalPolynomial< Dimensions, Element >::ApproximateCoefficientsFromFulcrums().

◆ UpdateElementsSize()

template<class Element , int Dimensions>
void istd::TArray< Element, Dimensions >::UpdateElementsSize ( )
protected

Update size of elements to size changes.

Definition at line 406 of file TArray.h.

Referenced by istd::TArray< Element, Dimensions >::TArray().

Member Data Documentation

◆ m_elements

template<class Element , int Dimensions>
Elements istd::TArray< Element, Dimensions >::m_elements
protected

◆ m_sizes

template<class Element , int Dimensions>
SizesType istd::TArray< Element, Dimensions >::m_sizes
protected

The documentation for this class was generated from the following file:

© Witold Gantzke and Kirill Lepskiy