std::experimental::ranges:: equal
|
Défini dans l'en-tête
<experimental/ranges/algorithm>
|
||
|
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)
(obsolète) |
|
template
<
InputRange R1,
class
I2,
class
Pred
=
ranges::
equal_to
<>
,
class
Proj1
=
ranges::
identity
,
class
Proj2
=
ranges::
identity
>
|
(4) |
(ranges TS)
(obsolète) |
[
first1
,
last1
)
est égale à la plage
[
first2
,
last2
)
, et
false
sinon.
Deux plages sont considérées égales si elles ont le même nombre d'éléments et si, pour chaque itérateur
i
dans la plage
[
first1
,
last1
)
,
ranges::
invoke
(
pred,
ranges::
invoke
(
proj1,
*
i
)
,
ranges::
invoke
(
proj2,
*
(
first2
+
(
i
-
first1
)
)
)
)
est
true
.
Nonobstant les déclarations dépeintes ci-dessus, le nombre réel et l'ordre des paramètres de template pour les déclarations d'algorithmes ne sont pas spécifiés. Ainsi, si des arguments de template explicites sont utilisés lors de l'appel d'un algorithme, le programme est probablement non portable.
Sommaire
Paramètres
Valeur de retourtrue si les deux plages sont égales, sinon retourne false . Notes
Lors de la comparaison de conteneurs entiers pour l'égalité,
Complexité
1,2)
Si
SizedSentinel
<
S1, I1
>
&&
SizedSentinel
<
S2, I2
>
est satisfait et
last1
-
first1
!
=
last2
-
first2
, aucune application du prédicat et des projections. Sinon, au plus min(
last1
-
first1
,
last2
-
first2
) applications du prédicat et de chaque projection.
3,4)
Au maximum
last1
-
first1
applications du prédicat et de chaque projection.
Implémentation possible
Exemple
Voir aussi
|