
This is a library for working with Quaternions, Vectors and Matrices of static size. A type traits system is used to enable generic namespace-scope (operator) function templates that implement various Q, V and M operations for any (user-defined) compatible type. The library also defines view proxies which provide lvalue or rvalue access to objects as if they are of a different type. For example, col<1>(m) refers to column 1 of the matrix m as if it is a vector. This system works without creating temporary objects, and should enjoy zero abstraction penalty with most compilers (assuming inlining works.) The online documentation is at http://revergestudios.com/boost-qvm. Complete source code and documentation can be downloaded here: http://revergestudios.com/boost-qvm/boost-qvm.zip. Note: QVM supersedes (Boost) LA which was submitted for preliminary review about a year ago. It adds a few missing pieces (most notably support for quaternions), uses shorter names for types and functions, and is organized into fewer header files. Thanks, Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode