16 #ifndef BLOOMBERG_QUANTUM_ICORO_PROMISE_H 17 #define BLOOMBERG_QUANTUM_ICORO_PROMISE_H 19 #include <quantum/interface/quantum_icontext_base.h> 20 #include <quantum/interface/quantum_ipromise_base.h> 32 template <
template<
class>
class PROMISE,
class T>
34 ICoroPromise<PROMISE, T>,
38 using Ptr = std::shared_ptr<ICoroPromise<PROMISE, T>>;
55 template <
class V,
class = NonBufferType<T,V>>
65 template <
class V,
class = BufferType<T,V>>
73 template <
class V = T,
class = BufferRetType<V>>
87 #endif //BLOOMBERG_QUANTUM_ICORO_PROMISE_H Definition: quantum_buffer_impl.h:22
typename ICoroFuture< T >::Ptr CoroFuturePtr
Definition: quantum_icoro_future.h:72
int set(ICoroSync::Ptr sync, V &&value)
Set the promised value.
Definition: quantum_promise_impl.h:55
Definition: quantum_traits.h:78
typename ICoroPromise< Promise, T >::Ptr CoroPromisePtr
Definition: quantum_icoro_promise.h:83
std::shared_ptr< ICoroSync > Ptr
Definition: quantum_icoro_sync.h:36
virtual CoroFuturePtr< T > getICoroFuture() const =0
Get the associated coroutine future.
Class representing a promised value.
Definition: quantum_icoro_promise.h:77
std::shared_ptr< ICoroPromise< Promise, T > > Ptr
Definition: quantum_icoro_promise.h:38
ICoroPromise(Impl *derived)
Constructor.
Definition: quantum_icoro_promise.h:44
Exposes methods to access and manipulate a coroutine-compatible promise.
Definition: quantum_icoro_promise.h:33
int closeBuffer()
Close a promise buffer.
Definition: quantum_promise_impl.h:69
void push(ICoroSync::Ptr sync, V &&value)
Push a single value into the promise buffer.
Definition: quantum_promise_impl.h:62
Definition: quantum_icontext_base.h:25