A functor template which encapsulates a key and a comparison function for use with keyrelated csArray<> searching methods, such as FindKey() and FindSortedKey().
More...
#include <csutil/array.h>
List of all members.
Public Types 
typedef int(*  CF )(T const &, K const &) 
 Type of the comparison function which compares a key against an element contained in a csArray<>.

Public Member Functions 
 csArrayCmp (K const &k, CF c=DefaultCompare) 
 Construct a functor from a search key and a comparison function.

 csArrayCmp (csArrayCmp const &o) 
 Construct a functor from another functor.

 operator CF () const 
 Return the comparison function with which this functor was constructed.

 operator K const & () const 
 Return the key with which this functor was constructed.

int  operator() (T const &r) const 
 Invoke the functor.

csArrayCmp &  operator= (csArrayCmp const &o) 
 Assign another functor to this one.

Static Public Member Functions 
static int  DefaultCompare (T const &r, K const &k) 
 Compare two objects of the same type or different types (T and K).

Detailed Description
template<class T, class K>
class csArrayCmp< T, K >
A functor template which encapsulates a key and a comparison function for use with keyrelated csArray<> searching methods, such as FindKey() and FindSortedKey().
Being a template instaniated upon two (possibly distinct) types, this allows the searching methods to perform typesafe searches even when the search key type differs from the contained element type. The supplied search function defines the relationship between the search key and the contained element.
Definition at line 53 of file array.h.
Member Typedef Documentation
template<class T, class K>
Type of the comparison function which compares a key against an element contained in a csArray<>.
T is the type of the contained element. K is the type of the search key.
Definition at line 61 of file array.h.
Constructor & Destructor Documentation
template<class T, class K>
Construct a functor from a search key and a comparison function.
Definition at line 63 of file array.h.
template<class T, class K>
Construct a functor from another functor.
Definition at line 65 of file array.h.
Member Function Documentation
template<class T, class K>
static int csArrayCmp< T, K >::DefaultCompare 
( 
T const & 
r, 


K const & 
k  

) 
  [inline, static] 
Compare two objects of the same type or different types (T and K).
 Parameters:

 r  Reference to the element to which the key should be compared. 
 k  Reference to the key to which the element should be compared. 
 Returns:
 Zero if the key matches the element; lessthanzero if the element is less than the key; greaterthanzero if the element is greater than the key.
Definition at line 92 of file array.h.
template<class T, class K>
Return the comparison function with which this functor was constructed.
Definition at line 79 of file array.h.
template<class T, class K>
csArrayCmp< T, K >::operator K const & 
( 

) 
const [inline] 
Return the key with which this functor was constructed.
Definition at line 81 of file array.h.
template<class T, class K>
int csArrayCmp< T, K >::operator() 
( 
T const & 
r 
) 
const [inline] 
Invoke the functor.
 Parameters:

 r  Reference to the element to which the stored key should be compared. 
 Returns:
 Zero if the key matches the element; lessthanzero if the element is less than the key; greaterthanzero if the element is greater than the key.
Definition at line 77 of file array.h.
template<class T, class K>
Assign another functor to this one.
Definition at line 67 of file array.h.
The documentation for this class was generated from the following file: