16 template<
typename L, std::default_initializable R>
36 template<
typename L,
typename R>
41 template<
typename ErrorHandler>
61 template<
typename L,
typename R,
typename ErrorHandler =
void>
72 template<
typename Promise>
78 if constexpr (Promise::IsVoid)
81 promise.return_value (Promise::ReturnType_t::Left (
Either_.GetLeft ()));
93 template<
typename L,
typename R,
typename F>
94 requires std::invocable<F, const L&>
103 template<
typename L,
typename R>
Container< T > Filter(const Container< T > &c, F f)
IgnoreLeft(Either< L, R >) -> IgnoreLeft< L, R >
R RightOr(const Either< L, R > &either, F &&f)
Util::detail::EitherAwaiter< L, R, F > WithHandler(const Util::Either< L, R > &either, F &&errorHandler)
R await_resume() const noexcept
void await_suspend(auto) const noexcept
bool await_ready() const noexcept
void HandleError(auto &&)
void HandleError(L &&left)
void await_suspend(std::coroutine_handle< Promise > handle)
R await_resume() const noexcept
EitherAwaiterErrorHandler< ErrorHandler > Handler_
bool await_ready() const noexcept