Función de "filtro" de orden superior en C ++

¿La biblioteca estándar de C ++ y / o Boost tiene algo similar alfilter función encontrada en lenguajes funcionales?

La función más cercana que pude encontrar fuestd::remove_copy_if pero parece estar haciendo lo contrario de lo que quiero. Haceboost::lambda tener alguna función para obtener una versión negada de mi predicado (similar anot en Haskell) Podría negar mi predicado y usarlo constd::remove_copy_if entonces.

Tenga en cuenta que no estoy preguntando cómo escribirfilter funcionar en C ++; Solo estoy preguntando si la biblioteca estándar y / o Boost ya proporcionan dicha función.

Gracias por adelantado.

Respuestas a la pregunta(4)

Su respuesta a la pregunta