
18 Jul
2006
18 Jul
'06
11:07 p.m.
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.
I must leave it in your capable hands to provide a summary and solution for this thread. It would be very interesting.