Boost logo

Boost Users :

From: Douglas Gregor (doug.gregor_at_[hidden])
Date: 2005-05-27 07:50:49


On May 27, 2005, at 6:10 AM, Stuart Dootson wrote:

> I'm not certain (from the documentation) whether see if two
> boost::function objects are equal (I tend to think not!).

Sounds like I need to fix the documentation.

> The code
> below doesn't compile on VC7.1, raising an error about 4 ambiguous
> overloads of operator==
>
> #include <boost/function.hpp>
>
> int Flip() { return 2; }
>
> int main(int,char**)
> {
> boost::function<int()> f1 = &Flip;
> boost::function<int()> f2 = &Flip;
> bool const areTheyEqual = (f1 == f2);
> }
>
> Can someone confirm if this should/should not compile, please?

It should not compile. Comparison of two function<> objects is not
implementable in genera (without compiler extensions or significant
user pain).

        Doug


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