template class Circulant : public StormEigen::MatrixBase > { public: Circulant(const ArgType& arg) : m_arg(arg) { EIGEN_STATIC_ASSERT(ArgType::ColsAtCompileTime == 1, YOU_TRIED_CALLING_A_VECTOR_METHOD_ON_A_MATRIX); } typedef typename StormEigen::internal::ref_selector::type Nested; typedef StormEigen::Index Index; Index rows() const { return m_arg.rows(); } Index cols() const { return m_arg.rows(); } typedef typename StormEigen::internal::ref_selector::type ArgTypeNested; ArgTypeNested m_arg; };