type-classifier.hpp
Go to the documentation of this file.
1 #ifndef BOOST_DETAIL_ATOMIC_TYPE_CLASSIFIER_HPP
2 #define BOOST_DETAIL_ATOMIC_TYPE_CLASSIFIER_HPP
3 
4 // Copyright (c) 2011 Helge Bahmann
5 //
6 // Distributed under the Boost Software License, Version 1.0.
7 // See accompanying file LICENSE_1_0.txt or copy at
8 // http://www.boost.org/LICENSE_1_0.txt)
9 
10 namespace boost { namespace detail { namespace atomic {
11 
12 template<typename T>
14  typedef void test;
15 };
16 
17 template<>
18 struct type_classifier<char> {typedef int test;};
19 template<>
20 struct type_classifier<unsigned char> {typedef int test;};
21 template<>
22 struct type_classifier<signed char> {typedef int test;};
23 template<>
24 struct type_classifier<unsigned short> {typedef int test;};
25 template<>
26 struct type_classifier<signed short> {typedef int test;};
27 template<>
28 struct type_classifier<unsigned int> {typedef int test;};
29 template<>
30 struct type_classifier<signed int> {typedef int test;};
31 template<>
32 struct type_classifier<unsigned long> {typedef int test;};
33 template<>
34 struct type_classifier<long> {typedef int test;};
35 #ifdef BOOST_HAS_LONG_LONG
36 template<> struct type_classifier<unsigned long long>
37 {typedef int test;};
38 template<> struct type_classifier<signed long long>
39 {typedef int test;};
40 #endif
41 
42 template<typename T>
43 struct type_classifier<T *> {typedef void * test;};
44 
45 template<typename T>
46 struct sign_trait {
47  typedef void test;
48 };
49 
50 template<>
51 struct sign_trait<char> {typedef int test;};
52 template<>
53 struct sign_trait<unsigned char> {typedef unsigned int test;};
54 template<>
55 struct sign_trait<signed char> {typedef int test;};
56 template<>
57 struct sign_trait<unsigned short> {typedef unsigned int test;};
58 template<>
59 struct sign_trait<signed short> {typedef int test;};
60 template<>
61 struct sign_trait<unsigned int> {typedef unsigned int test;};
62 template<>
63 struct sign_trait<signed int> {typedef int test;};
64 template<>
65 struct sign_trait<unsigned long> {typedef unsigned int test;};
66 template<>
67 struct sign_trait<long> {typedef int test;};
68 #ifdef BOOST_HAS_LONG_LONG
69 template<> struct sign_trait<unsigned long long>
70 {typedef unsigned int test;};
71 template<> struct sign_trait<signed long long>
72 {typedef int test;};
73 #endif
74 
75 
76 
77 }}}
78 
79 #endif
Definition: base.hpp:116


rosatomic
Author(s): Josh Faust
autogenerated on Fri Apr 5 2019 02:16:35