Re: [boost] Please don't define a fake "operator <" justfororderedcontainers

-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of me22 Sent: Monday, July 10, 2006 5:07 PM To: boost@lists.boost.org Subject: Re: [boost] Please don't define a fake "operator <" justfororderedcontainers
On 7/10/06, Sohail Somani <s.somani@fincad.com> wrote:
Isn't shared_ptr<T> is supposed to be like T* which has ordering? In this case, it's a non-issue no?
My understanding is that < is only well-defined for pointers into the same array and that < between to arbitrary pointers is otherwise some sort of UB.
It's less<T*> that provides a full ordering for arbitrary T*s. (By specialising std::less.)
Sorry for the double email, but I guess with this information atleast we can verify that operator < is using less?

On 7/10/06 8:15 PM, "Sohail Somani" <s.somani@fincad.com> wrote:
[me22 wrote (on 7/10/06 @ 5:07 pm):]
On 7/10/06, Sohail Somani <s.somani@fincad.com> wrote:
Isn't shared_ptr<T> is supposed to be like T* which has ordering? In this case, it's a non-issue no?
My understanding is that < is only well-defined for pointers into the same array and that < between to arbitrary pointers is otherwise some sort of UB.
It's less<T*> that provides a full ordering for arbitrary T*s. (By specialising std::less.)
Sorry for the double email, but I guess with this information at least we can verify that operator < is using less?
No. For pointers going into the same array segment (including one-past-end) or the same access-level class block, operator "<" is defined. Using the operator is unspecified if the pointers are from different spans. The "std::less<T*>" specializations have to give the same results as the operator when the operator is defined, but must give a total ordering so pointers from different spans (or NULL) can be compared. Due to potential exclusivities in comparison domains, it's possible that the operator and the class template use separate definitions. -- Daryle Walker Mac, Internet, and Video Game Junkie darylew AT hotmail DOT com
participants (2)
-
Daryle Walker
-
Sohail Somani