NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
common_with 概念参考

检查两个类型是否有公共类型 更多...

#include <concepts.hpp>

概念定义

template<typename T1, typename T2>
concept common_with =
requires {
requires {
static_cast<common_type_t<T1, T2>>(_NEFORCE declval<T1>());
static_cast<common_type_t<T1, T2>>(_NEFORCE declval<T2>());
检查两个类型是否有公共引用类型
检查两个类型是否有公共类型
检查两个类型是否完全相同
typename add_reference< T >::lvalue add_lvalue_reference_t
add_lvalue_reference的便捷别名
add_rvalue_reference_t< T > declval() noexcept
获取类型的右值引用,仅用于非求值上下文
typename common_type< Types... >::type common_type_t
common_type的便捷别名
typename common_reference< Types... >::type common_reference_t
common_reference的便捷别名

详细描述

检查两个类型是否有公共类型

模板参数
T1第一个类型
T2第二个类型

要求:

  1. T1和T2有公共类型
  2. 公共类型对称
  3. T1和T2都可以转换为公共类型
  4. 满足公共引用相关约束

在文件 concepts.hpp65 行定义.