My Project
is_signed.hpp
Go to the documentation of this file.
1 
28 #ifndef BSL_IS_SIGNED_HPP
29 #define BSL_IS_SIGNED_HPP
30 
31 #include "bool_constant.hpp"
32 #include "cstdint.hpp"
33 #include "is_floating_point.hpp"
34 #include "true_type.hpp"
35 
36 namespace bsl
37 {
55  template<typename T>
56  class is_signed final : // --
57  public bool_constant<is_floating_point<T>::value>
58  {};
59 
61 
62  template<>
63  class is_signed<bsl::int8> final : public true_type
64  {};
65 
66  template<>
67  class is_signed<bsl::int8 const> final : public true_type
68  {};
69 
70  template<>
71  class is_signed<bsl::int16> final : public true_type
72  {};
73 
74  template<>
75  class is_signed<bsl::int16 const> final : public true_type
76  {};
77 
78  template<>
79  class is_signed<bsl::int32> final : public true_type
80  {};
81 
82  template<>
83  class is_signed<bsl::int32 const> final : public true_type
84  {};
85 
86  template<>
87  class is_signed<bsl::int64> final : public true_type
88  {};
89 
90  template<>
91  class is_signed<bsl::int64 const> final : public true_type
92  {};
93 
95 }
96 
97 #endif
If the provided type is a signed type (taking into account const qualifications), provides the member...
Definition: is_signed.hpp:56
::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
::int8_t int8
defines an 8bit signed integer
Definition: cstdint.hpp:36
::int32_t int32
defines an 32bit signed integer
Definition: cstdint.hpp:40