Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
std::copy and iterator_with_predicate
std::vector<int> xs = { 1, 2, 3, 4, 5, 6, 7, 8 }, ys;
ys.resize(xs.size() / 2);
auto is_odd = [](int i) {
return (i & 0x1) == 0x1;
};
auto iwp = make_iterator_with_predicate(xs, is_odd);
std::copy(iwp.begin(), iwp.end(), ys.begin()); //ys = 1, 3, 5, 7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment