std::experimental::ranges::UnsignedIntegral
From cppreference.com
                    
                                        
                    < cpp | experimental | ranges
                    
                                                            
                    | Defined in header  <experimental/ranges/concepts> | ||
| template < class T > concept bool UnsignedIntegral = Integral<T> && !SignedIntegral<T>; | (ranges TS) | |
The concept UnsignedIntegral<T> is satisfied if and only if T is an integral type and std::is_signed<T>::value is false.
Notes
UnsignedIntegral<T> may be satisfied by a type that is not a unsigned integer type, for example, bool.
See also
| (C++11) | checks if a type is an integral type (class template) | 
| (C++11) | checks if a type is a signed arithmetic type (class template) |