template<class T, class I = ptrdiff_t, class S = std::integral_constant<I, 1>,
StorageOrder O = StorageOrder::ColMajor>
struct guanaqo::MatrixView< T, I, S, O >
A lightweight view of a 2D matrix.
- Template Parameters
-
| T | Element type (may be const-qualified). |
| I | Index type for dimensions and strides. |
| S | Stride type for inner dimension. Can be an integral constant for compile-time known strides, or can be the same as I for runtime strides. |
| O | Storage order (column-major or row-major). |
Definition at line 68 of file mat-view.hpp.
|
| constexpr index_type | outer_size () const |
| constexpr index_type | inner_size () const |
| constexpr auto | row_stride () const |
| constexpr index_type | col_stride () const |
| | MatrixView (PlainMatrixView p) |
| value_type & | operator() (index_type r, index_type c) const |
| bool | empty () const |
| MatrixView | top_rows (index_type n) const |
| MatrixView | left_cols (index_type n) const |
| MatrixView | bottom_rows (index_type n) const |
| MatrixView | right_cols (index_type n) const |
| MatrixView | middle_rows (index_type r, index_type n) const |
| MatrixView | middle_cols (index_type c, index_type n) const |
| MatrixView | top_left (index_type nr, index_type nc) const |
| MatrixView | top_right (index_type nr, index_type nc) const |
| MatrixView | bottom_left (index_type nr, index_type nc) const |
| MatrixView | bottom_right (index_type nr, index_type nc) const |
| MatrixView | block (index_type r, index_type c, index_type nr, index_type nc) const |
| | operator MatrixView< const T, I, S, O > () const |
| MatrixView< T, I, S, transpose(O)> | transposed () const |
| void | set_constant (const value_type &t) |
| void | set_constant (const value_type &t, Triangular tr) |
| void | set_constant (const value_type &t, Triangular tr) |
| MatrixView< T, I, I, O > | diagonal () |
| void | iter_diagonal (const auto f) |
| void | iter_diagonal (const auto f) const |
| void | set_diagonal (const value_type &t) |
| void | add_to_diagonal (const value_type &t) |
| template<class Other> |
| void | copy_values (const Other &other) |
| | MatrixView (const MatrixView &)=default |
| MatrixView & | operator= (const MatrixView &other) |
| template<class U, class J, class R> |
| MatrixView & | operator= (MatrixView< U, J, R, O > other) |
| template<class U, class J, class R> |
| MatrixView & | operator+= (MatrixView< U, J, R, O > other) |
| template<class U> |
| MatrixView & | operator+= (const U &u) |
| template<class Generator> |
| void | generate (Generator gen) |
| MatrixView & | reassign (MatrixView other) |