3 #ifndef __CDS_DETAILS_COMPARATOR_H
4 #define __CDS_DETAILS_COMPARATOR_H
10 /// Helper classes and functions
14 Comparator is a functor (a class with binary @a operator() ) that compares two values.
15 The comparator is based on \p std::less<T> functor and returns the result
16 of comparing of two values:
27 typedef T value_type ; ///< Type of values to compare
31 @return -1 if @p p1 < @p p2 \n
32 0 if @p p1 == @p p2 \n
35 int operator()( const T& p1, const T& p2 ) const
37 if ( m_cmp( p1, p2 ) )
45 /// String specialization. It uses @a string::compare method
47 class Comparator< std::string > {
50 typedef std::string value_type ; ///< Type of values to compare
52 int operator()( const std::string& str1, const std::string& str2 ) const
54 return str1.compare( str2 );
58 } // namespace details
61 #endif // #ifndef __CDS_DETAILS_COMPARATOR_H