std::Same
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header  <concepts>
  | 
||
|   template < class T, class U > concept Same = /* see below */;  | 
(since C++20) | |
The concept Same<T, U> is satisfied if and only if T and U denote the same type.
std::Same<T, U> subsumes std::Same<U, T> and vice versa.
Possible implementation
namespace detail { template< class T, class U > concept SameHelper = std::is_same_v<T, U>; } template< class T, class U > concept Same = detail::SameHelper<T, U> && detail::SameHelper<U, T>;  | 
See also
|    (C++11)  | 
   checks if two types are the same   (class template)  |