Go back to Richel Bilderbeek's homepage.
Go back to Richel Bilderbeek's C++ page.
An adapter to be able to use for_each on a method of T stored in a container as T (compare std::mem_fun, to use for_each on a method of T stored in a container as T* ).
struct HelloWorld
{
void operator()() const { std::cout << "Hello world" << std::endl; }
};
{
std::vector<HelloWorld> v(10);
std::for_each(v.begin(), v.end(), std::mem_fun_ref(&HelloWorld::operator()));
}
struct Widget
{
void DoIt() const { /* do it */ }
};
void DoIt(const std::vector<Widget>& v)
{
{
v[i].DoIt();
}
}
struct Widget
{
void DoIt() const { /* do it */ }
};
void DoIt(const std::vector<Widget>& v)
{
std::for_each(v.begin(),v.end(),std::mem_fun_ref(&Widget::DoIt));
}
Go back to Richel Bilderbeek's C++ page.
Go back to Richel Bilderbeek's homepage.