]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/boost/qvm/gen/vec_assign4.hpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / boost / qvm / gen / vec_assign4.hpp
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
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