# std::Same

From cppreference.com
< cpp‎ | concepts

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

is_same (C++11) | checks if two types are the same (class template)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/concepts/Same&oldid=109426"