这是indexloc提供的服务,不要输入任何密码
Skip to content

[question] Life after split() (P3682) #1574

@prlw1

Description

@prlw1

I can see how to make N-ary tree shaped task graphs using fork_join and when_all.

In the Bulirsch-Stoer integrator, when filling in Neville's table, the graph looks like

graph BT;
00-->10;
01-->10;
01-->11;
02-->11;
02-->12;
03-->12;
10-->20;
11-->20;
11-->21;
12-->21;
20-->30;
21-->30;
Loading

I got something working with a pattern of the form

auto job10 = stdexec::when_all(job00, job01) | stdexec::then(fn(10)) | stdexec::split();
auto job11 = stdexec::when_all(job01, job02) | stdexec::then(fn(11)) | stdexec::split();
auto job20 = stdexec::when_all(job10, job11) | stdexec::then(fn(20)) | stdexec::split();

With split() being removed from the standard, what would an equivalent be?

I suppose the underlying question is really: 'How do you create a general task graph?`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions