|
| | Future () |
| |
| | Future (const Future< T > &b) |
| |
| bool | operator== (const Future< T > &other) const |
| |
| Future< T > & | operator= (const Future< T > &b) |
| |
| bool | operator< (const Future< T > &b) const |
| |
| FutureUniqueId | uniqueId () const |
| |
| bool | isValid () const |
| |
| | Future (const ValueType &v, FutureCallbackType async=FutureCallbackType_Auto) |
| |
| const ValueType & | value (int msecs=FutureTimeout_Infinite) const |
| | Return the value associated to a Future. More...
|
| |
| | operator const ValueTypeCast & () const |
| |
| FutureState | wait (int msecs=FutureTimeout_Infinite) const |
| |
| FutureState | wait (qi::Duration duration) const |
| |
| FutureState | waitFor (qi::Duration duration) const |
| |
| FutureState | wait (qi::SteadyClock::time_point timepoint) const |
| |
| FutureState | waitUntil (qi::SteadyClock::time_point timepoint) const |
| |
| bool | isFinished () const |
| |
| bool | isRunning () const |
| |
| bool | isCanceled () const |
| |
| bool | hasError (int msecs=FutureTimeout_Infinite) const |
| |
| bool | hasValue (int msecs=FutureTimeout_Infinite) const |
| |
| const std::string & | error (int msecs=FutureTimeout_Infinite) const |
| |
| FutureSync< T > | sync () |
| |
| void | cancel () |
| |
| bool | isCancelable () const |
| |
| template<typename R , typename AF > |
| Future< R > | thenR (FutureCallbackType type, AF &&func) |
| | Execute a callback when the future is finished. More...
|
| |
| template<typename R , typename AF > |
| Future< R > | thenR (AF &&func) |
| | Same as thenR(), but with type defaulted to FutureCallbackType_Auto. More...
|
| |
| template<typename R , typename AF , typename Arg0 , typename... Args> |
| Future< R > | thenR (AF &&func, Arg0 &&arg0, Args &&...args) |
| |
| template<typename R , typename AF , typename Arg0 , typename... Args> |
| Future< R > | thenR (FutureCallbackType type, AF &&func, Arg0 &&arg0, Args &&...args) |
| |
| template<typename AF > |
| auto | then (FutureCallbackType type, AF &&func) -> qi::Future< typename detail::DecayAsyncResult< AF, qi::Future< T >>::type > |
| | Execute a callback when the future is finished. More...
|
| |
| template<typename AF > |
| auto | then (AF &&func) -> qi::Future< typename detail::DecayAsyncResult< AF, qi::Future< T >>::type > |
| | Same as then(), but with type defaulted to FutureCallbackType_Auto. More...
|
| |
| template<typename R , typename AF > |
| Future< R > | andThenR (FutureCallbackType type, AF &&func) |
| | Same as thenR(), but the callback is called only if this future finishes with a value. More...
|
| |
| template<typename R , typename AF > |
| Future< R > | andThenR (AF &&func) |
| | Same as andThenR(), but with type defaulted to FutureCallbackType_Auto. More...
|
| |
| template<typename AF > |
| auto | andThen (FutureCallbackType type, AF &&func) -> qi::Future< typename detail::DecayAsyncResult< AF, ValueType >::type > |
| | Same as then(), but the callback is called only if this future finishes with a value. More...
|
| |
| template<typename AF > |
| auto | andThen (AF &&func) -> qi::Future< typename detail::DecayAsyncResult< AF, ValueType >::type > |
| | Same as andThen(), but with type defaulted to FutureCallbackType_Auto. More...
|
| |
| boost::function< void()> | makeCanceler () |
| | Get a functor that will cancel the future. More...
|
| |
| template<typename AF > |
| void | connect (const AF &fun, FutureCallbackType type=FutureCallbackType_Auto) |
| |
| template<typename FUNCTYPE , typename ARG0 > |
| void | connect (FUNCTYPE fun, ARG0 tracked,..., FutureCallbackType type=FutureCallbackType_Auto) |
| |
| void | connectWithStrand (qi::Strand *strand, const boost::function< void(const Future< T > &)> &cb) |
| |
| void | connectWithStrand (qi::Strand &strand, const boost::function< void(const Future< T > &)> &cb) |
| |
| void | _connect (const boost::function< void()> &s) |
| |
boost::shared_ptr
< detail::FutureBaseTyped< T > > | impl () |
| |
| | Future (boost::shared_ptr< detail::FutureBaseTyped< T > > p) |
| |
|
| class | Promise< T > |
| |
| class | FutureSync< T > |
| |
| class | detail::AddUnwrap< T > |
| |
| class | ServiceBoundObject |
| |
| template<typename R > |
| void | adaptFutureUnwrap (Future< AnyReference > &f, Promise< R > &p) |
| | Feed a promise from a generic future which may be unwrapped if it contains itself a future. More...
|
| |
| template<typename FT , typename PT > |
| void | adaptFuture (const Future< FT > &f, Promise< PT > &p, AdaptFutureOption option) |
| | Feed a promise from a future of possibly different type. More...
|
| |
| template<typename FT , typename PT , typename CONV > |
| void | adaptFuture (const Future< FT > &f, Promise< PT > &p, CONV converter, AdaptFutureOption option) |
| | Similar to adaptFuture(f, p) but with a custom converter. More...
|
| |
| template<typename R > |
| void | adaptFuture (Future< AnyReference > &f, Promise< R > &p) |
| |
| template<typename FT > |
| void | detail::futureCancelAdapter (boost::weak_ptr< detail::FutureBaseTyped< FT > > wf) |
| |
template<typename T>
class qi::Future< T >
Class that represents a value that will be set later in time.
Definition at line 19 of file executioncontext.hpp.
template<typename T >
template<typename R , typename AF >
Same as thenR(), but the callback is called only if this future finishes with a value.
The callback will receive the value of this future, as opposed to this future itself.
If this future finishes with an error or a cancel, the callback will not be called and the returned future will finish in the same state.
- Deprecated:
- since 2.5 use andThen()
Definition at line 238 of file future.hxx.
template<typename T>
template<typename AF >
Connect a callback function that will be called once when the Future finishes (that is, switches from running to an other state).
If type is sync, connect may block and call the callback synchronously if the future is already set.
It guaranteed that your callback will be called exactly once (unless the promise is never set or the promise is reset, which is deprecated).
Definition at line 484 of file future_fwd.hpp.
template<typename T>
template<typename AF >
Execute a callback when the future is finished.
The callback will receive this future as argument and all other arguments passed to this function.
If the first argument bound to this function is a weak_ptr it will be locked. If it is a Trackable, the callback won't be called after the object's destruction. If it is an Actor, the call will be stranded.
- Returns
- a future that will receive the value returned by the callback or an error if the callback threw.
Definition at line 394 of file future_fwd.hpp.
template<typename T >
template<typename R , typename AF >
Execute a callback when the future is finished.
The callback will receive this future as argument and all other arguments passed to this function.
If the first argument bound to this function is a weak_ptr it will be locked. If it is a Trackable, the callback won't be called after the object's destruction. If it is an Actor, the call will be stranded.
- Template Parameters
-
| R | the return type of your callback as it is hard to deduce without C++11. |
- Returns
- a future that will receive the value returned by the callback or an error if the callback threw.
- Deprecated:
- since 2.5 use then()
Definition at line 199 of file future.hxx.
template<typename T>
template<typename FT , typename PT >
Feed a promise from a future of possibly different type.
Will monitor f, and bounce its state to p. Error and canceled state are bounced as is. Valued state is bounced through FutureValueConverter<FT, PT>::convert()
Definition at line 673 of file future.hxx.