名前空間
変種
操作

std::common_reference_with

From cppreference.com
< cpp‎ | concepts
 
 
 
ヘッダ <concepts> で定義
template< class T, class U >

concept common_reference_with =
    std::same_as<std::common_reference_t<T, U>, std::common_reference_t<U, T>> &&
    std::convertible_to<T, std::common_reference_t<T, U>> &&

    std::convertible_to<U, std::common_reference_t<T, U>>;
(C++20以降)

コンセプトcommon_reference_with<T, U>は、2つの型TUが、両方が変換可能な、共通の参照型(std::common_reference_tによって計算される)を共有することを示します。

[編集] 意味要件

TとUはstd::common_reference_with<T, U>をモデル化するのは、等価性を保持するt1t2u1u2が存在し、decltype((t1))decltype((t2))が両方ともTであり、decltype((u1))decltype((u2))が両方ともUである場合のみです。

言い換えると、共通参照型への変換は等価性を保持しなければなりません。

[編集] 参照

  • C++23標準 (ISO/IEC 14882:2024)
  • 18.4.5 Concept common_reference_with [concept.commonref]
  • C++20 standard (ISO/IEC 14882:2020)
  • 18.4.5 Concept common_reference_with [concept.commonref]

[編集] 関連項目

型のグループの共通の参照型を決定する
(クラステンプレート) [編集]
2つの型が共通の型を共有することを規定する
(コンセプト) [編集]
型のグループの共通の型を決定する
(クラステンプレート) [編集]
English 日本語 中文(简体) 中文(繁體)