0.4.1
Loading...
Searching...
No Matches
NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols > Class Template Reference

Class to inherit common methods for static and dynamic sized matrices. More...

Public Member Functions

Eigen::Matrix< Scalar, Rows, Cols > & block (all_t, all_t)
 Requests the full matrix.
 
const Eigen::Matrix< Scalar, Rows, Cols > & block (all_t, all_t) const
 Requests the full matrix.
 
template<size_t Q>
decltype(auto) block (const RowKeyType &rowKey, std::span< const ColKeyType > colKeys)
 Gets the values for the row and col keys.
 
decltype(auto) block (const RowKeyType &rowKey, std::span< const ColKeyType > colKeys)
 Gets the values for the row and col keys.
 
template<size_t Q>
decltype(auto) block (const RowKeyType &rowKey, std::span< const ColKeyType > colKeys) const
 Gets the values for the row and col keys.
 
decltype(auto) block (const RowKeyType &rowKey, std::span< const ColKeyType > colKeys) const
 Gets the values for the row and col keys.
 
template<size_t P>
decltype(auto) block (std::span< const RowKeyType > rowKeys, const ColKeyType &colKey)
 Gets the values for the row and col keys.
 
decltype(auto) block (std::span< const RowKeyType > rowKeys, const ColKeyType &colKey)
 Gets the values for the row and col keys.
 
template<size_t P>
decltype(auto) block (std::span< const RowKeyType > rowKeys, const ColKeyType &colKey) const
 Gets the values for the row and col keys.
 
decltype(auto) block (std::span< const RowKeyType > rowKeys, const ColKeyType &colKey) const
 Gets the values for the row and col keys.
 
template<size_t P, size_t Q = P>
decltype(auto) block (std::span< const RowKeyType > rowKeys, std::span< const ColKeyType > colKeys)
 Gets the values for the row and col keys.
 
decltype(auto) block (std::span< const RowKeyType > rowKeys, std::span< const ColKeyType > colKeys)
 Gets the values for the row and col keys.
 
template<size_t P, size_t Q = P>
decltype(auto) block (std::span< const RowKeyType > rowKeys, std::span< const ColKeyType > colKeys) const
 Gets the values for the row and col keys.
 
decltype(auto) block (std::span< const RowKeyType > rowKeys, std::span< const ColKeyType > colKeys) const
 Gets the values for the row and col keys.
 
decltype(auto) col (const ColKeyType &colKey)
 Gets the values for the col key.
 
decltype(auto) col (const ColKeyType &colKey) const
 Gets the values for the col key.
 
KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols > inverse () const
 Calculates the inverse matrix.
 
template<typename Derived>
 KeyedMatrixBase (const Eigen::MatrixBase< Derived > &matrix)
 Constructor.
 
template<typename Derived>
 KeyedMatrixBase (const Eigen::MatrixBase< Derived > &matrix, std::span< const RowKeyType > rowKeys, std::span< const ColKeyType > colKeys)
 Non-symmetric matrix constructor.
 
 KeyedMatrixBase (const KeyedMatrixBase &other)
 Copy constructor.
 
template<int oRows, int oCols>
 KeyedMatrixBase (const KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, oRows, oCols > &other)
 Copy constructor.
 
 KeyedMatrixBase (KeyedMatrixBase &&other) noexcept
 Move constructor.
 
template<int oRows, int oCols>
 KeyedMatrixBase (KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, oRows, oCols > &&other) noexcept
 Move constructor.
 
template<size_t Q>
decltype(auto) middleCols (std::span< const ColKeyType > colKeys)
 Gets the values for the col keys.
 
decltype(auto) middleCols (std::span< const ColKeyType > colKeys)
 Gets the values for the col keys.
 
template<size_t Q>
decltype(auto) middleCols (std::span< const ColKeyType > colKeys) const
 Gets the values for the col keys.
 
decltype(auto) middleCols (std::span< const ColKeyType > colKeys) const
 Gets the values for the col keys.
 
template<size_t P>
decltype(auto) middleRows (std::span< const RowKeyType > rowKeys)
 Gets the values for the row keys.
 
decltype(auto) middleRows (std::span< const RowKeyType > rowKeys)
 Gets the values for the row keys.
 
template<size_t P>
decltype(auto) middleRows (std::span< const RowKeyType > rowKeys) const
 Gets the values for the row keys.
 
decltype(auto) middleRows (std::span< const RowKeyType > rowKeys) const
 Gets the values for the row keys.
 
 operator Eigen::Matrix< Scalar, Rows, Cols > ()
 Conversion into Eigen::Matrix.
 
Eigen::Matrix< Scalar, Rows, Cols > & operator() (all_t, all_t)
 Requests the full matrix.
 
const Eigen::Matrix< Scalar, Rows, Cols > & operator() (all_t, all_t) const
 Requests the full matrix.
 
decltype(auto) operator() (all_t, const ColKeyType &colKey)
 Gets the values for the col keys.
 
decltype(auto) operator() (all_t, const ColKeyType &colKey) const
 Gets the values for the col key.
 
decltype(auto) operator() (all_t, std::span< const ColKeyType > colKeys)
 Gets the values for the col keys.
 
decltype(auto) operator() (all_t, std::span< const ColKeyType > colKeys) const
 Gets the values for the col keys.
 
decltype(auto) operator() (const RowKeyType &rowKey, all_t)
 Gets the values for the row key.
 
decltype(auto) operator() (const RowKeyType &rowKey, all_t) const
 Gets the values for the row key.
 
Scalar & operator() (const RowKeyType &rowKey, const ColKeyType &colKey)
 Gets the value for the row and col key.
 
const Scalar & operator() (const RowKeyType &rowKey, const ColKeyType &colKey) const
 Gets the value for the row and col key.
 
decltype(auto) operator() (const RowKeyType &rowKey, std::span< const ColKeyType > colKeys)
 Gets the values for the row and col keys.
 
decltype(auto) operator() (const RowKeyType &rowKey, std::span< const ColKeyType > colKeys) const
 Gets the values for the row and col keys.
 
decltype(auto) operator() (std::span< const RowKeyType > rowKeys, all_t)
 Gets the values for the row keys.
 
decltype(auto) operator() (std::span< const RowKeyType > rowKeys, all_t) const
 Gets the values for the row keys.
 
decltype(auto) operator() (std::span< const RowKeyType > rowKeys, const ColKeyType &colKey)
 Gets the values for the row and col keys.
 
decltype(auto) operator() (std::span< const RowKeyType > rowKeys, const ColKeyType &colKey) const
 Gets the values for the row and col keys.
 
decltype(auto) operator() (std::span< const RowKeyType > rowKeys, std::span< const ColKeyType > colKeys)
 Gets the values for the row and col keys.
 
decltype(auto) operator() (std::span< const RowKeyType > rowKeys, std::span< const ColKeyType > colKeys) const
 Gets the values for the row and col keys.
 
KeyedMatrixBaseoperator= (const KeyedMatrixBase &other)
 Copy assignment operator.
 
template<int oRows, int oCols>
KeyedMatrixBaseoperator= (const KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, oRows, oCols > &other)
 Copy assignment operator.
 
KeyedMatrixBaseoperator= (KeyedMatrixBase &&other) noexcept
 Move assignment operator.
 
template<int oRows, int oCols>
KeyedMatrixBaseoperator= (KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, oRows, oCols > &&other) noexcept
 Move assignment operator.
 
decltype(auto) row (const RowKeyType &rowKey)
 Gets the values for the row key.
 
decltype(auto) row (const RowKeyType &rowKey) const
 Gets the values for the row key.
 
KeyedMatrixBase< Scalar, ColKeyType, RowKeyType, Cols, Rows > transposed () const
 Calculates the transposed matrix.
 
 ~KeyedMatrixBase ()=default
 Destructor.
 
- Public Member Functions inherited from NAV::internal::KeyedMatrixRowsBase< Scalar, RowKeyType, Rows, Cols >
bool hasAnyRows (std::span< const RowKeyType > keys) const
 Checks if the matrix has any key.
 
bool hasRow (const RowKeyType &key) const
 Checks if the matrix has the key.
 
bool hasRows (std::span< const RowKeyType > keys) const
 Checks if the matrix has multiple keys.
 
void replaceRowKey (const RowKeyType &oldKey, const RowKeyType &newKey)
 Replace the old with the new key.
 
const std::vector< RowKeyType > & rowKeys () const
 Returns the row keys.
 
decltype(auto) rows () const
 Return the rows of the underlying Eigen matrix.
 
- Public Member Functions inherited from NAV::internal::KeyedMatrixColsBase< Scalar, ColKeyType, Rows, Cols >
const std::vector< ColKeyType > & colKeys () const
 Returns the col keys.
 
decltype(auto) cols () const
 Return the cols of the underlying Eigen matrix.
 
bool hasAnyCols (std::span< const ColKeyType > keys) const
 Checks if the matrix has any keys.
 
bool hasCol (const ColKeyType &key) const
 Checks if the matrix has the key.
 
bool hasCols (std::span< const ColKeyType > keys) const
 Checks if the matrix has multiple keys.
 
void replaceColKey (const ColKeyType &oldKey, const ColKeyType &newKey)
 Replace the old with the new key.
 

Private Member Functions

void checkContinuousBlock (std::span< const RowKeyType > rowKeys, std::span< const ColKeyType > colKeys, size_t P, size_t Q) const
 Checks if the row and col keys are describing a continuous block.
 

Additional Inherited Members

- Protected Attributes inherited from NAV::internal::KeyedMatrixRowsBase< Scalar, RowKeyType, Rows, Cols >
unordered_map< RowKeyType, Eigen::Index > rowIndices
 RowKey to Row Index mapping.
 
std::vector< RowKeyType > rowKeysVector
 Row Keys.
 
std::vector< Eigen::Index > rowSlice
 Row Slice used for accessing.
 
- Protected Attributes inherited from NAV::internal::KeyedMatrixStorage< Scalar, Rows, Cols >
std::mutex _sliceMutex
 Mutex for accessing the slices.
 
Eigen::Matrix< Scalar, Rows, Cols > matrix
 Data storage of the type.
 
- Protected Attributes inherited from NAV::internal::KeyedMatrixColsBase< Scalar, ColKeyType, Rows, Cols >
unordered_map< ColKeyType, Eigen::Index > colIndices
 ColKey to Col Index mapping.
 
std::vector< ColKeyType > colKeysVector
 Col Keys.
 
std::vector< Eigen::Index > colSlice
 Col Slice used for accessing.
 

Detailed Description

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
class NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >

Class to inherit common methods for static and dynamic sized matrices.

Template Parameters
ScalarNumeric type, e.g. float, double, int or std::complex<float>.
RowKeyTypeType of the key used for row lookup
ColKeyTypeType of the key used for col lookup
RowsNumber of rows, or Dynamic
ColsNumber of columns, or Dynamic

Definition at line 901 of file KeyedMatrix.hpp.

Constructor & Destructor Documentation

◆ KeyedMatrixBase() [1/6]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
template<typename Derived>
NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::KeyedMatrixBase ( const Eigen::MatrixBase< Derived > & matrix)
inlineexplicit

Constructor.

Parameters
matrixEigen Matrix to initialize from

Definition at line 907 of file KeyedMatrix.hpp.

◆ KeyedMatrixBase() [2/6]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
template<typename Derived>
NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::KeyedMatrixBase ( const Eigen::MatrixBase< Derived > & matrix,
std::span< const RowKeyType > rowKeys,
std::span< const ColKeyType > colKeys )
inline

Non-symmetric matrix constructor.

Parameters
matrixEigen Matrix to initialize from
rowKeysRow keys describing the matrix
colKeysCol keys describing the matrix

Definition at line 916 of file KeyedMatrix.hpp.

◆ ~KeyedMatrixBase()

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::~KeyedMatrixBase ( )
default

Destructor.

◆ KeyedMatrixBase() [3/6]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::KeyedMatrixBase ( const KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols > & other)
inline

Copy constructor.

Parameters
otherThe other object

Definition at line 945 of file KeyedMatrix.hpp.

◆ KeyedMatrixBase() [4/6]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::KeyedMatrixBase ( KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols > && other)
inlinenoexcept

Move constructor.

Parameters
otherThe other object

Definition at line 973 of file KeyedMatrix.hpp.

◆ KeyedMatrixBase() [5/6]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
template<int oRows, int oCols>
NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::KeyedMatrixBase ( const KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, oRows, oCols > & other)
inline

Copy constructor.

Parameters
otherThe other object

Definition at line 1007 of file KeyedMatrix.hpp.

◆ KeyedMatrixBase() [6/6]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
template<int oRows, int oCols>
NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::KeyedMatrixBase ( KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, oRows, oCols > && other)
inlinenoexcept

Move constructor.

Parameters
otherThe other object

Definition at line 1043 of file KeyedMatrix.hpp.

Member Function Documentation

◆ block() [1/14]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
Eigen::Matrix< Scalar, Rows, Cols > & NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::block ( all_t ,
all_t  )
inline

Requests the full matrix.

Definition at line 1312 of file KeyedMatrix.hpp.

◆ block() [2/14]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
const Eigen::Matrix< Scalar, Rows, Cols > & NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::block ( all_t ,
all_t  ) const
inline

Requests the full matrix.

Definition at line 1310 of file KeyedMatrix.hpp.

◆ block() [3/14]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
template<size_t Q>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::block ( const RowKeyType & rowKey,
std::span< const ColKeyType > colKeys )
inline

Gets the values for the row and col keys.

Parameters
rowKeyRow Key
colKeysCol Keys
Returns
View into the matrix for the row and col keys

Definition at line 1247 of file KeyedMatrix.hpp.

◆ block() [4/14]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::block ( const RowKeyType & rowKey,
std::span< const ColKeyType > colKeys )
inline

Gets the values for the row and col keys.

Parameters
rowKeyRow Key
colKeysCol Keys
Returns
View into the matrix for the row and col keys

Definition at line 1366 of file KeyedMatrix.hpp.

◆ block() [5/14]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
template<size_t Q>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::block ( const RowKeyType & rowKey,
std::span< const ColKeyType > colKeys ) const
inline

Gets the values for the row and col keys.

Parameters
rowKeyRow Key
colKeysCol Keys
Returns
View into the matrix for the row and col keys

Definition at line 1238 of file KeyedMatrix.hpp.

◆ block() [6/14]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::block ( const RowKeyType & rowKey,
std::span< const ColKeyType > colKeys ) const
inline

Gets the values for the row and col keys.

Parameters
rowKeyRow Key
colKeysCol Keys
Returns
View into the matrix for the row and col keys

Definition at line 1358 of file KeyedMatrix.hpp.

◆ block() [7/14]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
template<size_t P>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::block ( std::span< const RowKeyType > rowKeys,
const ColKeyType & colKey )
inline

Gets the values for the row and col keys.

Parameters
rowKeysRow Keys
colKeyCol Key
Returns
View into the matrix for the row and col keys

Definition at line 1229 of file KeyedMatrix.hpp.

◆ block() [8/14]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::block ( std::span< const RowKeyType > rowKeys,
const ColKeyType & colKey )
inline

Gets the values for the row and col keys.

Parameters
rowKeysRow Keys
colKeyCol Key
Returns
View into the matrix for the row and col keys

Definition at line 1350 of file KeyedMatrix.hpp.

◆ block() [9/14]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
template<size_t P>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::block ( std::span< const RowKeyType > rowKeys,
const ColKeyType & colKey ) const
inline

Gets the values for the row and col keys.

Parameters
rowKeysRow Keys
colKeyCol Key
Returns
View into the matrix for the row and col keys

Definition at line 1220 of file KeyedMatrix.hpp.

◆ block() [10/14]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::block ( std::span< const RowKeyType > rowKeys,
const ColKeyType & colKey ) const
inline

Gets the values for the row and col keys.

Parameters
rowKeysRow Keys
colKeyCol Key
Returns
View into the matrix for the row and col keys

Definition at line 1342 of file KeyedMatrix.hpp.

◆ block() [11/14]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
template<size_t P, size_t Q = P>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::block ( std::span< const RowKeyType > rowKeys,
std::span< const ColKeyType > colKeys )
inline

Gets the values for the row and col keys.

Parameters
rowKeysRow Keys
colKeysCol Keys
Returns
View into the matrix for the row and col keys

Definition at line 1209 of file KeyedMatrix.hpp.

◆ block() [12/14]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::block ( std::span< const RowKeyType > rowKeys,
std::span< const ColKeyType > colKeys )
inline

Gets the values for the row and col keys.

Parameters
rowKeysRow Keys
colKeysCol Keys
Returns
View into the matrix for the row and col keys

Definition at line 1332 of file KeyedMatrix.hpp.

◆ block() [13/14]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
template<size_t P, size_t Q = P>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::block ( std::span< const RowKeyType > rowKeys,
std::span< const ColKeyType > colKeys ) const
inline

Gets the values for the row and col keys.

Parameters
rowKeysRow Keys
colKeysCol Keys
Returns
View into the matrix for the row and col keys

Definition at line 1198 of file KeyedMatrix.hpp.

◆ block() [14/14]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::block ( std::span< const RowKeyType > rowKeys,
std::span< const ColKeyType > colKeys ) const
inline

Gets the values for the row and col keys.

Parameters
rowKeysRow Keys
colKeysCol Keys
Returns
View into the matrix for the row and col keys

Definition at line 1322 of file KeyedMatrix.hpp.

◆ checkContinuousBlock()

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
void NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::checkContinuousBlock ( std::span< const RowKeyType > rowKeys,
std::span< const ColKeyType > colKeys,
size_t P,
size_t Q ) const
inlineprivate

Checks if the row and col keys are describing a continuous block.

Parameters
rowKeysRow keys
colKeysCol keys
PSize of the row keys
QSize of the col keys

Definition at line 1430 of file KeyedMatrix.hpp.

◆ col() [1/2]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::col ( const ColKeyType & colKey)
inline

Gets the values for the col key.

Parameters
colKeyCol Key
Returns
View into the matrix for the col key

Definition at line 1307 of file KeyedMatrix.hpp.

◆ col() [2/2]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::col ( const ColKeyType & colKey) const
inline

Gets the values for the col key.

Parameters
colKeyCol Key
Returns
View into the matrix for the col key

Definition at line 1303 of file KeyedMatrix.hpp.

◆ inverse()

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols > NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::inverse ( ) const
inlinenodiscard

Calculates the inverse matrix.

Definition at line 1419 of file KeyedMatrix.hpp.

◆ middleCols() [1/4]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
template<size_t Q>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::middleCols ( std::span< const ColKeyType > colKeys)
inline

Gets the values for the col keys.

Parameters
colKeysCol Keys
Returns
View into the matrix for the col keys

Definition at line 1286 of file KeyedMatrix.hpp.

◆ middleCols() [2/4]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::middleCols ( std::span< const ColKeyType > colKeys)
inline

Gets the values for the col keys.

Parameters
colKeysCol Keys
Returns
View into the matrix for the col keys

Definition at line 1401 of file KeyedMatrix.hpp.

◆ middleCols() [3/4]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
template<size_t Q>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::middleCols ( std::span< const ColKeyType > colKeys) const
inline

Gets the values for the col keys.

Parameters
colKeysCol Keys
Returns
View into the matrix for the col keys

Definition at line 1276 of file KeyedMatrix.hpp.

◆ middleCols() [4/4]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::middleCols ( std::span< const ColKeyType > colKeys) const
inline

Gets the values for the col keys.

Parameters
colKeysCol Keys
Returns
View into the matrix for the col keys

Definition at line 1392 of file KeyedMatrix.hpp.

◆ middleRows() [1/4]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
template<size_t P>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::middleRows ( std::span< const RowKeyType > rowKeys)
inline

Gets the values for the row keys.

Parameters
rowKeysRow Keys
Returns
View into the matrix for the row keys

Definition at line 1266 of file KeyedMatrix.hpp.

◆ middleRows() [2/4]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::middleRows ( std::span< const RowKeyType > rowKeys)
inline

Gets the values for the row keys.

Parameters
rowKeysRow Keys
Returns
View into the matrix for the row keys

Definition at line 1383 of file KeyedMatrix.hpp.

◆ middleRows() [3/4]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
template<size_t P>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::middleRows ( std::span< const RowKeyType > rowKeys) const
inline

Gets the values for the row keys.

Parameters
rowKeysRow Keys
Returns
View into the matrix for the row keys

Definition at line 1256 of file KeyedMatrix.hpp.

◆ middleRows() [4/4]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::middleRows ( std::span< const RowKeyType > rowKeys) const
inline

Gets the values for the row keys.

Parameters
rowKeysRow Keys
Returns
View into the matrix for the row keys

Definition at line 1374 of file KeyedMatrix.hpp.

◆ operator Eigen::Matrix< Scalar, Rows, Cols >()

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator Eigen::Matrix< Scalar, Rows, Cols > ( )
inlineexplicit

Conversion into Eigen::Matrix.

Definition at line 1187 of file KeyedMatrix.hpp.

◆ operator()() [1/18]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
Eigen::Matrix< Scalar, Rows, Cols > & NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator() ( all_t ,
all_t  )
inline

Requests the full matrix.

Definition at line 1185 of file KeyedMatrix.hpp.

◆ operator()() [2/18]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
const Eigen::Matrix< Scalar, Rows, Cols > & NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator() ( all_t ,
all_t  ) const
inline

Requests the full matrix.

Definition at line 1183 of file KeyedMatrix.hpp.

◆ operator()() [3/18]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator() ( all_t ,
const ColKeyType & colKey )
inline

Gets the values for the col keys.

Parameters
colKeyCol Key
Returns
View into the matrix for the col key

Definition at line 1164 of file KeyedMatrix.hpp.

◆ operator()() [4/18]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator() ( all_t ,
const ColKeyType & colKey ) const
inline

Gets the values for the col key.

Parameters
colKeyCol Key
Returns
View into the matrix for the col key

Definition at line 1160 of file KeyedMatrix.hpp.

◆ operator()() [5/18]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator() ( all_t ,
std::span< const ColKeyType > colKeys )
inline

Gets the values for the col keys.

Parameters
colKeysCol Keys
Returns
View into the matrix for the col keys

Definition at line 1180 of file KeyedMatrix.hpp.

◆ operator()() [6/18]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator() ( all_t ,
std::span< const ColKeyType > colKeys ) const
inline

Gets the values for the col keys.

Parameters
colKeysCol Keys
Returns
View into the matrix for the col keys

Definition at line 1176 of file KeyedMatrix.hpp.

◆ operator()() [7/18]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator() ( const RowKeyType & rowKey,
all_t  )
inline

Gets the values for the row key.

Parameters
rowKeyRow Key
Returns
View into the matrix for the row key

Definition at line 1156 of file KeyedMatrix.hpp.

◆ operator()() [8/18]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator() ( const RowKeyType & rowKey,
all_t  ) const
inline

Gets the values for the row key.

Parameters
rowKeyRow Key
Returns
View into the matrix for the row key

Definition at line 1152 of file KeyedMatrix.hpp.

◆ operator()() [9/18]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
Scalar & NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator() ( const RowKeyType & rowKey,
const ColKeyType & colKey )
inline

Gets the value for the row and col key.

Parameters
rowKeyRow Key
colKeyCol Key
Returns
Scalar value

Definition at line 1093 of file KeyedMatrix.hpp.

◆ operator()() [10/18]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
const Scalar & NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator() ( const RowKeyType & rowKey,
const ColKeyType & colKey ) const
inline

Gets the value for the row and col key.

Parameters
rowKeyRow Key
colKeyCol Key
Returns
Scalar value

Definition at line 1085 of file KeyedMatrix.hpp.

◆ operator()() [11/18]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator() ( const RowKeyType & rowKey,
std::span< const ColKeyType > colKeys )
inline

Gets the values for the row and col keys.

Parameters
rowKeyRow Key
colKeysCol Keys
Returns
View into the matrix for the row and col keys

Definition at line 1147 of file KeyedMatrix.hpp.

◆ operator()() [12/18]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator() ( const RowKeyType & rowKey,
std::span< const ColKeyType > colKeys ) const
inline

Gets the values for the row and col keys.

Parameters
rowKeyRow Key
colKeysCol Keys
Returns
View into the matrix for the row and col keys

Definition at line 1142 of file KeyedMatrix.hpp.

◆ operator()() [13/18]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator() ( std::span< const RowKeyType > rowKeys,
all_t  )
inline

Gets the values for the row keys.

Parameters
rowKeysRow Keys
Returns
View into the matrix for the row keys

Definition at line 1172 of file KeyedMatrix.hpp.

◆ operator()() [14/18]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator() ( std::span< const RowKeyType > rowKeys,
all_t  ) const
inline

Gets the values for the row keys.

Parameters
rowKeysRow Keys
Returns
View into the matrix for the row keys

Definition at line 1168 of file KeyedMatrix.hpp.

◆ operator()() [15/18]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator() ( std::span< const RowKeyType > rowKeys,
const ColKeyType & colKey )
inline

Gets the values for the row and col keys.

Parameters
rowKeysRow Keys
colKeyCol Key
Returns
View into the matrix for the row and col keys

Definition at line 1137 of file KeyedMatrix.hpp.

◆ operator()() [16/18]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator() ( std::span< const RowKeyType > rowKeys,
const ColKeyType & colKey ) const
inline

Gets the values for the row and col keys.

Parameters
rowKeysRow Keys
colKeyCol Key
Returns
View into the matrix for the row and col keys

Definition at line 1132 of file KeyedMatrix.hpp.

◆ operator()() [17/18]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator() ( std::span< const RowKeyType > rowKeys,
std::span< const ColKeyType > colKeys )
inline

Gets the values for the row and col keys.

Parameters
rowKeysRow Keys
colKeysCol Keys
Returns
View into the matrix for the row and col keys

Definition at line 1117 of file KeyedMatrix.hpp.

◆ operator()() [18/18]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator() ( std::span< const RowKeyType > rowKeys,
std::span< const ColKeyType > colKeys ) const
inline

Gets the values for the row and col keys.

Parameters
rowKeysRow Keys
colKeysCol Keys
Returns
View into the matrix for the row and col keys

Definition at line 1102 of file KeyedMatrix.hpp.

◆ operator=() [1/4]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
KeyedMatrixBase & NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator= ( const KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols > & other)
inline

Copy assignment operator.

Parameters
otherThe other object

Definition at line 957 of file KeyedMatrix.hpp.

◆ operator=() [2/4]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
template<int oRows, int oCols>
KeyedMatrixBase & NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator= ( const KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, oRows, oCols > & other)
inline

Copy assignment operator.

Parameters
otherThe other object

Definition at line 1023 of file KeyedMatrix.hpp.

◆ operator=() [3/4]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
KeyedMatrixBase & NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator= ( KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols > && other)
inlinenoexcept

Move assignment operator.

Parameters
otherThe other object

Definition at line 985 of file KeyedMatrix.hpp.

◆ operator=() [4/4]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
template<int oRows, int oCols>
KeyedMatrixBase & NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::operator= ( KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, oRows, oCols > && other)
inlinenoexcept

Move assignment operator.

Parameters
otherThe other object

Definition at line 1059 of file KeyedMatrix.hpp.

◆ row() [1/2]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::row ( const RowKeyType & rowKey)
inline

Gets the values for the row key.

Parameters
rowKeyRow Key
Returns
View into the matrix for the row key

Definition at line 1299 of file KeyedMatrix.hpp.

◆ row() [2/2]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
decltype(auto) NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::row ( const RowKeyType & rowKey) const
inline

Gets the values for the row key.

Parameters
rowKeyRow Key
Returns
View into the matrix for the row key

Definition at line 1295 of file KeyedMatrix.hpp.

◆ transposed()

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
KeyedMatrixBase< Scalar, ColKeyType, RowKeyType, Cols, Rows > NAV::internal::KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols >::transposed ( ) const
inlinenodiscard

Calculates the transposed matrix.

Definition at line 1413 of file KeyedMatrix.hpp.


The documentation for this class was generated from the following file: