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

This is the documentation for an old version of boost. Click here for the latest Boost documentation.

QVM: Quaternions, Vectors, Matrices

diag

#include <boost/qvm/map_mat_vec.hpp>

namespace boost
{
    namespace qvm
    {
        //Only enabled if: is_mat<A>::value
        template <class A>
        -unspecified-return-type- diag( A & a );
    }
}

The expression diag(m) returns a view proxy that accesses the main diagonal of the matrix m as a vector.