23 #ifdef ONIXS_BATS_BOE_CXX11 30 class FutureSharedState;
54 namespace Implementation {
65 bool valid() const ONIXS_BATS_BOE_NOEXCEPT
67 return state_ != ONIXS_BATS_BOE_NULLPTR;
80 ONIXS_CBOE_CFE_BOE_API
bool is_ready()
const;
86 ONIXS_CBOE_CFE_BOE_API
bool has_value()
const;
92 ONIXS_CBOE_CFE_BOE_API
bool has_exception()
const;
116 #ifdef ONIXS_BATS_BOE_CXX11 128 ONIXS_CBOE_CFE_BOE_API
FutureBase(
const System::FutureSharedState *state) ONIXS_BATS_BOE_NOEXCEPT;
131 ONIXS_CBOE_CFE_BOE_API
FutureBase(
const System::FutureSharedState *state,
moving_init_t) ONIXS_BATS_BOE_NOEXCEPT;
136 ONIXS_CBOE_CFE_BOE_API ~
FutureBase() ONIXS_BATS_BOE_NOEXCEPT;
138 ONIXS_CBOE_CFE_BOE_API
void swap(
FutureBase &other) ONIXS_BATS_BOE_NOEXCEPT;
140 ONIXS_CBOE_CFE_BOE_API
const void *getValuePtr()
const;
142 ONIXS_CBOE_CFE_BOE_API
void getVoid()
const;
145 const System::FutureSharedState *state_;
147 friend class FutureHelper;
150 template <
typename T>
188 template <
typename T>
197 : FutureBase(other) {}
202 FutureBase::operator=(other);
206 #ifdef ONIXS_BATS_BOE_CXX11 209 : FutureBase(std::move(other))
214 FutureBase::operator=(std::move(other));
227 return *
reinterpret_cast<const T *
>(getValuePtr());
233 FutureBase::swap(other);
244 : FutureBase(state, t) {}
246 friend class Implementation::FutureHelper;
the shared state did not become ready before specified timeout duration has passed.
SharedFuture(const SharedFuture< T > &other) ONIXS_BATS_BOE_NOEXCEPT
Copy constructor.
Base implementation of SharedFuture<T>.
State of a SharedFuture object (similar to std::future_status,.
the shared state is ready.
SharedFuture() ONIXS_BATS_BOE_NOEXCEPT
SharedFuture< T > & operator=(const SharedFuture< T > &other) ONIXS_BATS_BOE_NOEXCEPT
Copy assignment.
void swap(SharedFuture< T > &other) ONIXS_BATS_BOE_NOEXCEPT
swaps two SharedFuture objects
bool valid() const ONIXS_BATS_BOE_NOEXCEPT