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 to view this page for the latest version.

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.