保证STL并行搜索算法

dan*_*vey 6 c++ stl

STL中的并行版本的搜索算法(例如std :: find,std :: find_if)是否保证将迭代器返回到与该条件匹配的范围中的第一个元素?

文档没有明确指出是否是这种情况 - 并且在'C++ Concurrency in Action'中有一个特定的实现返回第一个元素.

jua*_*nza 2

标准库算法的行为*例如std::findstd::find_if在 C++ 标准中得到了明确的规定。从 C++14 开始,并行算法的指定行为没有例外。这意味着假设的并行实现仍然需要遵守这些要求才能合规。


* 从注释来看,OP是指C++标准库,而不是标准模板库。我做出这样的区分是因为 STL 很可能定义一组不同的规则。