guanaqo 1.0.0-alpha.24
Utilities for scientific software
Loading...
Searching...
No Matches
mat-view.hpp File Reference

Detailed Description

Non-owning matrix view.

Definition in file mat-view.hpp.

#include <algorithm>
#include <cassert>
#include <concepts>
#include <cstddef>
#include <span>
#include <type_traits>
Include dependency graph for mat-view.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  guanaqo::default_stride< S >
 Get the default stride value for a run-time integer type. More...
struct  guanaqo::MatrixView< T, I, S, O >
 A lightweight view of a 2D matrix. More...
struct  guanaqo::MatrixView< T, I, S, O >::PlainMatrixView
 POD type for designated initializers. More...

Namespaces

namespace  guanaqo

Typedefs

template<class T, class I = ptrdiff_t, class S = std::integral_constant<I, 1>>
using guanaqo::MatrixViewRM = MatrixView<T, I, S, StorageOrder::RowMajor>
 Convenience alias for a row-major MatrixView.

Enumerations

enum class  guanaqo::StorageOrder : bool { guanaqo::StorageOrder::ColMajor , guanaqo::StorageOrder::RowMajor }
 Storage order of matrices. More...
enum class  guanaqo::Triangular { guanaqo::Triangular::Lower , guanaqo::Triangular::StrictlyLower , guanaqo::Triangular::Upper , guanaqo::Triangular::StrictlyUpper }
 Triangular matrix structure. More...

Functions

constexpr StorageOrder guanaqo::transpose (StorageOrder o)
 Transpose the storage order (swaps row and column major).

Class Documentation

◆ guanaqo::MatrixView::PlainMatrixView

struct guanaqo::MatrixView::PlainMatrixView
Collaboration diagram for guanaqo::MatrixView< T, I, S, O >::PlainMatrixView:
Class Members
value_type * data = nullptr
index_type rows = 0
index_type cols = 1
inner_stride_type inner_stride
index_type outer_stride = inner_stride * (is_row_major ? cols : rows)