9template <
typename V,
typename T>
20#if YACLIB_SYMMETRIC_TRANSFER != 0
27 if constexpr (std::is_move_constructible_v<wrap_void_t<V>>) {
42 return BaseCore::SetCallbackImpl<false>(
callback);
53 template <
bool SymmetricTransfer>
55 return BaseCore::SetInlineImpl<SymmetricTransfer, false>(
callback);
58 template <
bool SymmetricTransfer>
60 return BaseCore::SetResultImpl<SymmetricTransfer, false>();
66template <
typename V,
typename T>
virtual void DecRef() noexcept
Decrements reference counter.
A intrusive pointer to objects with an embedded reference count.
void StoreCallbackImpl(InlineCore &callback) noexcept
typename T::template Result< V > Result
typename ResultCore< V, T >::Result Result
Transfer< SymmetricTransfer > SetResult() noexcept
Transfer< SymmetricTransfer > SetInline(InlineCore &callback) noexcept
void CallInline(InlineCore &callback) noexcept
bool SetCallback(InlineCore &callback) noexcept
InlineCore * Here(InlineCore &caller) noexcept override
void StoreCallback(InlineCore &callback) noexcept
#define YACLIB_ASSERT(cond)
#define YACLIB_PURE_VIRTUAL()
Contract< V, T > MakeContract()
Creates related future and promise.