std::integral
Материал из cppreference.com
Определено в заголовочном файле <concepts>
|
||
template < class T > concept integral = std::is_integral_v<T>; |
(начиная с C++20) | |
Концепт integral<T> выполняется тогда и только тогда, когда T
является целочисленным типом.
[править] Пример
Запустить этот код
#include <concepts> #include <iostream> void print(std::integral auto i) { std::cout << "Целое: " << i << '\n'; } void print(auto x) { std::cout << "Не целое: " << x << '\n'; } int main() { std::cout << std::boolalpha; static_assert( std::integral<bool> ); print(true); static_assert( std::integral<char> ); print('o'); static_assert( std::integral<int> ); print(007); static_assert( not std::integral<double> ); print(2e2); static_assert( not std::integral<decltype("")> ); print("∫∫∫"); }
Вывод:
Целое: true Целое: o Целое: 7 Не целое: 200 Не целое: ∫∫∫
[править] Смотрите также
(C++11) |
проверяет, является ли тип целочисленным типом (шаблон класса) |