1 //Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc. 2 3 //Distributed under the Boost Software License, Version 1.0. (See accompanying 4 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 6 #include <boost/qvm/quat_access.hpp> 7 #include <boost/qvm/vec_access.hpp> 8 9 struct my_quat { }; 10 11 namespace 12 boost 13 { 14 namespace 15 qvm 16 { 17 template <> 18 struct 19 quat_traits<my_quat> 20 { 21 typedef int scalar_type; 22 template <int I> static int read_element( my_quat const & ); 23 template <int I> static int & write_element( my_quat & ); 24 }; 25 } 26 } 27 28 int main()29main() 30 { 31 using namespace boost::qvm; 32 my_quat const q=my_quat(); 33 A<3>(V(q)); 34 return 1; 35 } 36