Namespaces
Variants

std:: function_ref

From cppreference.net
Utilities library
Function objects
Function invocation
(C++17) (C++23)
Identity function object
(C++20)
Old binders and adaptors
( until C++17* )
( until C++17* )
( until C++17* )
( until C++17* )
( until C++17* ) ( until C++17* ) ( until C++17* ) ( until C++17* )
( until C++20* )
( until C++20* )
( until C++17* ) ( until C++17* )
( until C++17* ) ( until C++17* )

( until C++17* )
( until C++17* ) ( until C++17* ) ( until C++17* ) ( until C++17* )
( until C++20* )
( until C++20* )
Definido en el encabezado <functional>
template < class ... >
class function_ref ; // no definido
(1) (desde C++26)
template < class R, class ... Args >

class function_ref < R ( Args... ) > ;
template < class R, class ... Args >
class function_ref < R ( Args... ) noexcept > ;
template < class R, class ... Args >
class function_ref < R ( Args... ) const > ;
template < class R, class ... Args >

class function_ref < R ( Args... ) const noexcept > ;
(2) (desde C++26)

La plantilla de clase std::function_ref es un envoltorio de función no propietario. Los objetos std::function_ref pueden almacenar e invocar referencias a Callable target - funciones, expresiones lambda , expresiones bind , u otros objetos función, pero no punteros a funciones miembro ni punteros a miembros de datos. std:: nontype puede utilizarse para construir std::function_ref pasando punteros a función, punteros a funciones miembro y punteros a miembros de datos.

std::function_ref soporta todas las combinaciones posibles de cv-qualifiers (excluyendo volatile ), y noexcept-specifiers proporcionadas en su parámetro de plantilla.

Toda especialización de std::function_ref es un tipo TriviallyCopyable que satisface copyable .

Contenidos

Tipos de miembros

Miembro Definición
BoundEntityType (privado) tipo no especificado TriviallyCopyable que satisface copyable y es capaz de almacenar un puntero a valor de objeto o puntero a valor de función
( tipo de miembro solo para exposición* )
FunctionPointerType (privado) R ( * ) ( BoundEntityType  , Args && ... ) noexcept ( noex  )

donde noex es true si noexcept está presente en la firma de la función como parte del parámetro de plantilla de std::function_ref , false en caso contrario
( tipo de miembro solo para exposición* )

Miembros de datos

Miembro Definición
BoundEntityType bound-entity un objeto de entidad vinculada
( objeto miembro solo para exposición* )
FunctionPointerType thunk-ptr un puntero almacenado a función
( objeto miembro solo para exposición* )

Funciones miembro

construye un nuevo objeto function_ref
(función miembro pública)
asigna un function_ref
(función miembro pública)
invoca el thunk almacenado de un function_ref
(función miembro pública)

Guías de deducción

Notas

Macro de prueba de características Valor Std Característica
__cpp_lib_function_ref 202306L (C++26) std::function_ref

Ejemplo

Véase también

(C++11)
contenedor copiable de cualquier objeto invocable copiable
(plantilla de clase)
contenedor copiable de cualquier objeto invocable copiable que admite calificadores en una signatura de llamada dada
(plantilla de clase)
contenedor solo-movimiento de cualquier objeto invocable que admite calificadores en una signatura de llamada dada
(plantilla de clase)
etiqueta de construcción de valor
(etiqueta)