STL并行搜索算法的保证

时间:2016-10-02 08:33:29

标签: c++ stl

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

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

1 个答案:

答案 0 :(得分:2)

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

*来自评论,OP表示C ++标准库,而不是标准模板库。我之所以区别,是因为STL可能会定义一组不同的规则。