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