Hello all,
I've a class with boost::variant as its member ;

class A
{
public:
A() { }

boost::variant<int, string, double, date>& getValue (const string& key)
{
...
}
private:
map<string, boost::variant<int, string, double, date> >m_member ;
}

I've list of A's like this 
list<A> myList.
when trying to find a particular element with integer value (1 say) which is stored in m_member,
I'm doing this..

find_if (myList.begin(), myList.end(), 
(boost::lambda::bind(&A::getValue, boost::lambda::_1, "SomeKey") == 1));

This is giving lot of errors. I've tried casting the result of bind to Variant, and then converting the variant to int using boost::get<int>().. but no help.

Any ideas how to do this ?

Surya