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 BOOST_QVM_EF321CBE275911E084A4550FDFD72085 7 #define BOOST_QVM_EF321CBE275911E084A4550FDFD72085 8 9 namespace 10 boost 11 { 12 namespace 13 qvm 14 { 15 template <class Q> 16 struct 17 quat_traits 18 { 19 typedef void scalar_type; 20 }; 21 22 namespace 23 is_quaternion_detail 24 { 25 template <class> 26 struct 27 is_void 28 { 29 static bool const value=false; 30 }; 31 32 template <> 33 struct 34 is_void<void> 35 { 36 static bool const value=true; 37 }; 38 } 39 40 template <class T> 41 struct 42 is_quat 43 { 44 static bool const value=!is_quaternion_detail::is_void<typename quat_traits<T>::scalar_type>::value; 45 }; 46 } 47 } 48 49 #endif 50