reduction fix. move declaration and add event_loop constructor to ConveyorSinks
This commit is contained in:
parent
dfe57ecff7
commit
3883f92296
|
@ -277,6 +277,8 @@ void ConveyorSinks::fail(Error &&error) {
|
|||
/// @todo call error_handler
|
||||
}
|
||||
|
||||
ConveyorSinks::ConveyorSinks(EventLoop &event_loop) : Event{event_loop} {}
|
||||
|
||||
void ConveyorSinks::add(Conveyor<void> &&sink) {
|
||||
auto nas = Conveyor<void>::fromConveyor(std::move(sink));
|
||||
|
||||
|
|
|
@ -88,11 +88,18 @@ template <typename T> Conveyor<T> chainedConveyorType(T *);
|
|||
|
||||
template <typename T> Conveyor<T> chainedConveyorType(Conveyor<T> *);
|
||||
|
||||
template <typename T> T reduceErrorOrType(T *);
|
||||
|
||||
template <typename T> T reduceErrorOrType(ErrorOr<T> *);
|
||||
|
||||
template <typename T>
|
||||
using ReduceErrorOr = decltype(reduceErrorOrType((T *)nullptr));
|
||||
|
||||
template <typename T>
|
||||
using ChainedConveyors = decltype(chainedConveyorType((T *)nullptr));
|
||||
|
||||
template <typename Func, typename T>
|
||||
using ConveyorResult = ChainedConveyors<ReturnType<Func, T>>;
|
||||
using ConveyorResult = ChainedConveyors<ReduceErrorOr<ReturnType<Func, T>>>;
|
||||
|
||||
struct PropagateError {
|
||||
public:
|
||||
|
@ -274,6 +281,7 @@ private:
|
|||
|
||||
public:
|
||||
ConveyorSinks() = default;
|
||||
ConveyorSinks(EventLoop &event_loop);
|
||||
|
||||
void add(Conveyor<void> &&node);
|
||||
|
||||
|
|
|
@ -34,13 +34,6 @@ template <typename T> void ImmediateConveyorNode<T>::fire() {
|
|||
}
|
||||
}
|
||||
|
||||
template <typename T> T reduceErrorOrType(T *);
|
||||
|
||||
template <typename T> T reduceErrorOrType(ErrorOr<T> *);
|
||||
|
||||
template <typename T>
|
||||
using ReduceErrorOr = decltype(reduceErrorOrType((T *)nullptr));
|
||||
|
||||
template <typename T>
|
||||
Conveyor<T>::Conveyor(FixVoid<T> value) : ConveyorBase(nullptr, nullptr) {
|
||||
// Is there any way to do this?
|
||||
|
|
Loading…
Reference in New Issue