# QVM: Quaternions, Vectors, Matrices

### is_quat

#include <boost/qvm/quat_traits.hpp>

    namespace
    boost
    {
        namespace
        qvm
        {
            template <class T>
            struct is_quat
            {
                static bool const value=/*unspecified*/;
            };
        }
    }

This type template defines a compile-time boolean constant value which can be used to determine whether a type T is a quaternion type. For quaternion types, the quat_traits template can be used to access their elements generically, or to obtain their scalar type.

See also: Accessing Matrix Elements | Accessing Quaternion Elements | assign(quat,quat) | boost/qvm/quat_traits.hpp | cmp(quat,quat) | conjugate | convert_to(quat) | deduce_quat | deduce_quat2 | dot(quat,quat) | inverse(quat) | mag(quat) | mag_sqr(quat) | normalize(quat) | normalized(quat) | operator!=(quat,quat) | operator*(quat,quat) | operator*(quat,scalar) | operator*(quat,vec) | operator*=(quat,quat) | operator*=(quat,scalar) | operator+(quat,quat) | operator+=(quat,quat) | operator-(quat) | operator-(quat,quat) | operator-=(quat,quat) | operator/(quat,scalar) | operator/=(quat,scalar) | operator==(quat,quat) | qref | quat_traits | rotate(quat,vec,scalar) | rotate_x(quat,scalar) | rotate_y(quat,scalar) | rotate_z(quat,scalar) | scalar | scalar_cast(quat) | set_identity(quat) | set_rot(quat,vec,scalar) | set_rotx(quat,scalar) | set_roty(quat,scalar) | set_rotz(quat,scalar) | set_zero(quat) | slerp