Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-09-17 08:49:51

0001 #ifndef BOOST_QVM_QUAT_TRAITS_DEFAULTS_HPP_INCLUDED
0002 #define BOOST_QVM_QUAT_TRAITS_DEFAULTS_HPP_INCLUDED
0003 
0004 // Copyright 2008-2024 Emil Dotchevski and Reverge Studios, Inc.
0005 // Distributed under the Boost Software License, Version 1.0. (See accompanying
0006 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0007 
0008 #include <boost/qvm/config.hpp>
0009 #include <boost/qvm/assert.hpp>
0010 
0011 namespace boost { namespace qvm {
0012 
0013 template <class>
0014 struct quat_traits;
0015 
0016 template <class QuatType,class ScalarType>
0017 struct
0018 quat_traits_defaults
0019     {
0020     typedef QuatType quat_type;
0021     typedef ScalarType scalar_type;
0022 
0023     template <int I>
0024     static
0025     BOOST_QVM_CONSTEXPR BOOST_QVM_INLINE_CRITICAL
0026     scalar_type
0027     read_element( quat_type const & x )
0028         {
0029         return quat_traits<quat_type>::template write_element<I>(const_cast<quat_type &>(x));
0030         }
0031     };
0032 
0033 } }
0034 
0035 #endif