|
|
| Array () |
| Constructor for an empty array.
|
|
| Array (const std::vector< size_t > &dimensions, size_t components) |
| Constructor for an array.
|
|
| Array (const ArrayDescription &desc) |
| Constructor for an array.
|
|
| Array (const ArrayContainer &container) |
| Constructor for an array.
|
|
Array | deepCopy () const |
| Construct an array and perform deep copy of data.
|
|
|
ComponentIterator | componentBegin () noexcept |
| Returns an iterator pointing to the first component of the first element.
|
|
ComponentIterator | componentEnd () noexcept |
| Returns an iterator pointing past the last component of the last element.
|
|
ElementIterator | elementBegin () noexcept |
| Returns an iterator pointing to the first element.
|
|
ElementIterator | elementEnd () noexcept |
| Returns an iterator pointing past the last element.
|
|
ConstComponentIterator | constComponentBegin () const noexcept |
| Returns an iterator pointing to the first component of the first element.
|
|
ConstComponentIterator | constComponentEnd () const noexcept |
| Returns an iterator pointing past the last component of the last element.
|
|
ConstElementIterator | constElementBegin () const noexcept |
| Returns an iterator pointing to the first element.
|
|
ConstElementIterator | constElementEnd () const noexcept |
| Returns an iterator pointing past the last element.
|
|
|
const T * | operator[] (size_t elementIndex) const |
| Returns a pointer to the element with index elementIndex.
|
|
const T * | operator[] (const std::vector< size_t > &elementIndex) const |
| Returns a pointer to the element with index elementIndex.
|
|
const T * | operator[] (const std::initializer_list< size_t > &elementIndex) const |
| Returns a pointer to the element with index elementIndex.
|
|
T * | operator[] (size_t elementIndex) |
| Returns a pointer to the element with index elementIndex.
|
|
T * | operator[] (const std::vector< size_t > &elementIndex) |
| Returns a pointer to the element with index elementIndex.
|
|
T * | operator[] (const std::initializer_list< size_t > &elementIndex) |
| Returns a pointer to the element with index elementIndex.
|
|
| ArrayContainer () |
| Constructor for an empty array container.
|
|
| ArrayContainer (const ArrayDescription &desc) |
| Constructor for an array container.
|
|
| ArrayContainer (const std::vector< size_t > &dimensions, size_t components, Type componentType) |
| Constructor for an array container.
|
|
ArrayContainer | deepCopy () const |
| Construct an array and perform deep copy of data.
|
|
const void * | data () const |
| Returns a pointer to the data. This will return a null pointer as long as the data was not allocated yet; see allocateData().
|
|
void * | data () |
| Returns a pointer to the data. This will return a null pointer as long as the data was not allocated yet; see allocateData().
|
|
template<typename T > |
const T * | get (size_t elementIndex) const |
| Returns a pointer to the element with index elementIndex. Note that the data must be allocated, see createData().
|
|
template<typename T > |
const T * | get (const std::vector< size_t > &elementIndex) const |
| Returns a pointer to the element with index elementIndex. Note that the data must be allocated, see createData().
|
|
template<typename T > |
const T * | get (const std::initializer_list< size_t > &elementIndex) const |
| Returns a pointer to the element with index elementIndex. Note that the data must be allocated, see createData().
|
|
template<typename T > |
T * | get (size_t elementIndex) |
| Returns a pointer to the element with index elementIndex. Note that the data must be allocated, see createData().
|
|
template<typename T > |
T * | get (const std::vector< size_t > &elementIndex) |
| Returns a pointer to the element with index elementIndex. Note that the data must be allocated, see createData().
|
|
template<typename T > |
T * | get (const std::initializer_list< size_t > &elementIndex) |
| Returns a pointer to the element with index elementIndex. Note that the data must be allocated, see createData().
|
|
template<typename T > |
void | set (size_t elementIndex, const std::vector< T > &elementValue) |
| Sets the components of the element with index elementIndex to the given values.
|
|
template<typename T > |
void | set (size_t elementIndex, const std::initializer_list< T > &elementValue) |
| Sets the components of the element with index elementIndex to the given values.
|
|
template<typename T > |
void | set (const std::vector< size_t > &elementIndex, const std::vector< T > &elementValue) |
| Sets the components of the element with index elementIndex to the given values.
|
|
template<typename T > |
void | set (const std::vector< size_t > &elementIndex, const std::initializer_list< T > &elementValue) |
| Sets the components of the element with index elementIndex to the given values.
|
|
template<typename T > |
void | set (const std::initializer_list< size_t > &elementIndex, const std::vector< T > &elementValue) |
| Sets the components of the element with index elementIndex to the given values.
|
|
template<typename T > |
void | set (const std::initializer_list< size_t > &elementIndex, const std::initializer_list< T > &elementValue) |
| Sets the components of the element with index elementIndex to the given values.
|
|
template<typename T > |
T | get (size_t elementIndex, size_t componentIndex) const |
| Returns the value of the component with index componentIndex within the element with index elementIndex.
|
|
template<typename T > |
T | get (const std::vector< size_t > &elementIndex, size_t componentIndex) const |
| Returns the value of the component with index componentIndex within the element with index elementIndex.
|
|
template<typename T > |
T | get (const std::initializer_list< size_t > &elementIndex, size_t componentIndex) const |
| Returns the value of the component with index componentIndex within the element with index elementIndex.
|
|
template<typename T > |
void | set (size_t elementIndex, size_t componentIndex, T value) |
| Sets the component with index componentIndex within the element with index elementIndex to value.
|
|
template<typename T > |
void | set (const std::vector< size_t > &elementIndex, size_t componentIndex, T value) |
| Sets the component with index componentIndex within the element with index elementIndex to value.
|
|
template<typename T > |
void | set (const std::initializer_list< size_t > &elementIndex, size_t componentIndex, T value) |
| Sets the component with index componentIndex within the element with index elementIndex to value.
|
|
| ArrayDescription () |
| Constructor for an empty array description.
|
|
| ArrayDescription (const std::vector< size_t > &dimensions, size_t componentCount, Type componentType) |
| Constructor for an array description.
|
|
| ArrayDescription (const ArrayDescription &descr, Type type) |
| Constructor for an array description.
|
|
size_t | dimensionCount () const |
| Returns the number of dimensions.
|
|
size_t | dimension (size_t d) const |
| Returns the size of dimension d.
|
|
const std::vector< size_t > & | dimensions () const |
| Returns the list of dimensions.
|
|
size_t | componentCount () const |
| Returns the number of components in each element.
|
|
Type | componentType () const |
| Returns the type represented by each element component.
|
|
size_t | componentSize () const |
| Returns the size of a component.
|
|
size_t | elementSize () const |
| Returns the size of an element.
|
|
size_t | elementCount () const |
| Returns the number of elements in the array.
|
|
size_t | dataSize () const |
| Returns the total data size.
|
|
bool | isCompatible (const ArrayDescription &a) const |
| Returns whether the dimensions and components of array match those of this array.
|
|
const ArrayDescription & | description () const |
| Returns this as a description. This is useful for derived classes.
|
|
size_t | toLinearIndex (const std::vector< size_t > &elementIndex) const |
| Convert the given multidimensional element index to a linear element index. For example, for a 800x600 array, the multidimensional index { 1, 1 } is converted to linear index 601.
|
|
size_t | toLinearIndex (const std::initializer_list< size_t > &elementIndex) const |
| Convert the given multidimensional element index to a linear element index. For example, for a 800x600 array, the multidimensional index { 1, 1 } is converted to linear index 601.
|
|
void | toVectorIndex (size_t elementIndex, size_t *vectorIndex) const |
| Convert the given linear element index to a multidimensional index. For example, for a 800x600 array, the linear index 601 is converted to the multidimensional index { 1, 1 }.
|
|
size_t | elementOffset (size_t elementIndex) const |
| Returns the offset of the element with index elementIndex within the data.
|
|
size_t | elementOffset (const std::vector< size_t > &elementIndex) const |
| Returns the offset of the element with index elementIndex within the data.
|
|
size_t | elementOffset (const std::initializer_list< size_t > &elementIndex) const |
| Returns the offset of the element with index elementIndex within the data.
|
|
size_t | componentOffset (size_t componentIndex) const |
| Returns the offset of the component with index componentIndex within an array element.
|
|
size_t | componentOffset (size_t elementIndex, size_t componentIndex) const |
| Returns the offset of the component with index componentIndex in the element with index elementIndex within an array element.
|
|
size_t | componentOffset (const std::vector< size_t > &elementIndex, size_t componentIndex) const |
| Returns the offset of the component with index componentIndex in the element with index elementIndex within an array element.
|
|
size_t | componentOffset (const std::initializer_list< size_t > &elementIndex, size_t componentIndex) const |
| Returns the offset of the component with index componentIndex in the element with index elementIndex within an array element.
|
|
const TagList & | globalTagList () const |
| Returns the global tag list.
|
|
TagList & | globalTagList () |
| Returns the global tag list.
|
|
const TagList & | dimensionTagList (size_t d) const |
| Returns the tag list for dimension d.
|
|
TagList & | dimensionTagList (size_t d) |
| Returns the tag list for dimension d.
|
|
const TagList & | componentTagList (size_t c) const |
| Returns the tag list for component c.
|
|
TagList & | componentTagList (size_t c) |
| Returns the tag list for component c.
|
|
template<typename T>
class TGD::Array< T >
An Array with a specific component data type given the template parameter. This is the main class to work with since it allows useful for operations on arrays (e.g. component-wise addition) and provides iterators.