std::experimental::ranges:: equal
|
template
<
InputIterator I1, Sentinel
<
I1
>
S1, InputIterator I2, Sentinel
<
I2
>
S2,
class
Pred
=
ranges::
equal_to
<>
,
|
(1) | (ranges TS) |
|
template
<
InputRange R1, InputRange R2,
class
Pred
=
ranges::
equal_to
<>
,
class
Proj1
=
ranges::
identity
,
class
Proj2
=
ranges::
identity
>
|
(2) | (ranges TS) |
|
template
<
InputIterator I1, Sentinel
<
I1
>
S1,
class
I2,
class
Pred
=
ranges::
equal_to
<>
,
|
(3) |
(ranges TS)
(已弃用) |
|
template
<
InputRange R1,
class
I2,
class
Pred
=
ranges::
equal_to
<>
,
class
Proj1
=
ranges::
identity
,
class
Proj2
=
ranges::
identity
>
|
(4) |
(ranges TS)
(已弃用) |
[
first1
,
last1
)
等于范围
[
first2
,
last2
)
则返回
true
,否则返回
false
。
两个范围被视为相等,当且仅当它们具有相同数量的元素,并且对于范围
[
first1
,
last1
)
中的每个迭代器
i
,
ranges::
invoke
(
pred,
ranges::
invoke
(
proj1,
*
i
)
,
ranges::
invoke
(
proj2,
*
(
first2
+
(
i
-
first1
)
)
)
)
的结果为
true
。
尽管存在上述声明,算法声明的实际模板参数数量和顺序是未指定的。因此,若在调用算法时使用了显式模板参数,该程序很可能不具备可移植性。
目录参数
返回值true 如果两个范围相等,否则返回 false 。 注释
在比较整个容器是否相等时,通常推荐使用对应容器的
复杂度
1,2)
若满足
SizedSentinel
<
S1, I1
>
&&
SizedSentinel
<
S2, I2
>
且
last1
-
first1
!
=
last2
-
first2
,则不应用谓词和投影。否则,最多应用 min(
last1
-
first1
,
last2
-
first2
) 次谓词及各投影。
3,4)
最多执行
last1
-
first1
次谓词和每个投影函数的调用。
可能的实现
示例
参阅
|