Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

QVM: Quaternions, Vectors, Matrices

boost/qvm/map_mat_vec.hpp

This header file defines view proxies that access a subset of the elements of a given matrix object as a vector object.

Synopsis:

#include <boost/qvm/map_mat_vec.hpp>

namespace boost
{
    namespace qvm
    {
        //Only enabled if: is_mat<A>::value
        template <int C,class A>
        -unspecified-return-type- col( A & a );        
        
        //Only enabled if: is_mat<A>::value
        template <int C,class A>
        -unspecified-return-type- row( A & a );        
        
        //Only enabled if: is_mat<A>::value
        template <class A>
        -unspecified-return-type- diag( A & a );        
        
        //Only enabled if:
        //  is_mat<A>::value &&
        //  mat_traits<A>::rows==mat_traits<A>::cols && mat_traits<A>::rows>=3
        template <class A>
        -unspecified-return-type- translation( A & a );
    }
}

See also: boost/qvm/map.hpp | col | diag | row | translation