Requisitos denominados de C++: Predicate
Los requisitos de Predicate describen un elemento invocable que devuelve un valor comprobable como bool.
Predicate se usa normalmente con algoritmos que toman datos de entrada (objetos individuales/contenedores) y un predicado, que luego se llama según los datos de entrada para decidir el curso de acción adicional. Algunos ejemplos de uso de predicados en la biblioteca estándar de C++ son:
- std::all_of, std::any_of, std::none_of Toman un array de elementos y un predicado como entrada. Llaman al predicado según los elementos de entrada individuales y devuelven
true
si para todos/cualquiera/ninguno, el predicado devuelvetrue
.
- std::find_if Toma una secuencia de elementos y un predicado. Devuelve el primer elemento en la secuencia para el que el predicado devuelve un valor igual a true.
La descripción de los servicios de algoritmos dada anteriormente es básica y se usa para explicar Predicate en términos sencillos. Para obtener información más detallada, consulte a las páginas individuales.
En otras palabras, si un algoritmo toma un argumento Predicate pred
y un iterador first
, deberá ser capaz de probar el objeto al que apunta el iterador first
usando el predicado dado mediante una forma similar a if(pred(*first)) {...}.
El objeto función pred
no deberá aplicar ninguna función no constante a través del iterador desreferenciado {{rev inl|since=c++20| y debe aceptar un argumento constante, con el mismo comportamiento independientemente de si el argumento es contante o no constante. Este objeto función puede ser un puntero a función o un objeto de un tipo con un operador de llamada a función apropiado.
[editar] Requisitos
Esta sección está incompleta Razón: describir los requisitos reales de una mejor manera |
[editar] Véase también
(C++20) |
especifica que un tipo invocable es un predicado Booleano (concepto) |