16 #ifndef BLOOMBERG_QUANTUM_ITHREAD_FUTURE_H 17 #define BLOOMBERG_QUANTUM_ITHREAD_FUTURE_H 19 #include <quantum/interface/quantum_icontext_base.h> 20 #include <quantum/interface/quantum_icoro_future_base.h> 21 #include <quantum/quantum_traits.h> 38 using Ptr = std::shared_ptr<IThreadFuture<T>>;
45 template <
class V = T>
52 template <
class V = T>
61 template <
class V = T>
73 #endif //BLOOMBERG_QUANTUM_ITHREAD_FUTURE_H std::shared_ptr< IThreadFuture< T > > Ptr
Definition: quantum_ithread_future.h:38
Definition: quantum_buffer_impl.h:22
BufferRetType< V > pull(bool &isBufferClosed)
Pull a single value from the future buffer.
Definition: quantum_future_impl.h:58
std::enable_if_t<!Traits::IsBuffer< T >::value, typename Traits::IsBuffer< T >::Type > NonBufferRetType
Definition: quantum_traits.h:95
Class representing a promised future. Can only be instantiated via a Promise object.
Definition: quantum_icoro_future.h:27
const NonBufferRetType< V > & getRef() const
Get a reference the future value.
Definition: quantum_future_impl.h:51
Definition: quantum_icontext_base.h:26
Definition: quantum_ithread_future_base.h:32
typename IThreadFuture< T >::Ptr ThreadFuturePtr
Definition: quantum_ithread_future.h:69
std::enable_if_t< Traits::IsBuffer< T >::value, typename Traits::IsBuffer< T >::Type > BufferRetType
Definition: quantum_traits.h:93
Definition: quantum_ithread_future.h:35
NonBufferRetType< V > get()
Get the future value.
Definition: quantum_future_impl.h:44