libqi-api  2.8.7.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
future_fwd.hpp File Reference
#include <stdexcept>
#include <type_traits>
#include <vector>
#include <ka/functional.hpp>
#include <qi/api.hpp>
#include <qi/assert.hpp>
#include <qi/atomic.hpp>
#include <qi/config.hpp>
#include <qi/clock.hpp>
#include <qi/detail/mpl.hpp>
#include <qi/either.hpp>
#include <qi/log.hpp>
#include <qi/os.hpp>
#include <qi/tag.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/make_shared.hpp>
#include <boost/function.hpp>
#include <boost/bind.hpp>
#include <boost/thread/recursive_mutex.hpp>
#include <boost/exception/diagnostic_information.hpp>
#include <qi/trackable.hpp>

Go to the source code of this file.

Classes

struct  qi::detail::FutureType< T >
 
struct  qi::detail::FutureHasNoValue
 
struct  qi::detail::FutureType< void >
 
class  qi::detail::AddUnwrap< T >
 
class  qi::Future< T >
 
class  qi::FutureSync< T >
 
class  qi::Promise< T >
 
class  qi::detail::FutureBaseTyped< T >
 
struct  qi::detail::VisitTimeout
 
class  qi::FutureException
 
class  qi::FutureUserException
 
class  qi::Future< T >
 
class  qi::FutureSync< T >
 
class  qi::Promise< T >
 
class  qi::detail::FutureBase
 
class  qi::detail::FutureBaseTyped< T >
 
struct  qi::FutureValueConverter< FT, PT >
 Specialize this struct to provide conversion between future values. More...
 
struct  qi::UnitFuture
 
struct  qi::SrcFuture
 

Namespaces

 qi
 Deprecated in 2.5. Use int8_t from <cstdint>.
 
 qi::detail
 

Macros

#define _QI_FUTURE_HPP_
 

Typedefs

using qi::FutureUniqueId = void *
 

Enumerations

enum  qi::FutureState {
  qi::FutureState_None, qi::FutureState_Running, qi::FutureState_Canceled, qi::FutureState_FinishedWithError,
  qi::FutureState_FinishedWithValue
}
 
enum  qi::FutureCallbackType { qi::FutureCallbackType_Sync = 0, qi::FutureCallbackType_Async = 1, qi::FutureCallbackType_Auto = 2 }
 
enum  qi::FutureTimeout { qi::FutureTimeout_Infinite = INT_MAX, qi::FutureTimeout_None = 0 }
 
enum  qi::AdaptFutureOption { qi::AdaptFutureOption_None = 0, qi::AdaptFutureOption_ForwardCancel = 1 }
 

Functions

template<typename FT >
void qi::detail::futureCancelAdapter (boost::weak_ptr< detail::FutureBaseTyped< FT > > wf)
 
std::ostream & qi::operator<< (std::ostream &o, FutureState x)
 
template<typename T >
qi::Future< T > qi::makeFutureError (const std::string &error)
 Helper function to return a future with the error set. More...
 
template<typename T >
void qi::PromiseNoop (qi::Promise< T > &)
 
template<typename R >
void qi::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 qi::adaptFuture (const Future< FT > &f, Promise< PT > &p, AdaptFutureOption option=AdaptFutureOption_ForwardCancel)
 Feed a promise from a future of possibly different type. More...
 
template<typename FT , typename PT , typename CONV >
void qi::adaptFuture (const Future< FT > &f, Promise< PT > &p, CONV converter, AdaptFutureOption option=AdaptFutureOption_ForwardCancel)
 Similar to adaptFuture(f, p) but with a custom converter. More...
 
template<typename T >
boost::function< void()> qi::makeCanceler (Future< T > &future)
 
template<typename T >
Future< AnyValue > qi::toAnyValueFuture (Future< T > future)
 
SrcFuture qi::retract (UnitFuture)
 
template<typename... T>
auto qi::futurize (T &&...t) -> decltype(UnitFuture
 
template<typename Proc >
auto qi::futurizeOutput (Proc &&p) -> decltype(ka::semilift(std::forward< Proc >(p), UnitFuture
 

Macro Definition Documentation

#define _QI_FUTURE_HPP_

Definition at line 8 of file future_fwd.hpp.