//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #include #include struct my_quat { }; namespace boost { namespace qvm { template <> struct quat_traits { typedef int scalar_type; template static int read_element( my_quat const & ); template static int & write_element( my_quat & ); }; } } int main() { using namespace boost::qvm; my_quat const q=my_quat(); A<3>(V(q)); return 1; }