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_61CDD11E9D9C167272E61DF0844F4A77
7 #define BOOST_QVM_61CDD11E9D9C167272E61DF0844F4A77
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==2 && vec_traits<B>::dim==2,
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             return a;
31             }
32 
33         namespace
34         sfinae
35             {
36             using ::boost::qvm::assign;
37             }
38 
39         namespace
40         qvm_detail
41             {
42             template <int D>
43             struct assign_vv_defined;
44 
45             template <>
46             struct
47             assign_vv_defined<2>
48                 {
49                 static bool const value=true;
50                 };
51             }
52 
53         }
54     }
55 
56 #endif
57