This paper contains the decision polls that the C++ Library Evolution group will take in Fall of 2020.
These decision polls will be conducted electronically; see [P2195R0] for more information.. Details on how to participate in these polls will be distributed on the Library Evolution mailing list. All committee members may vote, but if you have not participated in the Library Evolution discussions of executors, please choose to not vote.
The tentative timeline for these votes is as follows:
2020-10-13: Draft polls distributed by mailing list.
2020-10-22 or 2020-10-23: Final discussion telecon on these polls. Start of the polling period.
2020-11-19: Close of the polling period.
2020-11-20: Chairs share results and summarize consensus and conclusions of the results.
Each poll consists of a statement; you vote on whether you support the statement. All polls will be 5-way polls; you’ll vote either strongly for, weakly for, neutral, weakly against, or strongly against.
The following C++ Library Evolution polls relate to executors ([P0443R13]), a proposed set of abstractions for asynchronously creating and managing execution agents. These polls are based on the reports of the six breakout groups that reviewed various aspects of the executors proposal in the Summer of 2020 ([P2202R0], [P2203R0], [P2183R0], [P2205R0], [P2206R0], and [P2207R0]).
Remove explicit adaptation (apply [P2235R0] to [P0443R14]):
Make sender and receiver operations like
connectonly take senders and receivers.
Add explicit adaptation from
make_scheduler_from_executor) but not vice versa.
Use one class for each individual trait instead of combined traits classes
static_thread_pool from [P0443R14] (it may be pursued in a follow-on
any_executor from [P0443R14] (it may be pursued in a follow-on
any_executor::target_type from [P0443R14].
Executors are sufficiently mature that we should aim to ship them in C++23.
Send [P2212R1] (Relax Requirements for
time_point::clock) to LWG for C++23,
classified as a bug fix/enhancement of an existing feature ([P0592R4] bucket
Send [P2166R1] (Prohibit
nullptr) to LWG for C++23, classified as a bug fix/enhancement of an
existing feature ([P0592R4] bucket 2 item).
Send [P2161R0] (Remove Default Candidate Executor) to LWG for the Networking TS Working Draft, classified as a focus work item ([[P0592R4 bucket 1 item).