Namespaces
Variants

guías de deducción para std::function_ref

De es.cppreference.net
 
 
Biblioteca de utilidades
Soporte del lenguaje
Soporte de tipos (tipos básicos, RTTI)
Macros de prueba de características de la biblioteca (C++20)
Utilidades de programa
Funciones variádicas
Soporte de corrutinas (C++20)
Soporte de contratos (C++26)
Comparación de tres vías
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilidades generales
Operadores relacionales (obsoleto en C++20)
 
Objetos función
Invocación de función
(C++17)(C++23)
Objeto función identidad
(C++20)
Envoltorios de operadores transparentes
(C++14)
(C++14)
(C++14)
(C++14)  
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)

Enlazadores y adaptadores antiguos
(hasta C++17*)
(hasta C++17*)
(hasta C++17*)
(hasta C++17*)  
(hasta C++17*)
(hasta C++17*)(hasta C++17*)(hasta C++17*)(hasta C++17*)
(hasta C++20*)
(hasta C++20*)
(hasta C++17*)(hasta C++17*)
(hasta C++17*)(hasta C++17*)

(hasta C++17*)
(hasta C++17*)(hasta C++17*)(hasta C++17*)(hasta C++17*)
(hasta C++20*)
(hasta C++20*)
 
 
Definido en el encabezado <functional>
template< class F >
function_ref( F* ) -> function_ref<F>;
(1) (desde C++26)
template< auto f >
function_ref( std::nontype_t<f> ) -> function_ref</*see below*/>;
(2) (desde C++26)
template< auto f, class T >
function_ref( std::nontype_t<f>, T&& ) -> function_ref</*see below*/>;
(3) (desde C++26)
1) Esta sobrecarga participa en la resolución de sobrecarga solo si std::is_function_v<F> es true.
2) Sea el tipo F igual a std::remove_pointer_t<decltype(f)>. Esta sobrecarga participa en la resolución de sobrecarga solo si std::is_function_v<F> es true. El tipo deducido es std::function_ref<F>.
3) Sea el tipo F igual a decltype(f). Esta sobrecarga participa en la resolución de sobrecarga solo si :
  • Ftiene la forma R(G::*)(A...) noexcept(E) (opcionalmente cv-calificado, opcionalmente noexcept, opcionalmente calificado como referencia lvalue) para un tipo G, o
  • Ftiene la forma M G::* para un tipo G y un tipo de objeto M, en cuyo caso sea R igual a std::invoke_result_t<F, T&>, A... un paquete vacío, y E falso, o
  • Ftiene la forma R(*)(G, A...) noexcept(E) para un tipo G.
El tipo deducido es std::function_ref<R(A...) noexcept(E)>.

Ejemplo