C++ Functional Library - Operator Bool
Description
It is used to check if a valid target is contained.
Declaration
Following is the declaration for std::function::function::operator bool.
explicit operator bool() const;
C++11
explicit operator bool() const;
Parameters
none
Return Value
It returns true if *this stores a callable function target, false otherwise.
Exceptions
noexcept: It doesnot throw any exceptions.
Example
In below example for std::function::operator bool.
#include <functional>
#include <iostream>
void sampleFunction() {
std::cout << "This is the sample example of function!\n";
}
void checkFunc( std::function<void()> &func ) {
if( func ) {
std::cout << "Function is not empty! It is a calling function.\n";
func();
} else {
std::cout << "Function is empty.\n";
}
}
int main() {
std::function<void()> f1;
std::function<void()> f2( sampleFunction );
std::cout << "f1: ";
checkFunc( f1 );
std::cout << "f2: ";
checkFunc( f2 );
}
The output should be like this −
f1: Function is empty. f2: Function is not empty! It is a calling function. This is the sample example of function!
functional.htm