YACLib
C++ library for concurrent tasks execution
Loading...
Searching...
No Matches
result_core.cpp
Go to the documentation of this file.
3
4namespace yaclib::detail {
5namespace {
6
7class Drop final : public InlineCore {
8 template <bool SymmetricTransfer>
9 [[nodiscard]] YACLIB_INLINE auto Impl(InlineCore& caller) noexcept {
10 caller.DecRef();
12 }
13 [[nodiscard]] InlineCore* Here(InlineCore& caller) noexcept final {
14 return Impl<false>(caller);
15 }
16#if YACLIB_SYMMETRIC_TRANSFER != 0
17 [[nodiscard]] yaclib_std::coroutine_handle<> Next(InlineCore& caller) noexcept final {
18 return Impl<true>(caller);
19 }
20#endif
21};
22
23static Drop kDropCore;
24
25} // namespace
26
27template class ResultCore<void, StopError>;
28
32
33} // namespace yaclib::detail
InlineCore & MakeDrop() noexcept
Contract< V, E > MakeContract()
Creates related future and promise.
Definition contract.hpp:25