\brief For each given observable subscribe.
For each item emitted from all of the given observables, deliver from the new observable that is returned.
The first error to occure is hold off until all of the given non-error-emitting observables have finished their emission.
There are 2 variants of the operator:
- The source observable emits nested observables, nested observables are merged.
- The source observable and the arguments v0...vn are used to provide the observables to merge.
\tparam Coordination the type of the scheduler (optional).
\tparam Value0 ... (optional).
\tparam ValueN types of source observables (optional).
\param cn the scheduler to synchronize sources from different contexts (optional).
\param v0 ... (optional).
\param vn source observables (optional).
\return Observable that emits items that are the result of flattening the observables emitted by the source observable.
If scheduler is omitted, identity_current_thread is used.
@par Sample Code\n
\snippet merge_delay_error.cpp threaded implicit merge sample
\snippet output.txt threaded implicit merge sample
@par Sample Code\n
\snippet merge_delay_error.cpp implicit merge sample
\snippet output.txt implicit merge sample
@par Sample Code\n
\snippet merge_delay_error.cpp merge sample
\snippet output.txt merge sample
@par Sample Code\n
\snippet merge_delay_error.cpp threaded merge sample
\snippet output.txt threaded merge sample