
Jason Hise <chaos@ezequal.com> writes:
I saw that boost already has a pretty impressive linear algebra suite, with many specialized types of matrices. Though these are all very useful, I was wondering if there might be room for one more type of matrix: one which makes each size of matrix a unique type (I did not see such a matrix in the docs, but please correct me if I overlooked it and it does already exist).
There are two fixed size matrix types, but unfortunately they are not documented: template<class T, std::size_t M, std::size_t N, class L = row_major> class bounded_matrix; template<class T, std::size_t M, std::size_t N> class c_matrix; Both are defined in matrix.hpp. bounded_matrix uses bounded_array for storage: template<class T, std::size_t M, std::size_t N, class L> class bounded_matrix: public matrix<T, L, bounded_array<T, M * N> > { /* ... */ }; Therefore it can have row major and column major storage. c_matrix wraps C array: template<class T, std::size_t N, std::size_t M> class c_matrix { // ... T data_ [N] [M]; }; Obviously, it must be row major. fres