My Project
is_integral.hpp
Go to the documentation of this file.
1 
28 #ifndef BSL_IS_INTEGRAL_HPP
29 #define BSL_IS_INTEGRAL_HPP
30 
31 #include "cstdint.hpp"
32 #include "true_type.hpp"
33 #include "false_type.hpp"
34 
35 namespace bsl
36 {
54  template<typename T>
55  class is_integral final : public false_type
56  {};
57 
59 
60  template<>
61  class is_integral<bool> final : public true_type
62  {};
63 
64  template<>
65  class is_integral<bool const> final : public true_type
66  {};
67 
68  template<>
69  class is_integral<bsl::int8> final : public true_type
70  {};
71 
72  template<>
73  class is_integral<bsl::int8 const> final : public true_type
74  {};
75 
76  template<>
77  class is_integral<bsl::int16> final : public true_type
78  {};
79 
80  template<>
81  class is_integral<bsl::int16 const> final : public true_type
82  {};
83 
84  template<>
85  class is_integral<bsl::int32> final : public true_type
86  {};
87 
88  template<>
89  class is_integral<bsl::int32 const> final : public true_type
90  {};
91 
92  template<>
93  class is_integral<bsl::int64> final : public true_type
94  {};
95 
96  template<>
97  class is_integral<bsl::int64 const> final : public true_type
98  {};
99 
100  template<>
101  class is_integral<bsl::uint8> final : public true_type
102  {};
103 
104  template<>
105  class is_integral<bsl::uint8 const> final : public true_type
106  {};
107 
108  template<>
109  class is_integral<bsl::uint16> final : public true_type
110  {};
111 
112  template<>
113  class is_integral<bsl::uint16 const> final : public true_type
114  {};
115 
116  template<>
117  class is_integral<bsl::uint32> final : public true_type
118  {};
119 
120  template<>
121  class is_integral<bsl::uint32 const> final : public true_type
122  {};
123 
124  template<>
125  class is_integral<bsl::uint64> final : public true_type
126  {};
127 
128  template<>
129  class is_integral<bsl::uint64 const> final : public true_type
130  {};
131 
133 }
134 
135 #endif
::uint8_t uint8
defines an 8bit unsigned integer
Definition: cstdint.hpp:45
::uint16_t uint16
defines an 16bit unsigned integer
Definition: cstdint.hpp:47
::int64_t int64
defines an 64bit signed integer
Definition: cstdint.hpp:42
bool_constant< true > true_type
provides a bool_constant that represents "true"
Definition: true_type.hpp:36
::int16_t int16
defines an 16bit signed integer
Definition: cstdint.hpp:38
If the provided type is an array type (taking into account const qualifications), provides the member...
Definition: integral_constant.hpp:45
::uint32_t uint32
defines an 32bit unsigned integer
Definition: cstdint.hpp:49
::int8_t int8
defines an 8bit signed integer
Definition: cstdint.hpp:36
If the provided type is an integral type (taking into account const qualifications),...
Definition: is_integral.hpp:55
::int32_t int32
defines an 32bit signed integer
Definition: cstdint.hpp:40
::uint64_t uint64
defines an 64bit unsigned integer
Definition: cstdint.hpp:51