Namespaces
Variants
Actions

std::numeric_limits<T>::has_infinity

From cppreference.com
 
 
 
 
 
staticconstbool has_infinity;
(until C++11)
staticconstexprbool has_infinity;
(since C++11)

The value of std::numeric_limits<T>::has_infinity is true for all types T capable of representing the positive infinity as a distinct special value. This constant is meaningful for all floating-point types and is guaranteed to be true if std::numeric_limits<T>::is_iec559==true.

[edit]Standard specializations

T value of std::numeric_limits<T>::has_infinity
/* non-specialized */false
boolfalse
charfalse
signedcharfalse
unsignedcharfalse
wchar_tfalse
char8_t(since C++20)false
char16_t(since C++11)false
char32_t(since C++11)false
shortfalse
unsignedshortfalse
intfalse
unsignedintfalse
longfalse
unsignedlongfalse
longlong(since C++11)false
unsignedlonglong(since C++11)false
float usually true
double usually true
longdouble usually true

[edit]Example

#include <iostream>#include <limits>   int main(){std::cout<<std::boolalpha<<std::numeric_limits<int>::has_infinity<<'\n'<<std::numeric_limits<long>::has_infinity<<'\n'<<std::numeric_limits<float>::has_infinity<<'\n'<<std::numeric_limits<double>::has_infinity<<'\n';}

Possible output:

false false true true

[edit]See also

[static]
returns the positive infinity value of the given floating-point type
(public static member function)[edit]
identifies floating-point types that can represent the special value "quiet not-a-number" (NaN)
(public static member constant)[edit]
identifies floating-point types that can represent the special value "signaling not-a-number" (NaN)
(public static member constant)[edit]
close