"ErrorT is not enlisted in errorator");
}
+ void set_coroutine(seastar::task& coroutine) noexcept {
+ base_t::set_coroutine(coroutine);
+ }
+
template <class ValueFuncT, class ErrorVisitorT>
auto safe_then(ValueFuncT&& valfunc, ErrorVisitorT&& errfunc) {
static_assert((... && std::is_invocable_v<ErrorVisitorT,
: core_type(std::move(base))
{}
+ void set_coroutine(seastar::task& coroutine) noexcept {
+ core_type::set_coroutine(coroutine);
+ }
+
using value_type = typename seastar::future<T>::value_type;
using tuple_type = typename seastar::future<T>::tuple_type;
: core_type(::seastar::futurize<core_type>::make_exception_future(std::move(ep))) {
}
+ void set_coroutine(seastar::task& coroutine) noexcept {
+ core_type::set_coroutine(coroutine);
+ }
+
template<bool interruptible = true, typename ValueInterruptCondT, typename ErrorVisitorT,
std::enable_if_t<!interruptible, int> = 0>
[[gnu::always_inline]]