Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::functi...operatorbool(3) C++ Standard Libarystd::functi...operatorbool(3)

NAME
       std::function::operatorbool - std::function::operatorbool

Synopsis
	  explicit operator bool() const noexcept;  (since C++11)

	  Checks  whether *this	stores a callable function target, i.e.	is not
       empty.

Parameters
	  (none)

Return value
	  true if *this	stores a callable function target, false otherwise.

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();
	    }
	    else
	    {
		std::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!

See also
	  operator bool	checks if the std::move_only_function has a target
	  (C++23)	(public	member function	of std::move_only_function)

http://cppreference.com		  2022.07.31	 std::functi...operatorbool(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::function::operatorbool&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help