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>) |