Skip to content

Feasability of fork topology without split #1825

@romintomasetti

Description

@romintomasetti

We'd like to represent the following topology (each node represents some work):

graph TD
    A --> B
    A --> C
    B --> D
    C --> D
    C --> E

    D --> END
    E --> END
Loading

It seems that for such a case, it is possible to use split:

auto A = just() | then(...) | split();

auto B = A | then(...);
auto C = A | then(...) | split();

auto D = when_all(B, C) | then(...);
auto E = C | then(...);

sync_wait(when_all(D, E));

However, P3682 (written by @RobertLeahy) proposed to remove std::execution::split and as far as we understand it, it was approved.

Therefore, how would we represent the above topology, without introducing other dependencies ?

Joint question with @maartenarnst.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions