|
| | C2DContainer () noexcept |
| | Default ctor.
|
| |
| | C2DContainer (const Index_t size1, const Index_t size2=1) noexcept |
| | Sizing ctor (no initialization of data). For matrices size1 is rows and size2 columns, for vectors size1 is lenght and size2 is ignored.
|
| |
| | C2DContainer (const C2DContainer &other) noexcept |
| | Copy ctor.
|
| |
| C2DContainer & | operator= (const C2DContainer &other) noexcept |
| | Copy assignment operator, no re-allocation if sizes do not change.
|
| |
| | C2DContainer (C2DContainer &&)=default |
| | Move ctor, implemented by base class (if fully static works as copy).
|
| |
| C2DContainer & | operator= (C2DContainer &&)=default |
| | Move assign operator, implemented by base class (if fully static works as copy).
|
| |
| C2DContainer & | operator= (const Scalar_t &value) noexcept |
| |
| C2DContainer & | resize (const Index_t size1, const Index_t size2=1) noexcept |
| | Request a change of size.
|
| |
| void | setConstant (const Scalar_t &value) noexcept |
| | Set value of all entries to "value".
|
| |
| CInnerIter | innerIter (Index_t row) const noexcept |
| | Get a scalar iterator to the inner dimension of the container.
|
| |
| template<class T , size_t N> |
| CInnerIterGather< simd::Array< T, N > > | innerIter (simd::Array< T, N > row) const noexcept |
| | Get a SIMD gather iterator to the inner dimension of the container.
|
| |
| template<class StaticContainer > |
| StaticContainer | get (Index_t row, Index_t start=0) const noexcept |
| | Return copy of data in a static size container.
|
| |
| template<class StaticContainer , class T , size_t N> |
| StaticContainer | get (simd::Array< T, N > row, Index_t start=0) const noexcept |
| | Return copy of data in a static size container, SIMD version.
|
| |
| Index_t | cols () const noexcept |
| |
| Index_t | rows () const noexcept |
| |
| size_t | size () const noexcept |
| |
| bool | empty () const noexcept |
| |
| Scalar_t * | data () noexcept |
| |
| const Scalar_t * | data () const noexcept |
| |
| Scalar_t * | begin () noexcept |
| |
| const Scalar_t * | begin () const noexcept |
| |
| Scalar_t * | end () noexcept |
| |
| const Scalar_t * | end () const noexcept |
| |
| Index_t | rows () const noexcept |
| |
| Index_t | cols () const noexcept |
| |
| size_t | size () const noexcept |
| |
| const Scalar_t & | operator() (const Index_t i, const Index_t j) const noexcept |
| |
| Scalar_t & | operator() (const Index_t i, const Index_t j) noexcept |
| |
| const Scalar_t * | operator[] (const Index_t k) const noexcept |
| |
| Scalar_t * | operator[] (const Index_t k) noexcept |
| |
template<typename Index_t, class Scalar_t,
StorageType Store, size_t AlignSize, size_t StaticRows, size_t StaticCols>
class C2DContainer< Index_t, Scalar_t, Store, AlignSize, StaticRows, StaticCols >
A templated matrix/vector-like object.
See notes about MATRIX_ACCESSORS and VECTOR_ACCESSORS for how to access data. For how to construct/resize/initialize see methods below.
Template parameters:
- Parameters
-
| Index_t | - The data type (built-in) for indices, signed and unsigned allowed. |
| Scalar_t | - The stored data type, anything that can be default constructed. |
| Store | - Mode to map 1D to 2D, row-major or column-major. |
| AlignSize | - Desired alignment for the data in bytes, 0 means default. |
| StaticRows | - Number of rows at compile time, for dynamic (sized at runtime) use "DynamicSize". |
| StaticCols | - As above for columns. |
- Note
- All accesses to data are range checked via assertions, for release compile with -DNDEBUG to avoid the associated overhead.