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
>>> 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