]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/boost/qvm/detail/quat_assign.hpp
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / boost / qvm / detail / quat_assign.hpp
CommitLineData
92f5a8d4
TL
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
13namespace
14boost
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