join

Combine multiple publishers to create one that waits until all of them are completed.

auto one = pipe({
    writeln("One finished");
});
auto two = pipe({
    writeln("Two finished");
});
join(one, two).then({
    writeln("Both done");
});
one();  // One finished
two();  // Two finished
// Both done

Meta