QVM: Quaternions, Vectors, Matrices

scalar_traits

#include <boost/qvm/scalar_traits.hpp>

namespace boost
{
    namespace qvm
    {
        template <class Scalar>
        struct scalar_traits
        {
            BOOST_QVM_INLINE_CRITICAL
            static Scalar value( int v )
            {
                return Scalar(v);
            }
        };
    }
}

This template can be specialized for user-defined scalar types to define the appropriate conversion from int; this is primarily used whenever Boost QVM needs to deduce a zero or one value.