16 #ifndef BLOOMBERG_QUANTUM_FUTURE_JOINER_H 17 #define BLOOMBERG_QUANTUM_FUTURE_JOINER_H 19 #include <quantum/interface/quantum_ithread_context.h> 20 #include <quantum/interface/quantum_ithread_future.h> 21 #include <quantum/interface/quantum_icoro_context.h> 22 #include <quantum/interface/quantum_icoro_future.h> 23 #include <quantum/impl/quantum_stl_impl.h> 25 #include <type_traits> 45 template <class DISPATCHER, class = std::enable_if_t<std::is_same<typename DISPATCHER::ContextTag,ThreadContextTag>::value>>
48 template <class DISPATCHER, class = std::enable_if_t<std::is_same<typename DISPATCHER::ContextTag,ThreadContextTag>::value>>
51 template <class DISPATCHER, class = std::enable_if_t<std::is_same<typename DISPATCHER::ContextTag,CoroContextTag>::value>>
54 template <class DISPATCHER, class = std::enable_if_t<std::is_same<typename DISPATCHER::ContextTag,CoroContextTag>::value>>
58 template <
template<
class>
class FUTURE,
class DISPATCHER>
61 template <
template<
class>
class FUTURE,
class DISPATCHER>
67 #include <quantum/util/impl/quantum_future_joiner_impl.h> 69 #endif //BLOOMBERG_QUANTUM_FUTURE_JOINER_H Definition: quantum_buffer_impl.h:22
typename ICoroFuture< T >::Ptr CoroFuturePtr
Definition: quantum_icoro_future.h:72
ThreadFuturePtr< std::vector< T > > operator()(DISPATCHER &dispatcher, std::vector< ThreadContextPtr< T >> &&futures)
Join N thread futures.
Definition: quantum_future_joiner_impl.h:27
typename ICoroContext< RET >::Ptr CoroContextPtr
Definition: quantum_icoro_context.h:479
Utility class that joins N futures into a single one.
Definition: quantum_future_joiner.h:39
Definition: quantum_icontext_base.h:26
typename IThreadFuture< T >::Ptr ThreadFuturePtr
Definition: quantum_ithread_future.h:69
Definition: quantum_icontext_base.h:25
typename IThreadContext< RET >::Ptr ThreadContextPtr
Definition: quantum_ithread_context.h:242