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