• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_D49FD4A4597E35CF3222F4CCCFD3902D
7 #define BOOST_QVM_D49FD4A4597E35CF3222F4CCCFD3902D
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==4 && vec_traits<B>::dim==4,
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             vec_traits<A>::template write_element<3>(a)=vec_traits<B>::template read_element<3>(b);
32             return a;
33             }
34 
35         namespace
36         sfinae
37             {
38             using ::boost::qvm::assign;
39             }
40 
41         namespace
42         qvm_detail
43             {
44             template <int D>
45             struct assign_vv_defined;
46 
47             template <>
48             struct
49             assign_vv_defined<4>
50                 {
51                 static bool const value=true;
52                 };
53             }
54 
55         }
56     }
57 
58 #endif
59