std::experimental::ranges:: equal
|
Definiert im Header
<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)
(veraltet) |
|
template
<
InputRange R1,
class
I2,
class
Pred
=
ranges::
equal_to
<>
,
class
Proj1
=
ranges::
identity
,
class
Proj2
=
ranges::
identity
>
|
(4) |
(ranges TS)
(veraltet) |
[
first1
,
last1
)
gleich dem Bereich
[
first2
,
last2
)
ist, andernfalls
false
.
Zwei Bereiche werden als gleich betrachtet, wenn sie die gleiche Anzahl an Elementen haben und für jeden Iterator
i
im Bereich
[
first1
,
last1
)
,
ranges::
invoke
(
pred,
ranges::
invoke
(
proj1,
*
i
)
,
ranges::
invoke
(
proj2,
*
(
first2
+
(
i
-
first1
)
)
)
)
true
ist.
Ungeachtet der oben dargestellten Deklarationen sind die tatsächliche Anzahl und Reihenfolge der Template-Parameter für Algorithmusdeklarationen nicht spezifiziert. Daher ist das Programm wahrscheinlich nicht portabel, wenn explizite Template-Argumente beim Aufruf eines Algorithmus verwendet werden.
Inhaltsverzeichnis
Parameter
Rückgabewerttrue wenn die beiden Bereiche gleich sind, andernfalls wird false zurückgegeben. Hinweise
Beim Vergleich gesamter Container auf Gleichheit,
Komplexität
1,2)
Falls
SizedSentinel
<
S1, I1
>
&&
SizedSentinel
<
S2, I2
>
erfüllt ist und
last1
-
first1
!
=
last2
-
first2
, keine Anwendungen des Prädikats und der Projektionen. Andernfalls höchstens min(
last1
-
first1
,
last2
-
first2
) Anwendungen des Prädikats und jeder Projektion.
3,4)
Höchstens
last1
-
first1
Anwendungen des Prädikats und jeder Projektion.
Mögliche Implementierung
Beispiel
Siehe auch
|