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

时间:2017-11-07 09:22:31

标签: c++ c++11 eigen3

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

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

1 个答案:

答案 0 :(得分:1)

您可以使用Mat::IsRowMajor

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

这适用于Mat的任何Eigen矩阵类型,如MatrixBlockMapRef等。