为什么 std::ranges 算法缺少并行重载(采用执行策略参数)?

Why do std::ranges algorithms lack parallel overloads (taking an execution policy parameter)?

C++ Algorithms library have overloads taking a parameter of type ExecutionPolicy, e.g. std::copy 中的许多功能。但是,我注意到 std::ranges 命名空间中的相应函数没有这些并行重载。这很不幸,因为这意味着在许多情况下,非远程变体会更有用。

这是什么原因?是否有建议向 std::ranges 命名空间添加并行重载?

从 Eric Niebler(和其他作者)的大量回答(在会谈中和他的 github 评论中)得出结论,他们(委员会和作者)只是 运行 没时间了。该提案已经很大(请注意它大量引用了 <concepts> 提案这一事实)并且向其中添加更多内容会产生不运送从 <ranges> 的任何内容的风险。

并行重载并不是唯一错过机会的事情。各种views缺席(都是因为时间不够一些语义问题(看着你,zip)),零个actions <numeric> 中的任何内容都没有 运行gified。

<ranges>肯定会进一步发展,但完善提案需要时间。我们无法预测未来,但如果 <ranges> 没有随着 变得更大,我会感到非常惊讶。