decaf::util::comparators::Less< E > Class Template Reference

Simple Less Comparator that compares to elements to determine if the first is less than the second. More...

#include <src/main/decaf/util/comparators/Less.h>

Inheritance diagram for decaf::util::comparators::Less< E >:
Inheritance graph
[legend]

Public Member Functions

 Less ()
virtual ~Less ()
virtual bool operator() (const E &left, const E &right) const
 Implementation of the Binary function interface as a means of allowing a Comparator to be passed to an STL Map for use as the sorting criteria.
virtual int compare (const E &o1, const E &o2) const
 Compares its two arguments for order.

Detailed Description

template<typename E>
class decaf::util::comparators::Less< E >

Simple Less Comparator that compares to elements to determine if the first is less than the second.

This can be used in Collection classes to sort elements according to their natural ordering. By design the Comparator's compare function return more information about comparison than the STL binary function's boolean compare operator. In this case the compare method will return

Since:
1.0

Constructor & Destructor Documentation

template<typename E >
decaf::util::comparators::Less< E >::Less (  )  [inline]
template<typename E >
virtual decaf::util::comparators::Less< E >::~Less (  )  [inline, virtual]

Member Function Documentation

template<typename E >
virtual int decaf::util::comparators::Less< E >::compare ( const E &  o1,
const E &  o2 
) const [inline, virtual]

Compares its two arguments for order.

Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

The implementor must ensure that sgn( compare(x, y)) == -sgn(compare(y, x) ) for all x and y. (This implies that compare(x, y) must throw an exception if and only if compare(y, x) throws an exception.)

The implementor must also ensure that the relation is transitive: ((compare(x, y)>0) && (compare(y, z)>0)) implies compare(x, z)>0.

Finally, the implementer must ensure that compare(x, y)==0 implies that sgn(compare(x, z))==sgn(compare(y, z)) for all z.

It is generally the case, but not strictly required that (compare(x, y)==0) == ( x == y) ). Generally speaking, any comparator that violates this condition should clearly indicate this fact. The recommended language is "Note: this comparator imposes orderings that are inconsistent with equals."

Parameters:
o1 The first object to be compared
o2 The second object to be compared
Returns:
a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

Implements decaf::util::Comparator< E >.

template<typename E >
virtual bool decaf::util::comparators::Less< E >::operator() ( const E &  left,
const E &  right 
) const [inline, virtual]

Implementation of the Binary function interface as a means of allowing a Comparator to be passed to an STL Map for use as the sorting criteria.

Parameters:
left The Left hand side operand.
right The Right hand side operand.
Returns:
true if the vale of left is less than the value of right.

Implements decaf::util::Comparator< E >.


The documentation for this class was generated from the following file:

Generated on 1 Dec 2014 for activemq-cpp-3.8.2 by  doxygen 1.6.1