Classes value_compare Class
Stellt ein Funktionsobjekt bereit, das die Elemente eines hash_map vergleichen kann, indem die Werte ihrer Schlüssel verglichen, um deren relative Position im hash_map zu bestimmen.
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 Vergleichskriterien, die vom value_compare zwischen value_types aus ganzen Elementen enthalten werden durch ein hash_map bereitgestellt werden, wird von einem Vergleich zwischen den Schlüssel der jeweiligen Elemente durch die Erweiterungsklassenkonstruktion verursacht.Der Memberfunktionsoperator verwendet das Objekt comp des Typs gespeichert key_compare im Funktionsobjekt, das vom value_compare bereitgestellt wird, um die Sortierschlüsselkomponenten von zwei Elementen zu vergleichen.
Für hash_sets und hash_multisets, die einfache Container sind, in denen die Schlüsselwerte zu Elementwerten identisch sind, ist value_compare zu key_compare äquivalent; für hash_maps und hash_multimaps gilt das nicht, da der Wert des Typs pair-Elemente nicht mit dem Wert der Schlüssel des Elements identisch ist.
In Visual C++ .NET 2003, sind Member der <hash_map> und <hash_set> Headerdateien nicht mehr im stdnamespace, sondern sind in den stdext Namespace verschoben wurde.Weitere Informationen finden Sie unter Der stdext-Namespace.
Beispiel
Im Beispiel für hash_map::value_comp als ein Beispiel dafür, wie value_compare deklariert und verwendet.
Anforderungen
Header: <hash_map>
Namespace: stdext