Freigeben über


value_compare-Klasse

Stellt ein Funktionsobjekt bereit, das die Elemente einer hash_map vergleichen kann, indem die Werte ihrer Schlüssel verglichen werden, um deren relative Reihenfolge in der hash_map zu bestimmen.

Syntax

class value_compare
    : std::public binary_function<value_type, value_type, bool>
{
public:
    bool operator()(
        const value_type& left,
        const value_type& right) const
    {
        return (comp(left.first, right.first));
    }

protected:
    value_compare(const key_compare& c) : comp (c) { }
    key_compare comp;
};

Hinweise

Die von value_compare zwischen value_types ganzen Elementen, die in einem hash_map enthalten sind, werden aus einem Vergleich zwischen den Schlüsseln der jeweiligen Elemente durch die Hilfsklassenkonstruktion induziert. Der Memberfunktionsoperator verwendet das Objekt comp des Typs key_compare , das im von value_compare bereitgestellten Funktionsobjekt gespeichert ist, um die Sortierschlüsselkomponenten von zwei Elementen zu vergleichen.

Bei hash_sets und hash_multisets, bei denen es sich um einfache Container handelt, bei denen die Schlüsselwerte mit den Elementwerten übereinstimmen, stimmt value_compare mit key_compare überein; bei hash_maps und hash_multimaps nicht, da der Wert von Elementen vom Typ pair nicht mit dem Wert des Elementschlüssels identisch ist.

Beispiel

Im Beispiel für hash_map::value_comp wird verdeutlicht, wie value_compare deklariert und verwendet wird.

Anforderungen

Header:<hash_map>

Namespace: stdext

Siehe auch

binary_function-Struktur
Threadsicherheit in der C++-Standardbibliothek
C++-Standardbibliotheksreferenz