Boost QVM defines a set of generic functions and operator overloads for working with quaternions, vectors and matrices of static size. The library also defines vector and matrix data types, however it allows users to introduce their own types by specializing the *q_traits*, *v_traits* and *m_traits* templates.

Note that Boost QVM is not part of Boost. Please post questions and suggestions on the Boost Developers Mailing List.

Click here to download the source code and this documentation.

- Tutorial
- Reference
- Type traits
- Quaternion, vector and matrix types
- Accessing quaternion elements
- Accessing vector elements and swizzling
- Accessing matrix elements
- Quaternion operations
- Vector operations
- Matrix operations
- Quaternion-vector operations
- Vector-matrix operations
- Matrix-to-matrix view proxies
- Vector-to-matrix view proxies
- Matrix-to-vector view proxies
- Generic programming utilities
- Exception types
- macros and configuration
- Namespace boost::qvm::sfinae

- Synopsis
- Rationale for overloading operator%
- Indexes