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