std::experimental::ranges:: equal
|
Definido en el encabezado
<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)
(obsoleto) |
|
template
<
InputRange R1,
class
I2,
class
Pred
=
ranges::
equal_to
<>
,
class
Proj1
=
ranges::
identity
,
class
Proj2
=
ranges::
identity
>
|
(4) |
(ranges TS)
(obsoleto) |
[
first1
,
last1
)
es igual al rango
[
first2
,
last2
)
, y
false
en caso contrario.
Dos rangos se consideran iguales si tienen el mismo número de elementos y, para cada iterador
i
en el rango
[
first1
,
last1
)
,
ranges::
invoke
(
pred,
ranges::
invoke
(
proj1,
*
i
)
,
ranges::
invoke
(
proj2,
*
(
first2
+
(
i
-
first1
)
)
)
)
es
true
.
No obstante las declaraciones representadas anteriormente, el número real y el orden de los parámetros de plantilla para las declaraciones de algoritmos no está especificado. Por lo tanto, si se utilizan argumentos de plantilla explícitos al llamar a un algoritmo, el programa probablemente no sea portable.
Contenido
Parámetros
Valor de retornotrue si los dos rangos son iguales, de lo contrario retorna false . Notas
Al comparar contenedores completos para igualdad,
Complejidad
1,2)
Si
SizedSentinel
<
S1, I1
>
&&
SizedSentinel
<
S2, I2
>
se satisface y
last1
-
first1
!
=
last2
-
first2
, no se realizan aplicaciones del predicado y las proyecciones. De lo contrario, como máximo min(
last1
-
first1
,
last2
-
first2
) aplicaciones del predicado y cada proyección.
3,4)
Como máximo
last1
-
first1
aplicaciones del predicado y cada proyección.
Implementación posible
Ejemplo
Véase también
|