
Daryle Walker <darylew@hotmail.com> writes:
On 7/22/06 8:28 AM, "David Abrahams" <dave@boost-consulting.com> wrote:
Daryle Walker <darylew@hotmail.com> writes:
would have to contort their expressions to avoid ">", "<=", and ">=".) If there are no uses beside this shortcut, then the ordering operator should be removed since the class's model doesn't need it.
An ordering property is extremely useful outside of set/map, and it becomes part of the class' model. If you remove ordering, you change the model.
The "becomes part" sounds like the existence of an ordering property justifies its own existence.
Usefulness justifies its existence.
We need to take a step back and look at this type and what it's modeling from a higher perspective to avoid the circular argument. What uses besides set/map do you envision for ordering operators?
Sort... Heapify... I'm sure I could think of others.
And shouldn't _all_ the operators be defined then, not just "<"? (The docs at <http://www.boost.org/libs/smart_ptr/shared_ptr.htm> state that the full set of ordering operators is deliberately omitted.)
I don't have an opinion about that. -- Dave Abrahams Boost Consulting www.boost-consulting.com