12template <
typename V,
typename T>
23#if YACLIB_SYMMETRIC_TRANSFER != 0
40 return BaseCore::SetCallbackImpl<true>(
callback);
47 template <
bool SymmetricTransfer>
49 return BaseCore::SetInlineImpl<SymmetricTransfer, true>(
callback);
52 template <
bool SymmetricTransfer>
54 return BaseCore::SetResultImpl<SymmetricTransfer, true>();
60template <
typename V,
typename T>
virtual void DecRef() noexcept
Decrements reference counter.
virtual std::size_t GetRef() noexcept
A intrusive pointer to objects with an embedded reference count.
typename T::template Result< V > Result
Transfer< SymmetricTransfer > SetInline(InlineCore &callback) noexcept
Transfer< SymmetricTransfer > SetResult() noexcept
bool SetCallback(InlineCore &callback) noexcept
typename ResultCore< V, T >::Result Result
InlineCore * Here(InlineCore &caller) noexcept override
constexpr std::size_t kSharedRefNoFuture
constexpr std::size_t kSharedRefWithFuture
Contract< V, T > MakeContract()
Creates related future and promise.