/---------------------------------------for_each-----------------------------------
#include <iostream>
#include <list>
#include <algorithm>
using namespace std;
struct print
{
int count;
print(){count = 0;}
void operator()(int x)
{
cout << 3 * x << endl;
count++;
}
};
int main(void)
{
list<int> l;
l.push_back(29);
l.push_back(32);
l.push_back(16);
l.push_back(22);
l.push_back(27);
print p = for_each(l.begin(), l.end(), print());
cout << p.count << endl;
return 0;
}
//--------------------------------find_if--------------------------------------------------------
#include <iostream>
#include <list>
#include <algorithm>
using namespace std;
bool divby5(int x)
{
return x % 5 ? 0 : 1;
};
int main(void)
{
list<int> l;
l.push_back(29);
l.push_back(32);
l.push_back(16);
l.push_back(22);
l.push_back(25);
l.push_back(27);
list<int>::iterator iLocation;
iLocation = find_if(l.begin(), l.end(), divby5);
if (iLocation != l.end())
{
cout << *iLocation << endl;
}
return 0;
}