|
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