std::numeric_limits<T>::is_signed (3) - Linux Manuals

std::numeric_limits<T>::is_signed: std::numeric_limits<T>::is_signed


std::numeric_limits<T>::is_signed - std::numeric_limits<T>::is_signed


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.

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
char8_t false
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

See also

is_signed checks if a type is a signed arithmetic type
           (class template)

is_integer identifies integer types
           (public static member constant)

is_exact identifies exact types
           (public static member constant)

is_bounded identifies types that represent a finite set of values
           (public static member constant)