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

NAME
     std::shared_future::valid - std::shared_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.
	Unlike std::future, std::shared_future's shared state is not invalidated
     when get()
	is called.

	The behavior is undefined if any member function other than the destruc-
     tor, the
	copy-assignment operator, the  move-assignment	operator,  or  valid  is
     called on a
	shared_future  that does not refer to shared state (although implementa-
     tions are
	encouraged to throw std::future_error indicating no_state in this case).
     It is valid
	to move or copy from a shared_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::shared_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
      true

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

http://cppreference.com 	   2024.06.10	    std::shared_future::valid(3)

home | help