Hi,

In the Boost.Lambda documentation, it has a section for operators that cannot be overloaded, but I'm not really sure if this means you cannot use these operators with lambda expressions.

I have the following map:

class SomeClass
{
public:
    void Foo() {}
};

std::map<int, SomeClass> mymap;

I want to be able to do std::for_each() on this map and use lambdas to call the Foo() member on each element in the map. For example:

std::for_each( mymap.begin(), mymap.end(), _1.second.Foo() );

Obviously the above does not compile. Is there a way to make this work without doing some crazy template specialization? Thanks.