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
{
typename
common_type_t<T1, T2>
;
typename
common_type_t<T2, T1>
;
} &&
same_as<common_type_t<T1, T2>
,
common_type_t<T2, T1>
> &&
requires
{
static_cast<
common_type_t<T1, T2>
>
(_NEFORCE
declval<T1>
());
static_cast<
common_type_t<T1, T2>
>
(_NEFORCE
declval<T2>
());
} &&
common_reference_with<add_lvalue_reference_t<const T1>
,
add_lvalue_reference_t<const T2>
> &&
common_reference_with<add_lvalue_reference_t<common_type_t<T1, T2>
>,
common_reference_t<add_lvalue_reference_t<const T1>
,
add_lvalue_reference_t<const T2>
>>
common_reference_with
检查两个类型是否有公共引用类型
定义
concepts.hpp:45
common_with
检查两个类型是否有公共类型
定义
concepts.hpp:65
same_as
检查两个类型是否完全相同
定义
concepts.hpp:31
add_lvalue_reference_t
typename add_reference< T >::lvalue add_lvalue_reference_t
add_lvalue_reference的便捷别名
定义
type_traits.hpp:1095
declval
add_rvalue_reference_t< T > declval() noexcept
获取类型的右值引用,仅用于非求值上下文
common_type_t
typename common_type< Types... >::type common_type_t
common_type的便捷别名
定义
type_traits.hpp:3633
common_reference_t
typename common_reference< Types... >::type common_reference_t
common_reference的便捷别名
定义
type_traits.hpp:3665
详细描述
检查两个类型是否有公共类型
模板参数
T1
第一个类型
T2
第二个类型
要求:
T1和T2有公共类型
公共类型对称
T1和T2都可以转换为公共类型
满足公共引用相关约束
在文件
concepts.hpp
第
65
行定义.
common_with
制作者
1.16.0