1 //Copyright (c) 2008-2017 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 #ifndef BOOST_QVM_2D7E8392C53CBC9121E33749ECF4D5 7 #define BOOST_QVM_2D7E8392C53CBC9121E33749ECF4D5 8 9 //This file was generated by a program. Do not edit manually. 10 11 #include <boost/qvm/enable_if.hpp> 12 #include <boost/qvm/inline.hpp> 13 #include <boost/qvm/vec_traits.hpp> 14 15 namespace 16 boost 17 { 18 namespace 19 qvm 20 { 21 template <class A,class B> 22 BOOST_QVM_INLINE_OPERATIONS 23 typename enable_if_c< 24 vec_traits<A>::dim==3 && vec_traits<B>::dim==3, 25 A &>::type assign(A & a,B const & b)26 assign( A & a, B const & b ) 27 { 28 vec_traits<A>::template write_element<0>(a)=vec_traits<B>::template read_element<0>(b); 29 vec_traits<A>::template write_element<1>(a)=vec_traits<B>::template read_element<1>(b); 30 vec_traits<A>::template write_element<2>(a)=vec_traits<B>::template read_element<2>(b); 31 return a; 32 } 33 34 namespace 35 sfinae 36 { 37 using ::boost::qvm::assign; 38 } 39 40 namespace 41 qvm_detail 42 { 43 template <int D> 44 struct assign_vv_defined; 45 46 template <> 47 struct 48 assign_vv_defined<3> 49 { 50 static bool const value=true; 51 }; 52 } 53 54 } 55 } 56 57 #endif 58