LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
Loading...
Searching...
No Matches
lf::base::EigenMatrix Concept Reference

Check if a given type T is an Eigen::Matrix. More...

#include <lf/base/eigen_tools.h>

Concept definition

template<class T, class SCALAR void, int ROWS -1, int COLS -1>
std::is_same_v<decltype(internal::IsEigenMatrixTester::Test(
std::declval<T>(), 0)),
bool> &&
(std::same_as<SCALAR, void> || std::same_as<typename T::Scalar, SCALAR>) &&
(ROWS == -1 ||
std::remove_cvref_t<T>::RowsAtCompileTime == Eigen::Dynamic ||
std::remove_cvref_t<T>::RowsAtCompileTime == ROWS) &&
(COLS == -1 ||
std::remove_cvref_t<T>::ColsAtCompileTime == Eigen::Dynamic ||
std::remove_cvref_t<T>::ColsAtCompileTime == COLS)
Check if a given type T is an Eigen::Matrix.
Definition eigen_tools.h:70

Detailed Description

Check if a given type T is an Eigen::Matrix.

Template Parameters
SCALARIf set to void (default), T can have any scalar type. Otherwise T must have the scalar type SCALAR.
ROWSIf set to -1 (default), T can have any number of rows. Otherwise T must have a dynamic number of rows or the number of rows known at compile time must equal ROWS.
COLSIf set to -1 (default), T can have any number of columns. Otherwise T must have a dynamic number of columns or the number of columns known at compile time must equal COLS.
Note
The parameter ROWS/COLS allow you to specify the number of rows/columns that the matrix must have at compile time. But this doesn't ensure, that the the same holds at runtime. The matrix T could have a dynamic number of rows and columns while still fulfilling the concept Eigen::Matrix<T, void, 5, 1>.

Definition at line 70 of file eigen_tools.h.