csArrayCmp< T, K > Class Template Reference
[Containers]
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>
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 (csArrayCmp const &o)  
Construct a functor from another functor.  
csArrayCmp (K const &k, CF c=DefaultCompare)  
Construct a functor from a search key and a comparison function.  
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 52 of file array.h.
Member Typedef Documentation
template<class T, class K>
typedef int(*) csArrayCmp< T, K >::CF(T const &, K const &) 
Constructor & Destructor Documentation
template<class T, class K>
csArrayCmp< T, K >::csArrayCmp  (  K const &  k,  
CF  c = DefaultCompare  
)  [inline] 
template<class T, class K>
csArrayCmp< T, K >::csArrayCmp  (  csArrayCmp< T, K > const &  o  )  [inline] 
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.
 Remarks:
 Assumes the presence of T::operator<(K) and K::operator<(T). Default comparison function if client does not supply one.
template<class T, class K>
csArrayCmp< T, K >::operator CF  (  )  const [inline] 
template<class T, class K>
csArrayCmp< T, K >::operator K const &  (  )  const [inline] 
template<class T, class K>
int csArrayCmp< T, K >::operator()  (  T const &  r  )  const [inline] 
template<class T, class K>
csArrayCmp& csArrayCmp< T, K >::operator=  (  csArrayCmp< T, K > const &  o  )  [inline] 
The documentation for this class was generated from the following file:
 csutil/array.h
Generated for Crystal Space 1.0.2 by doxygen 1.4.7