std::function<R(Args...)>::operator bool
From cppreference.com
< cpp | utility | functional | function
explicit operator bool()constnoexcept; | (since C++11) | |
Checks whether *this stores a callable function target, i.e. is not empty.
Contents |
[edit]Parameters
(none)
[edit]Return value
true if *this stores a callable function target, false otherwise.
[edit]Example
Run this code
#include <functional>#include <iostream> void sampleFunction(){std::cout<<"This is the sample function!\n";} void checkFunc(std::function<void()>const& func){// Use operator bool to determine if callable target is available.if(func){std::cout<<"Function is not empty! Calling function.\n"; func();}elsestd::cout<<"Function is empty. Nothing to do.\n";} int main(){std::function<void()> f1;std::function<void()> f2(sampleFunction); std::cout<<"f1: "; checkFunc(f1); std::cout<<"f2: "; checkFunc(f2);}
Output:
f1: Function is empty. Nothing to do. f2: Function is not empty! Calling function. This is the sample function!
[edit]See also
checks if the std::move_only_function has a target (public member function of std::move_only_function ) |