Demonstrate bind2nd()
#include <iostream>
#include <list>
#include <functional>
#include <algorithm>
using namespace std;
int main()
{
list<int> lst;
list<int>::iterator p, endp;
for(int i=1; i < 20; i++) lst.push_back(i);
cout << "Original sequence:\n";
p = lst.begin();
while(p != lst.end()) {
cout << *p << " ";
p++;
}
cout << endl;
endp = remove_if(lst.begin(), lst.end(),
bind2nd(greater<int>(), 8));
cout << "Resulting sequence:\n";
p = lst.begin();
while(p != endp) {
cout << *p << " ";
p++;
}
return 0;
}
/*
Original sequence:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Resulting sequence:
1 2 3 4 5 6 7 8
*/
Related examples in the same category