Espacios de nombres
Variantes
Acciones

std::function::operator bool

De cppreference.com
< cpp‎ | utility‎ | functional‎ | function
 
 
Biblioteca de servicios
 
Objetos función
Envoltorios de funciones
(C++11)
(C++11)
Aplicación parcial de funciones
(C++20)
(C++11)
Invocación de funciones
(C++17)(C++23)
Objeto función identidad
(C++20)
Envoltorios de referencias
(C++11)(C++11)
Envoltorios de operador transparentes
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
Negadores
(C++17)
Buscadores
Vinculadores 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++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)
 
 
explicit operator bool()constnoexcept;
(desde C++11)

Comprueba si *this almacena un destino de función invocable, es decir, no está vacío.

Contenido

[editar]Parámetros

(Ninguno)

[editar]Valor de retorno

true if *this almacena un destino de función invocable, false de lo contrario.

[editar]Ejemplo

#include <functional>#include <iostream>   void funcMuestra(){std::cout<<"¡Esta es la función muestra!\n";}   void comprobarFunc(std::function<void()>const&func ){// Usa operator bool para determinar si el destino invocable está disponible.if( func ){std::cout<<"¡La función no está vacía! Llamando a la función.\n"; func();}else{std::cout<<"La función está vacía. Nada que hacer.\n";}}   int main(){std::function<void()> f1;std::function<void()> f2( funcMuestra );   std::cout<<"f1: "; comprobarFunc( f1 );   std::cout<<"f2: "; comprobarFunc( f2 );}

Salida:

f1: La función está vacía. Nada que hacer. f2: ¡La función no está vacía! Llamando a la función. ¡Esta es la función muestra!

[editar]Véase también

Verifica si la instancia de std::move_only_function tiene un objetivo.
(función miembro pública de std::move_only_function<R(Args...) cvref noexcept(noex)>)[editar]
close