diff options
Diffstat (limited to 'boost/qvm/detail/quat_assign.hpp')
-rw-r--r-- | boost/qvm/detail/quat_assign.hpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/boost/qvm/detail/quat_assign.hpp b/boost/qvm/detail/quat_assign.hpp new file mode 100644 index 0000000000..87b2cf1f62 --- /dev/null +++ b/boost/qvm/detail/quat_assign.hpp @@ -0,0 +1,35 @@ +//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_86A42DA4385511E7822024B881262D2E
+#define UUID_86A42DA4385511E7822024B881262D2E
+
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/enable_if.hpp>
+#include <boost/qvm/quat_traits.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_quat<A>::value && is_quat<B>::value,
+ A &>::type
+ assign( A & a, B const & b )
+ {
+ quat_traits<A>::template write_element<0>(a) = quat_traits<B>::template read_element<0>(b);
+ quat_traits<A>::template write_element<1>(a) = quat_traits<B>::template read_element<1>(b);
+ quat_traits<A>::template write_element<2>(a) = quat_traits<B>::template read_element<2>(b);
+ quat_traits<A>::template write_element<3>(a) = quat_traits<B>::template read_element<3>(b);
+ return a;
+ }
+ }
+ }
+
+#endif
|