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/vec_access.hpp> 7 8 template <int D> struct my_vec { }; 9 10 namespace 11 boost 12 { 13 namespace 14 qvm 15 { 16 template <int D> 17 struct 18 vec_traits< my_vec<D> > 19 { 20 typedef int scalar_type; 21 static int const dim=D; 22 template <int I> static int read_element( my_vec<D> const & ); 23 template <int I> static int & write_element( my_vec<D> & ); 24 }; 25 } 26 } 27 28 int main()29main() 30 { 31 using namespace boost::qvm; 32 my_vec<1> const v=my_vec<1>(); 33 A1(v); 34 return 1; 35 } 36