- utility[meta header]
- std[meta namespace]
- class template[meta id-type]
- cpp23[meta cpp]
namespace std {
template<class T1, class T2, class U1, class U2,
template<class> class TQual, template<class> class UQual>
struct basic_common_reference<pair<T1, T2>, pair<U1, U2>, TQual, UQual> {
using type = pair<common_reference_t<TQual<T1>, UQual<U1>>,
common_reference_t<TQual<T2>, UQual<U2>>>;
};
}
- basic_common_reference[link /reference/type_traits/basic_common_reference.md]
- pair[link ../pair.md]
- common_reference_t[link /reference/type_traits/common_reference.md]
pair
について、common_reference
で共通の参照型を取得できるようにアダプトするbasic_common_reference
の特殊化である。
ユーザーが直接この特殊化を利用する必要はない。common_reference
を使用すること。
pair
<
common_reference_t
<TQual<T1>, UQual<U1>>,
common_reference_t
<TQual<T2>, UQual<U2>>>
によって得られた型をメンバ型type
として定義する。
pair
<
common_reference_t
<TQual<T1>, UQual<U1>>,
common_reference_t
<TQual<T2>, UQual<U2>>>
が型を表すこと。
- C++23
- Clang: ???
- GCC: ???
- ICC: ???
- Visual C++: ???