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
See Implementation
Combine multiple publishers to create one that waits until all of them are completed.