Namespaces
Variants

std:: common_with

From 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つの型が共通の参照型を共有することを指定する
(コンセプト)