KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a collection of elements that I need to operate over, calling member functions on the collection: std::vector<MyType> v; ... // vector is populated For calling functions with no arguments it's pretty straight-forward: std::for_each(v.begin(), v.end(), std::mem_fun(&MyType::myfunc)); A similar thing can be done if there's one argument to the function I wish to call. My problem is that I want to call a function on elements in the vector if it meets some condition. std::find_if returns an iterator to the first element meeting the conditions of the predicate. std::vector<MyType>::iterator it = std::find_if(v.begin(), v.end(), MyPred()); I wish to find all elements meeting the predicate and operate over them. I've been looking at the STL algorithms for a " find_all " or " do_if " equivalent, or a way I can do this with the existing STL (such that I only need to iterate once), rather than rolling my own or simply do a standard iteration using a for loop and comparisons.
Tags (comma-separated)
Save Edits
Cancel