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.