![]() |
LibraryLink Utilities
3.0.1
Modern C++ wrapper over LibraryLink and WSTP
|
This is a class template, where template parameter T is the type of data elements. MArray is the base class for NumericArray, Tensor and Image.
Each MArray<T> is an abstract class, it provides common interface to NumericArrays, Tensors and Images. One of the biggest benefits is that this interface contains iterators over underlying data together with begin() and end() member functions which makes it possible to use containers derived from MArray directly in many functions from standard library <algorithms>.
| T | - type of underlying data |
Inheritance diagram for LLU::MArray< T >:
Collaboration diagram for LLU::MArray< T >:#include <MArray.hpp>
Public Types | |
| using | value_type = T |
| Type of elements stored. More... | |
| using | iterator = value_type * |
| Iterator type. More... | |
| using | const_iterator = const value_type * |
| Constant iterator type. More... | |
| using | reverse_iterator = std::reverse_iterator< iterator > |
| Reverse iterator type. More... | |
| using | const_reverse_iterator = std::reverse_iterator< const_iterator > |
| Constant reverse iterator type. More... | |
| using | reference = value_type & |
| Reference type. More... | |
| using | const_reference = const value_type & |
| Constant reference type. More... | |
Public Member Functions | |
| MArray (MArrayDimensions d) | |
| Create new MArray given the dimensions object. More... | |
| template<typename U > | |
| MArray (const MArray< U > &other) | |
| Converts given MArray of type U into MArray of type T. More... | |
| mint | rank () const noexcept |
| Get container rank. More... | |
| bool | empty () const noexcept |
| Check whether container is empty. More... | |
| mint | dimension (mint index) const |
Get dimension value at position index. More... | |
| const MArrayDimensions & | dimensions () const |
| Get a const reference to dimensions object. More... | |
| T & | operator[] (const std::vector< mint > &indices) |
| Get a reference to the data element at given position in a multidimensional container. More... | |
| const T & | operator[] (const std::vector< mint > &indices) const |
| Get a constant reference to the data element at given position in a multidimensional container. More... | |
| T & | at (mint index) |
| Get a reference to the data element at given position with bound checking. More... | |
| const T & | at (mint index) const |
| Get a constant reference to the data element at given position with bound checking. More... | |
| T & | at (const std::vector< mint > &indices) |
| Get a reference to the data element at given position in a multidimensional container. More... | |
| const T & | at (const std::vector< mint > &indices) const |
| Get a constant reference to the data element at given position in a multidimensional container. More... | |
| value_type * | data () noexcept |
| Get raw pointer to underlying data. More... | |
| const value_type * | data () const noexcept |
| Get raw pointer to const underlying data. More... | |
| mint | size () const noexcept |
| Get total number of elements in the container. More... | |
| iterator | begin () noexcept |
| Get iterator at the beginning of underlying data. More... | |
| const_iterator | begin () const noexcept |
| Get constant iterator at the beginning of underlying data. More... | |
| const_iterator | cbegin () const noexcept |
| Get constant iterator at the beginning of underlying data. More... | |
| iterator | end () noexcept |
| Get iterator after the end of underlying data. More... | |
| const_iterator | end () const noexcept |
| Get constant iterator after the end of underlying data. More... | |
| const_iterator | cend () const noexcept |
| Get constant iterator after the end of underlying data. More... | |
| reverse_iterator | rbegin () noexcept |
| Get iterator at the beginning of underlying data. More... | |
| const_reverse_iterator | rbegin () const noexcept |
| Get constant iterator at the beginning of underlying data. More... | |
| const_reverse_iterator | crbegin () const noexcept |
| Get constant iterator at the beginning of underlying data. More... | |
| reverse_iterator | rend () noexcept |
| Get iterator after the end of underlying data. More... | |
| const_reverse_iterator | rend () const noexcept |
| Get constant iterator after the end of underlying data. More... | |
| const_reverse_iterator | crend () const noexcept |
| Get constant iterator after the end of underlying data. More... | |
| reference | operator[] (mint index) |
| Get a reference to the data element at given position. More... | |
| const_reference | operator[] (mint index) const |
| Get a constant reference to the data element at given position. More... | |
| reference | front () |
| Get reference to the first element. More... | |
| const_reference | front () const |
| Get constant reference to the first element. More... | |
| reference | back () |
| Get reference to the last element. More... | |
| const_reference | back () const |
| Get constant reference to the last element. More... | |
| std::vector< value_type > | asVector () const |
| Copy contents of the data to a std::vector of matching type. More... | |
|
inherited |
Constant iterator type.
|
inherited |
Constant reference type.
|
inherited |
Constant reverse iterator type.
|
inherited |
Iterator type.
|
inherited |
Reference type.
|
inherited |
Reverse iterator type.
|
inherited |
Type of elements stored.
|
inlineexplicit |
|
inlineexplicit |
|
inlineinherited |
Copy contents of the data to a std::vector of matching type.
| T & LLU::MArray< T >::at | ( | const std::vector< mint > & | indices | ) |
Get a reference to the data element at given position in a multidimensional container.
| [in] | indices | - vector with coordinates of desired data element |
| indexError() | - if indices are out-of-bounds |
| const T & LLU::MArray< T >::at | ( | const std::vector< mint > & | indices | ) | const |
Get a constant reference to the data element at given position in a multidimensional container.
| [in] | indices | - vector with coordinates of desired data element |
| indexError() | - if indices are out-of-bounds |
| T & LLU::MArray< T >::at | ( | mint | index | ) |
Get a reference to the data element at given position with bound checking.
| [in] | index | - position of desired data element |
| indexError() | - if index is out-of-bounds |
| const T & LLU::MArray< T >::at | ( | mint | index | ) | const |
Get a constant reference to the data element at given position with bound checking.
| [in] | index | - position of desired data element |
| indexError() | - if index is out-of-bounds |
|
inlineinherited |
Get reference to the last element.
|
inlineinherited |
Get constant reference to the last element.
|
inlinenoexceptinherited |
Get constant iterator at the beginning of underlying data.
|
inlinenoexceptinherited |
Get iterator at the beginning of underlying data.
|
inlinenoexceptinherited |
Get constant iterator at the beginning of underlying data.
|
inlinenoexceptinherited |
Get constant iterator after the end of underlying data.
|
inlinenoexceptinherited |
Get constant iterator at the beginning of underlying data.
|
inlinenoexceptinherited |
Get constant iterator after the end of underlying data.
|
inlinenoexceptinherited |
Get raw pointer to const underlying data.
|
inlinenoexceptinherited |
Get raw pointer to underlying data.
|
inline |
Get dimension value at position index.
|
inline |
Get a const reference to dimensions object.
|
inlinenoexcept |
Check whether container is empty.
|
inlinenoexceptinherited |
Get constant iterator after the end of underlying data.
|
inlinenoexceptinherited |
Get iterator after the end of underlying data.
|
inlineinherited |
Get reference to the first element.
|
inlineinherited |
Get constant reference to the first element.
|
inline |
Get a reference to the data element at given position in a multidimensional container.
| [in] | indices | - vector with coordinates of desired data element |
|
inline |
Get a constant reference to the data element at given position in a multidimensional container.
| [in] | indices | - vector with coordinates of desired data element |
|
inlineinherited |
Get a reference to the data element at given position.
| [in] | index | - position of desired data element |
|
inlineinherited |
Get a constant reference to the data element at given position.
| [in] | index | - position of desired data element |
|
inlinenoexcept |
Get container rank.
|
inlinenoexceptinherited |
Get constant iterator at the beginning of underlying data.
|
inlinenoexceptinherited |
Get iterator at the beginning of underlying data.
|
inlinenoexceptinherited |
Get constant iterator after the end of underlying data.
|
inlinenoexceptinherited |
Get iterator after the end of underlying data.
|
inlinenoexceptinherited |
Get total number of elements in the container.