|
| Matrix (const std::initializer_list< std::initializer_list< T > > &list) |
| Matrix (const Matrix &rhs) noexcept |
| Matrix (Matrix &&rhs) noexcept |
Matrix & | operator= (const Matrix &rhs) noexcept |
Matrix & | operator= (Matrix &&rhs) noexcept |
ColArray & | operator[] (const size_t row) noexcept(false) |
const ColArray & | operator[] (const size_t row) const noexcept(false) |
bool | operator== (const Matrix &rhs) const noexcept |
Matrix | operator+ (const Matrix &rhs) const noexcept |
Matrix | operator- (const Matrix &rhs) const noexcept |
template<size_t R, size_t C> |
Matrix< T, Row, C > | operator* (const Matrix< T, R, C > &rhs) const noexcept(false) |
Matrix | operator* (const T val) const noexcept |
Vector3< T > | operator* (const Vector3< T > &rhs) const |
Matrix & | operator+= (const Matrix &rhs) noexcept |
Matrix & | operator-= (const Matrix &rhs) noexcept |
Matrix & | operator*= (const T val) noexcept |
template<typename Func>
requires std::invocable<Func, T&, const size_t, const size_t> |
void | forEachEntry (const Func &action) |
Matrix< T, Col, Row > | transpose () const noexcept |
Matrix | inverse2x2 () const noexcept(false) |
Matrix | inverse3x3 () const noexcept(false) |
Matrix | inverseNxN () const noexcept(false) |
template<std::floating_point T, size_t Row, size_t Col>
requires (Row > 0 && Col > 0)
class soo::Matrix< T, Row, Col >
Matrix class.
- Template Parameters
-
T | Type of the entries. Must be a floating-point type. |
Row | The number of rows. |
Col | The number of columns. |
template<std::floating_point T, size_t Row, size_t Col>
template<typename Func>
requires std::invocable<Func, T&, const size_t, const size_t>
void soo::Matrix< T, Row, Col >::forEachEntry |
( |
const Func & | action | ) |
|
|
inline |
Do an action for each entry.
- Template Parameters
-
Func | Params must be (T& entry, const size_t row, const size_t col) |
- Parameters
-
action | Callable that will be invoked for each entry |