namespace std {
template <typename T>
concept tuple-like = /*see below*/; // 説明専用コンセプト
}
概要
tuple-like
は型T
がtuple
のような型であることを表現する説明専用コンセプトである。なお、pair
のような型を表現するpair-like
も存在する。
array
、pair
、tuple
、ranges::subrange
らの互換性を高める(相互に構築・比較などが出来るようにする)ためなどに使用される。
要件
std::remove_cvref_t<T>
が次の特殊化であること。
備考
将来的にstd::get()
やそれに近しいカスタマイゼーションポイントオブジェクト(CPO)が定義されれば、tuple-like
のモデルになる型は広がる可能性があるとされている。
バージョン
言語
- C++23
処理系
- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??