Namespaces
Variants

std:: common_with

From ja.cppreference.net
定義済みヘッダー <concepts>
(C++20以降)

common_with<T, U>コンセプトは、2つの型TとUが共通の型(std::common_type_tによって計算される)を共有し、両方がその型に変換可能であることを指定します。

目次

セマンティック要件

TとUは std :: common_with < T, U > をモデルするのは、以下の条件が満たされる場合に限る: 等価性を保存する 式 t1 、 t2 、 u1 および u2 が与えられたとき、 decltype ( ( t1 ) ) と decltype ( ( t2 ) ) がともに T であり、 decltype ( ( u1 ) ) と decltype ( ( u2 ) ) がともに U である場合、

言い換えれば、共通の型への変換は equality preservation を満たさなければならない。

等価性保存

標準ライブラリコンセプトの requires 式 で宣言された式は、 equality-preserving であることが要求されます(特に明記されている場合を除く)。

参考文献

  • C++23規格 (ISO/IEC 14882:2024):
  • 18.4.6 コンセプト common_with [concept.common]
  • C++20標準 (ISO/IEC 14882:2020):
  • 18.4.6 コンセプト common_with [concept.common]

関連項目

型のグループの共通型を決定する
(クラステンプレート)
型のグループの共通参照型を決定する
(クラステンプレート)
2つの型が共通の参照型を共有することを指定する
(コンセプト)