libqi-api  2.1.4.13
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Macros | Enumerations | Functions
future.hpp File Reference
#include <qi/api.hpp>
#include <vector>
#include <qi/atomic.hpp>
#include <qi/config.hpp>
#include <qi/trackable.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 <qi/details/future.hxx>

Go to the source code of this file.

Classes

struct  qi::FutureType< T >
 
struct  qi::FutureHasNoValue
 
struct  qi::FutureType< void >
 
class  qi::FutureInterface< T >
 
class  qi::Future< T >
 
class  qi::FutureSync< T >
 
class  qi::Promise< T >
 
class  qi::FutureException
 
class  qi::FutureUserException
 
class  qi::Future< T >
 
class  qi::FutureSync< T >
 
class  qi::Promise< T >
 
class  qi::FutureBarrier< T >
 This class helps waiting on multiple futures at the same point. More...
 
struct  qi::FutureValueConverter< FT, PT >
 Specialize this struct to provide conversion between future values. More...
 

Namespaces

 qi
 qi general namespace
 
 qi::detail
 

Macros

#define _QI_FUTURE_HPP_
 

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 }
 
enum  qi::FutureTimeout { qi::FutureTimeout_Infinite = ((int) 0x7fffffff), qi::FutureTimeout_None = 0 }
 

Functions

template<typename FT >
void qi::detail::futureCancelAdapter (boost::weak_ptr< detail::FutureBaseTyped< FT > > wf)
 
template<typename T >
qi::Future< T > qi::makeFutureError (const std::string &error, FutureCallbackType async)
 
template<typename T >
void qi::waitForAll (std::vector< Future< T > > &vect)
 Helper function to wait on a vector of futures. More...
 
template<typename T >
qi::FutureSync< qi::Future< T > > qi::waitForFirst (std::vector< Future< T > > &vect)
 Helper function to wait for the first valid future. More...
 
template<typename FT , typename PT >
void qi::adaptFuture (const Future< FT > &f, Promise< PT > &p)
 
template<typename FT , typename PT , typename CONV >
void qi::adaptFuture (const Future< FT > &f, Promise< PT > &p, CONV converter)
 Similar to adaptFuture(f, p) but with a custom converter. More...
 

Macro Definition Documentation

#define _QI_FUTURE_HPP_

Definition at line 8 of file future.hpp.