Wait until the asynchronous result associated with an instance of std::experimental::shared_future is ready, or until
a specified time period has elapsed.
template<typename Clock,typename Duration> bool wait_until( std::chrono::time_point<Clock,Duration> const& absolute_time) const;
this->valid()
would return true.
If the asynchronous result associated with *this contains a deferred function
arising from a call to std::experimental::async that has not yet
started execution, returns immediately without blocking. Otherwise
blocks until the asynchronous result associated with *this
is ready or Clock::now() returns a time equal to or later
than absolute_time.
std::experimental::future_status::deferred if the asynchronous
result associated with *this contains a deferred function
arising from a call to std::experimental::async that has not yet
started execution, std::experimental::future_status::ready
if the asynchronous result associated with *this is ready,
std::experimental::future_status::timeout if Clock::now() returns a time equal to or later
than absolute_time.
There is no guarantee as to how long the calling thread will be
blocked for, only that if the function returns std::experimental::future_status::timeout
then Clock::now()
returned a time equal to or later than absolute_time
at the point at which the thread became unblocked.
Nothing.
#include <experimental/future>