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++: ??