Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2006-07-11 18:12:18


"Peter Dimov" <pdimov_at_[hidden]> writes:

> Sean Parent wrote:
>
>>> This could have been avoided by defining a separate relation for
>>> set/map
>>> order, either as a function reachable via ADL, or as a function
>>> object, then
>>> making sure that it is defined for all standard value types.
>
>> Why is this necessary? std::less<> serves us well and avoids the
>> whole ADL mess.
>
> std::less is ambiguous. It could be that you wanted merely the function
> object representation of operator<, or it could be that you wanted the
> default map/set ordering relation. It is not clear which of the two
> std::less is supposed to be.

If shared_ptr doesn't support operator< it's not a problem, is it?
You only get into trouble, AFAICT, when operator< and less are both
available but they do different things.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

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