30 using std::logic_error::logic_error;
67 template <
typename T,
typename F>
261 setException(
E const& e);
310 template <
typename F>
311 void setInterruptHandler(F&& fn);
325 template <
class B = T>
386 void setWith(F&& func);
391 return core_ !=
nullptr;
408 template <
class,
class>
422 return getCoreImpl(core_);
425 return getCoreImpl(core_);
428 template <
typename CoreT>
431 throw_exception<PromiseInvalid>();
442 void throwIfFulfilled()
const;
448 #include <folly/futures/Future.h>
PromiseAlreadySatisfied()
Core const & getCore() const
BrokenPromise(const std::string &type)
—— Concurrent Priority Queue Implementation ——
requires E e noexcept(noexcept(s.error(std::move(e))))
static CoreT & getCoreImpl(CoreT *core)
static const char *const value
**Optimized Holders **The template hazptr_array< M > provides most of the functionality *of M hazptr_holder s but with faster construction destruction *for M
std::enable_if< std::is_same< Unit, B >::value, void >::type setValue()
BrokenPromise(const char *type)
uint64_t value(const typename LockFreeRingBuffer< T, Atom >::Cursor &rbcursor)
bool valid() const noexcept