# QVM: Quaternions, Vectors, Matrices

### Macros and Configuration

#include <boost/qvm/inline.hpp>
#include <boost/qvm/assert.hpp>
#include <boost/qvm/static_assert.hpp>
#include <boost/qvm/throw_exception.hpp>

    //*** Macros ***

    #ifndef BOOST_QVM_FORCE_INLINE
    #define BOOST_QVM_FORCE_INLINE /*platform-specific*/
    #endif

    #ifndef BOOST_QVM_INLINE
    #define BOOST_QVM_INLINE inline
    #endif

    #ifndef BOOST_QVM_INLINE_TRIVIAL
    #define BOOST_QVM_INLINE_TRIVIAL BOOST_QVM_FORCE_INLINE
    #endif

    #ifndef BOOST_QVM_INLINE_CRITICAL
    #define BOOST_QVM_INLINE_CRITICAL BOOST_QVM_FORCE_INLINE
    #endif

    #ifndef BOOST_QVM_INLINE_OPERATIONS
    #define BOOST_QVM_INLINE_OPERATIONS BOOST_QVM_INLINE
    #endif

    #ifndef BOOST_QVM_INLINE_RECURSION
    #define BOOST_QVM_INLINE_RECURSION BOOST_QVM_INLINE_OPERATIONS
    #endif

    #ifndef BOOST_QVM_ASSERT
    #include <boost/assert.hpp>
    #define BOOST_QVM_ASSERT BOOST_ASSERT
    #endif

    #ifndef BOOST_QVM_STATIC_ASSERT
    #include <boost/static_assert.hpp>
    #define BOOST_QVM_STATIC_ASSERT BOOST_STATIC_ASSERT
    #endif

    #ifndef BOOST_QVM_THROW_EXCEPTION
    #include <boost/throw_exception.hpp>
    #define BOOST_QVM_THROW_EXCEPTION BOOST_THROW_EXCEPTION
    #endif

See also: Boost QVM | Synopsis