Eigen Metaprogramming Notes
::IsRowMajor
::IsVectorAtCompileTime
::RowsAtCompileTime
- note that in the case of dynamic sizes, this is weird (-1, iirc - specifically,Eigen::Dynamic
)::ColsAtCompileTime
- same as above::SizeAtCompileTime
- works like picking the right one of the above for either arrangement of vectors, or full size (I assume?) for matrices.
::Scalar
These are primarily defined in Eigen/src/Core/util/StaticAssert.h - the ones I list here are just my favorites.
EIGEN_STATIC_ASSERT_FIXED_SIZE(TYPE)
- excludes dynamic sized stuff, which is usually fine for the stuff I do.EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(TYPE, SIZE)
EIGEN_STATIC_ASSERT_MATRIX_SPECIFIC_SIZE(TYPE, ROWS, COLS)
EIGEN_STATIC_ASSERT_SAME_VECTOR_SIZE(TYPE0,TYPE1)
- lets through two dynamic-sized vectorsEIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(TYPE0,TYPE1)