core/array.hpp
ArrayDescription(const std::vector<size_t>& dimensions, size_t componentCount, Type componentType) :
        _dimensions(dimensions),
        _componentCount(componentCount),
        _componentType(componentType),
        _componentSize(typeSize(componentType)),
        _elementSize(_componentCount * _componentSize),
        _elementCount(initElementCount()),
        _dimensionTagLists(dimensions.size()),
        _componentTagLists(_componentCount)
    {
    }
/*! \brief Constructor for an array description
     * \param dimensions        List of sizes, defining both the number of dimensions and the array size.
     * \param componentCount    Number of components in one array element
     * \param componentType     Data type of the components
     *
     * The array dimensions and the type and number of the element components must be specified.
     * For example, for an image with 800x600 RGB pixels one might construct the following array:
     * `Array image({ 800, 600}, 3, uint8);`
     */
\brief Constructor for an array description
\param dimensions        List of sizes, defining both the number of dimensions and the array size.
\param componentCount    Number of components in one array element
\param componentType     Data type of the components

The array dimensions and the type and number of the element components must be specified.
For example, for an image with 800x600 RGB pixels one might construct the following array:
`Array image({ 800, 600}, 3, uint8);`
\ brief Constructor for an array description \ param dimensions List of sizes defining both the number of dimensions and the array size . \ param componentCount Number of components in one array element \ param componentType Data type of the components The array dimensions and the type and number of the element components must be specified . For example for an image with 800x600 RGB pixels one might construct the following array : ` Array image ( { 800 600 } 3 uint8 ) ; `
ArrayDescription(const std::vector<size_t>& dimensions, size_t componentCount, Type componentType) :
        _dimensions(dimensions),
        _componentCount(componentCount),
        _componentType(componentType),
        _componentSize(typeSize(componentType)),
        _elementSize(_componentCount * _componentSize),
        _elementCount(initElementCount()),
        _dimensionTagLists(dimensions.size()),
        _componentTagLists(_componentCount)
    {
    }
ArrayDescription ( const std :: vector < size_t > & dimensions , size_t componentCount , Type componentType ) : _dimensions ( dimensions ) , _componentCount ( componentCount ) , _componentType ( componentType ) , _componentSize ( typeSize ( componentType ) ) , _elementSize ( _componentCount * _componentSize ) , _elementCount ( initElementCount ( ) ) , _dimensionTagLists ( dimensions . size ( ) ) , _componentTagLists ( _componentCount ) { }
\brief Constructor for an array description
 \param dimensions        List of sizes, defining both the number of dimensions and the array size.
\ brief Constructor for an array description \ param dimensions List of sizes defining both the number of dimensions and the array size .