Definition at line 57 of file Future.h.
◆ anonymous enum
Enumerator |
---|
InfiniteTimeout | -1 | |
Definition at line 101 of file Future.h.
◆ FutureBase() [1/5]
◆ FutureBase() [2/5]
◆ FutureBase() [3/5]
◆ FutureBase() [4/5]
FutureBase |
( |
const System::FutureSharedState * | state | ) |
|
|
protectednoexcept |
Initializes the instance with shared state.
◆ FutureBase() [5/5]
Initializes the instance with shared state.
◆ ~FutureBase()
Destroys a future object.
If this is the last reference to the asynchronous result associated with *this (if any), then destroy that asynchronous result.
◆ get_exception_ptr()
std::exception_ptr get_exception_ptr |
( |
| ) |
const |
Returns the stored exception.
- Exceptions
-
std::logic_error | if this instance does not refer to a shared state. |
std::logic_error | if the operation has not finished with an error. |
◆ getValuePtr()
const void * getValuePtr |
( |
| ) |
const |
|
protected |
◆ getVoid()
◆ has_exception()
bool has_exception |
( |
| ) |
const |
Returns true
if the asynchronous result associated with this Future has a stored exception, false
otherwise.
- Exceptions
-
std::logic_error | if this instance does not refer to a shared state. |
◆ has_value()
Returns true
if the asynchronous result associated with this Future has a stored value, false
otherwise.
- Exceptions
-
std::logic_error | if this instance does not refer to a shared state. |
◆ is_ready()
Returns true
if the asynchronous result associated with this Future is ready (has a value or exception stored in the shared state), false
otherwise.
There are often situations where a get()
call on a Future may not be a blocking call, or is only a blocking call under certain circumstances. This method gives the ability to test for early completion and allows us to avoid associating a continuation, which needs to be scheduled with some non-trivial overhead and near-certain loss of cache efficiency.
- Exceptions
-
std::logic_error | if this instance does not refer to a shared state. |
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ swap()
◆ valid()
Check if a future instance is associated with an asynchronous result.
Returns true
if the *this has an associated asynchronous result, false otherwise.
Definition at line 63 of file Future.h.
◆ wait()
Waits for the result to become available during the timeout.
- Note
- Calling
wait
on the same Future from multiple threads is not safe; the intended use is for each thread that waits on the same shared state to have a copy of a Future.
- Exceptions
-
std::logic_error | if this instance does not refer to a shared state. |
◆ FutureHelper
friend class FutureHelper |
|
friend |