Advertisement
qdmitry

copy_if_impl

Mar 1st, 2021
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.47 KB | None | 0 0
  1. template <typename Container, typename Predicate>
  2. vector<typename Container::value_type> CopyIfUnordered(const Container& vec, Predicate p) {
  3.     std::vector<typename Container::value_type> out;
  4.     std::mutex mut;
  5.     std::for_each(std::execution::par, begin(vec), end(vec),
  6.         [&out, &mut, p](auto&& elem) {
  7.             if (p(elem)) {
  8.                 std::unique_lock lock(mut);
  9.                 out.push_back(elem);
  10.             }
  11.         });
  12.  
  13.     return out;
  14.  }
  15.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement