std::integral - cppreference.com (original) (raw)
The concept integral<T> is satisfied if and only if T
is an integral type.
[edit] Example
#include #include void print(std::integral auto i) { std::cout << "Integral: " << i << '\n'; } void print(auto x) { std::cout << "Non-integral: " << x << '\n'; } int main() { std::cout << std::boolalpha; static_assert(std::integral); print(true); static_assert(std::integral); print('o'); static_assert(std::integral); print(007); static_assert( ! std::integral ); print(2e2); static_assert( ! std::integral<decltype("")> ); print("∫∫∫"); }
Output:
Integral: true Integral: o Integral: 7 Non-integral: 200 Non-integral: ∫∫∫
[edit] References
C++23 standard (ISO/IEC 14882:2024):
18.4.7 Arithmetic concepts [concepts.arithmetic]
C++20 standard (ISO/IEC 14882:2020):
18.4.7 Arithmetic concepts [concepts.arithmetic]