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

FreeBSD Manual Pages

  
 
  

home | help
std::future::valid(3)	      C++ Standard Libary	 std::future::valid(3)

NAME
       std::future::valid - std::future::valid

Synopsis
	  bool valid() const noexcept;	(since C++11)

	  Checks if the	future refers to a shared state.

	  This	is the case only for futures that were not default-constructed
       or moved	from
	  (i.e.	   returned    by    std::promise::get_future(),    std::pack-
       aged_task::get_future() or
	  std::async())	until the first	time get() or share() is called.

	  The  behavior	is undefined if	any member function other than the de-
       structor, the
	  move-assignment operator, or valid is	called on a future  that  does
       not refer to
	  shared  state	 (although  implementations  are  encouraged  to throw
       std::future_error
	  indicating no_state in this case). It	is valid to move from a	future
       object for
	  which	valid()	is false.

Parameters
	  (none)

Return value
	  true if *this	refers to a shared state, otherwise false.

Example
       // Run this code

	#include <future>
	#include <iostream>

	int main() {
	    std::promise<void> p;
	    std::future<void> f	= p.get_future();

	    std::cout << std::boolalpha;

	    std::cout << f.valid() << '\n';
	    p.set_value();
	    std::cout << f.valid() << '\n';
	    f.get();
	    std::cout << f.valid() << '\n';
	}

Output:
	true
	true
	false

See also
	  wait waits for the result to become available
	       (public member function)

http://cppreference.com		  2022.07.31		 std::future::valid(3)

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

home | help