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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::move_only_function::operatorbool - std::move_only_function::opera-
       torbool

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

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

Parameters
	  (none)

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

Example
       // Run this code

	#include <functional>
	#include <iostream>

	void sampleFunction()
	{
	    std::cout << "This is the sample function!\n";
	}

	void checkFunc(std::move_only_function<void() const> 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::move_only_function<void() const> f1{};
	    std::move_only_function<void() const> 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==	compares a std::move_only_function with	nullptr
	  (C++23)	(function)
	  operator bool	checks if a target is contained
			(public	member function	of std::function<R(Args...)>)

http://cppreference.com		  2024.06.10	 std::move_o...operatorbool(3)

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

home | help