std::experimental::ranges:: greater_equal
|
template
<
class
T
=
void
>
requires StrictTotallyOrdered
<
T
>
||
|
(ranges TS) | |
|
template
<>
struct greater_equal < void > ; |
(ranges TS) | |
用于执行比较的函数对象。主模板在类型
T
的常量左值上调用
operator
<
并对结果取反。特化版本
greater_equal<void>
会从参数推导函数调用运算符的参数类型(但不推导返回类型)。
所有
greater_equal
的特化都满足
Semiregular
概念。
目录 |
成员类型
| 成员类型 | 定义 |
is_transparent
(仅属于
greater_equal<void>
特化的成员)
|
/* 未指定 */ |
成员函数
|
operator()
|
检查第一个参数是否
大于等于
第二个参数
(公开成员函数) |
std::experimental::ranges::greater_equal:: operator()
|
constexpr
bool
operator
(
)
(
const
T
&
x,
const
T
&
y
)
const
;
|
(1) |
(仅主模板
greater_equal<T>
的成员)
|
|
template
<
class
T,
class
U
>
requires StrictTotallyOrderedWith
<
T, U
>
||
|
(2) |
(仅特化模板
greater_equal<void>
的成员)
|
t
和
u
。等价于
return
!
ranges::
less
<>
{
}
(
std::
forward
<
T
>
(
t
)
,
std::
forward
<
U
>
(
u
)
)
;
。
注释
与
std::greater_equal
不同,
ranges::greater_equal
要求所有六个比较运算符
<
,
<=
,
>
,
>=
,
==
和
!=
必须有效(通过
StrictTotallyOrdered
和
StrictTotallyOrderedWith
约束),并且完全基于
ranges::less
进行定义。然而,实现可以直接使用
operator
>=
,因为这些概念要求比较运算符的结果必须保持一致。
示例
|
本节内容不完整
原因:缺少示例 |
参见
|
实现
x
>=
y
的函数对象
(类模板) |