Namespaces
Variants

std:: common_with

From cppreference.net
定义于头文件 <concepts>
(C++20 起)

概念 common_with<T, U> 规定两个类型 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 类型时,

换句话说,转换为通用类型的操作必须 保持相等性

等值保持性

标准库概念的 requires 表达式 中声明的表达式必须满足 等值保持 要求(除非另有说明)。

参考文献

  • 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]

另请参阅

确定一组类型的公共类型
(类模板)
确定一组类型的公共引用类型
(类模板)
指定两种类型共享公共引用类型
(概念)