home | help
std::integral(3)	       C++ Standard Libary		std::integral(3)

NAME
     std::integral - std::integral

Synopsis
	Defined in header <concepts>
	template< class T >			   (since C++20)
	concept integral = std::is_integral_v<T>;

	The  concept  integral<T>  is  satisfied if and only if T is an integral
     type.

Example
     // Run this code

      #include <concepts>
      #include <iostream>

      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<bool>);
	  print(true);

	  static_assert(std::integral<char>);
	  print('o');

	  static_assert(std::integral<int>);
	  print(007);

	  static_assert( ! std::integral<double> );
	  print(2e2);

	  static_assert( ! std::integral<decltype("")> );
	  print("a<<a<<a<<");
      }

Output:
      Integral: true
      Integral: o
      Integral: 7
      Non-integral: 200
      Non-integral: a<<a<<a<<

See also
	is_integral checks if a type is an integral type
	(C++11)     (class template)

http://cppreference.com 	   2024.06.10			std::integral(3)

home | help