std::future_status
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header  <future>
  | 
||
|   enum class future_status {     ready,  | 
(since C++11) | |
Specifies state of a future as returned by wait_for and wait_until functions of std::future and std::shared_future.
| Constant | Explanation | 
  deferred
 | 
the shared state contains a deferred function, so the result will be computed only when explicitly requested | 
  ready
 | 
the shared state is ready | 
  timeout
 | 
the shared state did not become ready before specified timeout duration has passed | 
See also
|    waits for the result, returns if it is not available for the specified timeout duration  (public member function of std::future<T>)  | |
|    waits for the result, returns if it is not available for the specified timeout duration  (public member function of std::shared_future<T>)  | |
|    waits for the result, returns if it is not available until specified time point has been reached  (public member function of std::future<T>)  | |
|    waits for the result, returns if it is not available until specified time point has been reached  (public member function of std::shared_future<T>)  |