Or login with:
#include <algorithm> template < class InputIterator, class OutputIterator, class Predicate > OutputIterator remove_copy_if( InputIterator first, InputIterator last, OutputIterator result, Predicate pred );Parameters:
| Parameter | Description |
|---|---|
| first | An input iterator addressing the position of the first element in the range from which elements are being removed |
| last | An input iterator addressing the position one past the final element in the range from which elements are being removed |
| result | An output iterator addressing the position of the first element in the destination range to which elements are being removed |
| pred | The unary predicate that must be satisfied is the value of an element is to be replaced |
[first, last) to a range beginning at result, that doesn't verify the predicate pred into result.last - first comparisons for equality and last - first assignments.#include <iostream> #include <list> #include <set> #include <algorithm> #include <iterator> using namespace std; int main() { list<int> coll1; INSERT_ELEMENTS(coll1,1,6); INSERT_ELEMENTS(coll1,l,9); PRINT_ELEMENTS(coll1); //print elements without those having the value 3 remove_copy(coll1.begin(), coll 1.end(), //source ostream_iterator<int>(cout," "), //destination 3); //removed value cout <<endl; //print elements without those having a value greater than 4 remove_copy_if (coll1.begin(), coll1.end(), //source ostream_iterator<int>(cout," "), //destination bind2nd(greater<int>(),4)); //removed elements cout <<endl; //copy all elements greater than 3 into a multiset multiset<int> coll2; remove_copy_if (coll1.begin(), coll1.end(), //source inserter(coll2,coll2.end()), //destination bind2nd(less<int>(),4)); //elements not copied PRINT_ELEMENTS(coll2); return 0; }
You must login to leave a messge