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