名前空間
変種
操作

std::same_as

提供: cppreference.com
< cpp‎ | concepts
ヘッダ <concepts> で定義
template < class T, class U >
concept same_as = /* see below */;
(C++20以上)

コンセプト same_as<T, U> は、 TU が同じ型を表す場合に限り、満たされます。

std::same_as<T, U>std::same_as<U, T> を含み、逆も同様です。

[編集] 実装例

namespace detail {
    template< class T, class U >
    concept SameHelper = std::is_same_v<T, U>;
}
 
template< class T, class U >
concept same_as = detail::SameHelper<T, U> && detail::SameHelper<U, T>;

[編集] 関連項目

(C++11)
2つの型が同じかどうか調べます
(クラステンプレート) [edit]