Boost logo

Boost Users :

Subject: Re: [Boost-users] Comparing boost bind object with a pointer to member function
From: jej (ed.jung_at_[hidden])
Date: 2010-08-31 06:05:51


Yes, that does work, but actually is not quite what I want to do. I made a
mistake in the original example.
In the corrected example, what I really want is for the second case to
return "bound match," which it doesn't do.

The line above the comparison doesn't compile, and even so, is not quite
what I would like either. That is, I want to know which member function the
func object is bound to, and don't really care about the values of the
arguments (which I don't know). Thanks!

int main(int, char**)
{
    Data d(1, 2);

    Foo fx, fy;

    boost::function<void (Foo*, const Data&)> bf(&Foo::FuncTwo);
    if(bf == &Foo::FuncTwo)
    {
        cout << "match" <<endl;
    }
    else
    {
        cout << "no match" << endl;
    }

    boost::function<void (Foo*)> func = boost::bind(&Foo::FuncTwo, _1, d);
   //if(func == boost::bind(&Foo::FuncTwo, _1, d)) //doesn't compile
    if(func == &Foo::FuncTwo)
    {
        cout << "bound match" << endl;
    }
    else
    {
        cout << "no bound match" << endl;
    }

    return 0;
}

-- 
View this message in context: http://old.nabble.com/Comparing-boost-bind-object-with-a-pointer-to-member-function-tp29576700p29581234.html
Sent from the Boost - Users mailing list archive at Nabble.com.

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net