Boost logo

Boost :

From: Douglas Gregor (gregod_at_[hidden])
Date: 2004-01-24 19:43:18


On Tuesday 20 January 2004 01:29 pm, Douglas Gregor wrote:
> On the main branch, I've implemented operator== and operator!= for
> Boost.Function (but not in the form you expect).

It's now documented.

I've also checked in some changes to handle reference_wrapper logically:

The semantics for f == g (and g == f) are:
  1) If f is a Boost.Function object and g is a reference_wrapper<Functor>,
the result is true when f stores a function object of type Functor and the
address of the object in f is equivalent to g.get_pointer().
  2) If f is a Boost.Function object and g is EqualityComparable, the
result is true when f stores a function object of the type of 'g' and that
object is equal to 'g' (via g's operator==)
  3) If f is a Boost.Function object and g is the NULL pointer constant,
the result is true when f is empty
  4) Otherwise, the program is ill-formed

The semantics for f != g and g != f follow analagously.

        Doug


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk