Public Member Functions |
| future (future< void > &&o, stl_future< void > &&result) |
| future () |
| Default constructor.
|
| future (const future &o) |
| Copy constructor.
|
| future (future &&o) |
| Move constructor.
|
| future (dispatcher *parent, size_t id, shared_future< handle_ptr > handle, bool check_handle=true, bool validate=true) |
| future (handle_ptr _handle, bool check_handle=true, bool validate=true) |
| future (dispatcher *parent, size_t id) |
future & | operator= (const future &o) |
| Copy assignment.
|
future & | operator= (future &&o) noexcept |
| Move assignment.
|
bool | valid () const noexcept |
| True if this future is valid.
|
| operator bool () const noexcept |
| Same as `true_(tribool(*this))`.
|
bool | is_ready () const noexcept |
| True if monad is not empty.
|
bool | has_value () const noexcept |
| True if monad contains a value_type.
|
bool | has_error () const noexcept |
| True if monad contains an error_type.
|
bool | has_exception (bool only_exception=false) const noexcept |
| True if monad contains an exception_type or error_type (any error_type is returned as an exception_ptr by get_exception()). This needs to be true for both for compatibility with Boost.Thread's future. If you really want to test only for has exception only, pass true as the argument.
|
dispatcher * | parent () const noexcept |
| The parent dispatcher of this future.
|
size_t | id () const noexcept |
|
|
handle_ptr | get_handle (bool return_null_if_errored=false) const |
| Retrieves the handle or exception from the shared state, rethrowing any exception. Returns a null shared pointer if this future is invalid.
|
handle_ptr | get_handle (error_type &ec) const |
| Retrieves the handle or exception from the shared state, rethrowing any exception but setting _ec if there is an error. Returns a null shared pointer if this future is invalid.
|
const handle & | operator* () const |
| Dereferences the handle from the shared state. Same as *h.get_handle().
|
handle & | operator* () |
| Dereferences the handle from the shared state. Same as *h.get_handle().
|
const handle * | operator-> () const |
| Dereferences the handle from the shared state. Same as h.get_handle()->get().
|
handle * | operator-> () |
| Dereferences the handle from the shared state. Same as h.get_handle()->get().
|
void | get () |
| Waits for the future to become ready, rethrowing any exception found. Throws a `future_errc::no_state` if this future is invalid.
|
error_type | get_error () const |
| Waits for the future to become ready, returning any error state found.
|
exception_type | get_exception () const |
| Waits for the future to become ready, returning any error state found.
|
void | wait () const |
| Waits for the future to become ready. Throws a `future_errc::no_state` if this future is invalid.
|
template<class Rep , class Period > |
future_status | wait_for (const chrono::duration< Rep, Period > &duration) const |
| Waits for the future to become ready for a period. Throws a `future_errc::no_state` if this future is invalid.
|
template<class Clock , class Duration > |
future_status | wait_until (const chrono::time_point< Clock, Duration > &deadline) const |
| Waits for the future to become ready until a deadline. Throws a `future_errc::no_state` if this future is invalid.
|
template<class U > |
auto | then (U &&f)-> typename detail |
| Schedules a callable to be invoked after this future becomes ready. If this future is null, use the current async file i/o dispatcher.
|
bool | validate (bool check_handle=true) const |
| Validates contents.
|
Protected Member Functions |
void | _validate (bool check_handle=true) const |
Friends |
struct | detail::barrier_count_completed_state |
template<bool rethrow, class Iterator > |
stl_future< std::vector
< handle_ptr > > | detail::when_all_ops (Iterator first, Iterator last) |
template<bool rethrow, class Iterator > |
stl_future< handle_ptr > | detail::when_any_ops (Iterator first, Iterator last) |
template<>
class boost::afio::future< void >
future
Definition at line 1430 of file afio.hpp.