La cabecera <functional>

De cppreference.com
Saltar a: navegación, buscar


Esta cabecera incluye varias definiciones y herramientas que permiten llevar a cabo algunas formas de [[cpp/utility/functional/wp>es:Programación Funcional | wp>es:Programación Funcional]] en C++. Cada uno de los objetos y métodos en la tabla siguiente permite operar con conceptos como funciones de manera similar a como se opera con variables.

En programación funcional en el estilo de C++ se usa una terminología basada en las matemáticas. Un functor o functoide es un objeto (p.ej.: una instancia de una clase) que se comporta como si fuera una función, es decir, si el objeto es f, puede ser invocado con argumentos con la misma notación de una función: x = f (a, b). Una proposición o [[cpp/utility/functional/wp>es:predicado | wp>es:predicado]] es un tipo especial de functoide que determina la veracidad o falsedad de una proposición acerca de su argumento, por ejemplo bool is_even = even (x).

binary_function Forma base de un functoide de dos argumentos
binary_negate
bind1st Fija el valor del primer argumento de una función binaria
bind2nd Fija el valor del segundo argumento de una función binaria
binder1st Crea un functoide usando bind1st
binder2nd Crea un functoide usando bind2nd
const_mem_fun1_ref_t
const_mem_fun1_t
const_mem_fun_ref_t
const_mem_fun_t
divides
equal_to Predicado que compara el primer argumento con el segundo para probar la igualdad
greater Predicado que compara si el primer argumento es mayor que el segundo
greater_equal Predicado que compara si el primer argumento es mayor o igual que el segundo
less Predicado que compara si el primer argumento es menor que el segundo
less_equal Predicado que compara si el primer argumento es menor o igual que el segundo
logical_and
logical_not
logical_or
mem_fun1_ref_t
mem_fun1_t
mem_fun Construye un functoide desde una función miembro (con tipo puntero)
mem_fun_ref Construye un functoide desde una función miembro (con tipo referencia)
mem_fun_ref_t
mem_fun_t
minus
modulus
multiplies
negate Predicado que niega un functoide
not1 Niega una función unaria
not2 Niega una función binaria
not_equal_to Predicado que compara si el primer argumento es no-igual que el segundo
plus
pointer_to_binary_function
pointer_to_unary_function
ptr_fun Construye un functoide desde un puntero a función
unary_function
unary_negate

[editar] C++11

En C++11, la cabecera <functional> agrega nuevas capacidades para programación funcional, entre ellas la más importante es un nuevo concepto de functoide genérico llamado std::function<...>, que permite declarar functoides basados en su firma, y std::bind, un envoltorio genérico para convertir functoides binarios a unarios o envolver punteros a función que reemplaza a binary_function y clases similares.

Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas
Otros idiomas