]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/boost/qvm/detail/quat_assign.hpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / boost / qvm / detail / quat_assign.hpp
1 //Copyright (c) 2008-2016 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 UUID_86A42DA4385511E7822024B881262D2E
7 #define UUID_86A42DA4385511E7822024B881262D2E
8
9 #include <boost/qvm/inline.hpp>
10 #include <boost/qvm/enable_if.hpp>
11 #include <boost/qvm/quat_traits.hpp>
12
13 namespace
14 boost
15 {
16 namespace
17 qvm
18 {
19 template <class A,class B>
20 BOOST_QVM_INLINE_OPERATIONS
21 typename enable_if_c<
22 is_quat<A>::value && is_quat<B>::value,
23 A &>::type
24 assign( A & a, B const & b )
25 {
26 quat_traits<A>::template write_element<0>(a) = quat_traits<B>::template read_element<0>(b);
27 quat_traits<A>::template write_element<1>(a) = quat_traits<B>::template read_element<1>(b);
28 quat_traits<A>::template write_element<2>(a) = quat_traits<B>::template read_element<2>(b);
29 quat_traits<A>::template write_element<3>(a) = quat_traits<B>::template read_element<3>(b);
30 return a;
31 }
32 }
33 }
34
35 #endif