map::value_compare

class value_compare
    : public binary_function<value_type, value_type, bool> {
public:
    bool operator()(const value_type& x, const value_type& y)
        {return (comp(x.first, x.second)); }
protected:
    value_compare(key_compare pr)
        : comp(pr) {}
    key_compare comp;
    };

The type describes a function object that can compare the sort keys in two elements to determine their relative order in the controlled sequence. The function object stores an object comp of type key_type. The member function operator() uses this object to compare the sort-key components of two elements.