#include <list>
#include <iterator>
#include <algorithm>
#include <iostream>
int main(int argc, const char *argv[])
{
std::list<int> l { 1,2,3,4,5,6,7,8 };
std::list<int> filtered;
int threshold = 5; // user input?
std::remove_copy_if(l.begin(), l.end(), std::inserter(filtered, filtered.end()), [threshold] (int i) { return i>threshold; });
std::copy(filtered.begin(), filtered.end(), std::ostream_iterator<int>(std::cout, ", "));
std::cout << "\n";
return 0;
}
I2luY2x1ZGUgPGxpc3Q+CiNpbmNsdWRlIDxpdGVyYXRvcj4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKaW50IG1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmFyZ3ZbXSkKewogICAgc3RkOjpsaXN0PGludD4gbCB7IDEsMiwzLDQsNSw2LDcsOCB9OwogICAgc3RkOjpsaXN0PGludD4gZmlsdGVyZWQ7CgogICAgaW50IHRocmVzaG9sZCA9IDU7IC8vIHVzZXIgaW5wdXQ/CiAgICBzdGQ6OnJlbW92ZV9jb3B5X2lmKGwuYmVnaW4oKSwgbC5lbmQoKSwgc3RkOjppbnNlcnRlcihmaWx0ZXJlZCwgZmlsdGVyZWQuZW5kKCkpLCBbdGhyZXNob2xkXSAoaW50IGkpIHsgcmV0dXJuIGk+dGhyZXNob2xkOyB9KTsKCiAgICBzdGQ6OmNvcHkoZmlsdGVyZWQuYmVnaW4oKSwgZmlsdGVyZWQuZW5kKCksIHN0ZDo6b3N0cmVhbV9pdGVyYXRvcjxpbnQ+KHN0ZDo6Y291dCwgIiwgIikpOwogICAgc3RkOjpjb3V0IDw8ICJcbiI7CgogICAgcmV0dXJuIDA7Cn0K