33class FutureSharedState;
53 return state_ !=
nullptr;
128 const
System::FutureSharedState* state_ =
nullptr;
161 static_assert(!std::is_reference<T>::value,
"SharedFuture does not support reference result types");
190 FutureBase::swap(other);
195 SharedFuture(
const System::FutureSharedState* state) noexcept
200 SharedFuture(
const System::FutureSharedState* state, moving_init_t t) noexcept
201 : FutureBase(state, t)
204 friend class Implementation::FutureHelper;
#define ONIXS_CME_MDH_THREADING_NAMESPACE_BEGIN
#define ONIXS_CME_MDH_THREADING_NAMESPACE_END
#define ONIXS_CMEMDH_EXPORTED
Untyped base for SharedFuture.
void swap(FutureBase &other) noexcept
friend class FutureHelper
const void * getValuePtr() const
bool has_exception() const
FutureBase(const System::FutureSharedState *state) noexcept
Initializes the instance and adds a reference to the shared state.
FutureBase() noexcept=default
bool valid() const noexcept
FutureBase(const System::FutureSharedState *state, moving_init_t) noexcept
Initializes the instance from a detached shared state reference.
std::exception_ptr get_exception_ptr() const
std::future_status wait(int timeoutInMs=InfiniteTimeout) const
void swap(SharedFuture< T > &other) noexcept
Swaps two SharedFuture objects.
SharedFuture() noexcept=default
Implementation::FutureGetReturn< void >::Type get() const
SharedFuture< void > Event
Completion signal for an asynchronous operation that does not produce a value.