std::numeric_limits::is_signed

From cppreference.com
 
 
 
Type support
Basic types
Fundamental types
Fixed width integer types (C++11)
Numeric limits
C numeric limits interface
Runtime type information
Type traits
Primary type categories
(C++11)
(C++14)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Type properties
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++14)
(C++11)
Supported operations
Relationships and property queries
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Type modifications
(C++11)(C++11)(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
Type transformations
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Type trait constants
 
 
static const bool is_signed;
(until C++11)
static constexpr bool is_signed;
(since C++11)

The value of std::numeric_limits<T>::is_signed is true for all signed arithmetic types T and false for the unsigned types. This constant is meaningful for all specializations.

[edit] Standard specializations

T value of std::numeric_limits<T>::is_signed
/* non-specialized */ false
bool false
char implementation-defined
signed char true
unsigned char false
wchar_t implementation-defined
char16_t false
char32_t false
short true
unsigned short false
int true
unsigned int false
long true
unsigned long false
long long true
unsigned long long false
float true
double true
long double true

[edit] See also

(C++11)
checks if a type is signed integer type
(class template)
[static]
identifies integer types
(public static member constant)
[static]
identifies exact types
(public static member constant)
[static]
identifies types that represent a finite set of values
(public static member constant)