c++ - 在编译时确定 Eigen3 矩阵的存储顺序

标签 c++ c++11 eigen3

标题基本上说明了一切。是否有 Eigen::Matrix 的某些成员在编译时公开存储顺序(列专业或行专业)?我知道 Options 模板参数用于指定存储顺序,但之后我还没有找到提取它的方法。使用场景类似于

template<class Mat>
class C {
  static_assert(/* Mat has column major format */, "column major required");
  // ...
};

最佳答案

您可以使用 Mat::IsRowMajor:

static_assert(!Mat::IsRowMajor, "column major required");

这适用于 Mat 的任何 Eigen 类矩阵类型,例如 MatrixBlockMap , Ref

关于c++ - 在编译时确定 Eigen3 矩阵的存储顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47154134/

相关文章:

c++ - 访问默认 lambda 参数中的模板类参数

C++ - vector 迭代器不可递增错误

java - 在 JavaCV 中传递给 cvFindContours() 的参数是什么?

c++ - 我们可以将全局静态变量视为全局变量吗

c++ - 球体体积计算错误,但公式正确

python - 取得引用的 Eigen3 矩阵的所有权

c++ - 使用公钥 : BER decode error 加密消息

c++ - 共同的初始序列和比对

python - Boost::python 和 Eigen/dense 造成段错误

c++ - 向量化对称矩阵