std::unsigned_integral(3)

NAME
std::unsigned_integral - std::unsigned_integral

Synopsis
   Defined in header <concepts>
   template < class T >
   concept unsigned_integral = std::integral<T> && (since C++20)
   !std::signed_integral<T>;
   The concept unsigned_integral<T> is satisfied if and only if T is an integral type
   and std::is_signed_v<T> is false.

Notes
   unsigned_integral<T> may be satisfied by a type that is not an unsigned integer
   type, for example, bool.

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