value_compare Class

Classes value_compare Class


Provides a function object that can compare the elements of a hash_map by comparing the values of their keys to determine their relative order in the hash_map.

class value_compare
    : std::public binary_function<value_type, value_type, bool> 
    bool operator( )(
        const value_type& _Left,
        const value_type& _Right ) const
            return ( comp( _Left.first, _Right.first ) ); 
    value_compare( const key_compare& c ) : comp (c) { }
    key_compare comp;

The comparison criteria provided by value_compare between value_types of whole elements contained by a hash_map is induced from a comparison between the keys of the respective elements by the auxiliary class construction. The member function operator uses the object comp of type key_compare stored in the function object provided by value_compare to compare the sort-key components of two elements.

For hash_sets and hash_multisets, which are simple containers where the key values are identical to the element values, value_compare is equivalent to key_compare; for hash_maps and hash_multimaps they are not, because the value of the type pair elements is not identical to the value of the element's key.

In Visual C++ .NET 2003, members of the <hash_map> and <hash_set> header files are no longer in the std namespace, but rather have been moved into the stdext namespace. See The stdext Namespace for more information.


See the example for hash_map::value_comp for an example of how to declare and use value_compare.


Header: <hash_map>

Namespace: stdext

© 2016 Microsoft