activemq-cpp-3.4.0
|
This interface imposes a total ordering on the objects of each class that implements it. More...
#include <src/main/decaf/lang/Comparable.h>
Public Member Functions | |
virtual | ~Comparable () |
virtual int | compareTo (const T &value) const =0 |
Compares this object with the specified object for order. | |
virtual bool | equals (const T &value) const =0 |
virtual bool | operator== (const T &value) const =0 |
Compares equality between this object and the one passed. | |
virtual bool | operator< (const T &value) const =0 |
Compares this object to another and returns true if this object is considered to be less than the one passed. |
This interface imposes a total ordering on the objects of each class that implements it.
This ordering is referred to as the class's natural ordering, and the class's compareTo method is referred to as its natural comparison method.
virtual decaf::lang::Comparable< T >::~Comparable | ( | ) | [inline, virtual] |
virtual int decaf::lang::Comparable< T >::compareTo | ( | const T & | value | ) | const [pure virtual] |
Compares this object with the specified object for order.
Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.
In the foregoing description, the notation sgn(expression) designates the mathematical signum function, which is defined to return one of -1, 0, or 1 according to whether the value of expression is negative, zero or positive. The implementor must ensure sgn(x.compareTo(y)) == -sgn(y.compareTo(x)) for all x and y. (This implies that x.compareTo(y) must throw an exception iff y.compareTo(x) throws an exception.)
The implementor must also ensure that the relation is transitive: (x.compareTo(y)>0 && y.compareTo(z)>0) implies x.compareTo(z)>0.
Finally, the implementer must ensure that x.compareTo(y)==0 implies that sgn(x.compareTo(z)) == sgn(y.compareTo(z)), for all z.
It is strongly recommended, but not strictly required that (x.compareTo(y)==0) == (x.equals(y)). Generally speaking, any class that implements the Comparable interface and violates this condition should clearly indicate this fact. The recommended language is "Note: this class has a natural ordering that is inconsistent with equals."
value | - the Object to be compared. |
Implemented in decaf::lang::Boolean, decaf::lang::Boolean, decaf::lang::Byte, decaf::lang::Byte, decaf::lang::Character, decaf::lang::Character, decaf::lang::Double, decaf::lang::Double, decaf::lang::Float, decaf::lang::Float, decaf::lang::Integer, decaf::lang::Integer, decaf::lang::Long, decaf::lang::Long, decaf::lang::Short, and decaf::lang::Short.
virtual bool decaf::lang::Comparable< T >::equals | ( | const T & | value | ) | const [pure virtual] |
Implemented in decaf::lang::Boolean, decaf::lang::Boolean, decaf::lang::Byte, decaf::lang::Byte, decaf::lang::Character, decaf::lang::Character, decaf::lang::Double, decaf::lang::Double, decaf::lang::Float, decaf::lang::Float, decaf::lang::Integer, decaf::lang::Integer, decaf::lang::Long, decaf::lang::Long, decaf::lang::Short, and decaf::lang::Short.
virtual bool decaf::lang::Comparable< T >::operator< | ( | const T & | value | ) | const [pure virtual] |
Compares this object to another and returns true if this object is considered to be less than the one passed.
This
value | - the value to be compared to this one. |
Implemented in decaf::lang::Boolean, decaf::lang::Boolean, decaf::lang::Byte, decaf::lang::Byte, decaf::lang::Character, decaf::lang::Character, decaf::lang::Double, decaf::lang::Double, decaf::lang::Float, decaf::lang::Float, decaf::lang::Integer, decaf::lang::Integer, decaf::lang::Long, decaf::lang::Long, decaf::lang::Short, and decaf::lang::Short.
virtual bool decaf::lang::Comparable< T >::operator== | ( | const T & | value | ) | const [pure virtual] |
Compares equality between this object and the one passed.
value | - the value to be compared to this one. |
Implemented in decaf::lang::Boolean, decaf::lang::Boolean, decaf::lang::Byte, decaf::lang::Byte, decaf::lang::Character, decaf::lang::Character, decaf::lang::Double, decaf::lang::Double, decaf::lang::Float, decaf::lang::Float, decaf::lang::Integer, decaf::lang::Integer, decaf::lang::Long, decaf::lang::Long, decaf::lang::Short, and decaf::lang::Short.