std::experimental::ranges:: Predicate
|
Definido en el encabezado
<experimental/ranges/concepts>
|
||
|
template
<
class
F,
class
...
Args
>
concept
bool
Predicate
=
|
(ranges TS) | |
El concepto
Predicate<F, Args...>
especifica que
F
es un predicado que acepta argumentos cuyos tipos y categorías de valor están codificados por
Args...
, es decir, puede ser invocado con estos argumentos para producir un resultado
Boolean
.
Tenga en cuenta que
RegularInvocable
requiere que la invocación no modifique ni el objeto invocable ni los argumentos y que sea igualdad-preservante.
Preservación de la igualdad
Una expresión es equality preserving si produce salidas iguales dadas entradas iguales.
- Las entradas de una expresión consisten en sus operandos.
- Las salidas de una expresión consisten en su resultado y todos los operandos modificados por la expresión (si los hay).
Toda expresión que deba preservar la igualdad debe además ser estable : dos evaluaciones de dicha expresión con los mismos objetos de entrada deben producir salidas iguales, a menos que exista una modificación explícita e intermedia de esos objetos de entrada.