]>
Commit | Line | Data |
---|---|---|
1e59de90 TL |
1 | #ifndef BOOST_QVM_GEN_VEC_ASSIGN2_HPP_INCLUDED |
2 | #define BOOST_QVM_GEN_VEC_ASSIGN2_HPP_INCLUDED | |
92f5a8d4 | 3 | |
1e59de90 | 4 | // Copyright 2008-2022 Emil Dotchevski and Reverge Studios, Inc. |
92f5a8d4 | 5 | |
1e59de90 TL |
6 | // Distributed under the Boost Software License, Version 1.0. (See accompanying |
7 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
92f5a8d4 | 8 | |
1e59de90 | 9 | // This file was generated by a program. Do not edit manually. |
92f5a8d4 TL |
10 | |
11 | #include <boost/qvm/enable_if.hpp> | |
12 | #include <boost/qvm/inline.hpp> | |
13 | #include <boost/qvm/vec_traits.hpp> | |
14 | ||
1e59de90 TL |
15 | namespace boost { namespace qvm { |
16 | ||
17 | template <class A,class B> | |
18 | BOOST_QVM_CONSTEXPR BOOST_QVM_INLINE_OPERATIONS | |
19 | typename enable_if_c< | |
20 | vec_traits<A>::dim==2 && vec_traits<B>::dim==2, | |
21 | A &>::type | |
22 | assign( A & a, B const & b ) | |
23 | { | |
24 | vec_traits<A>::template write_element<0>(a)=vec_traits<B>::template read_element<0>(b); | |
25 | vec_traits<A>::template write_element<1>(a)=vec_traits<B>::template read_element<1>(b); | |
26 | return a; | |
27 | } | |
28 | ||
29 | namespace | |
30 | sfinae | |
31 | { | |
32 | using ::boost::qvm::assign; | |
33 | } | |
34 | ||
92f5a8d4 | 35 | namespace |
1e59de90 | 36 | qvm_detail |
92f5a8d4 | 37 | { |
1e59de90 TL |
38 | template <int D> |
39 | struct assign_vv_defined; | |
40 | ||
41 | template <> | |
42 | struct | |
43 | assign_vv_defined<2> | |
92f5a8d4 | 44 | { |
1e59de90 TL |
45 | static bool const value=true; |
46 | }; | |
92f5a8d4 TL |
47 | } |
48 | ||
1e59de90 TL |
49 | } } |
50 | ||
92f5a8d4 | 51 | #endif |