Klassen value_compare-Klasse
Stellt ein Funktionsobjekt bereit, das die Elemente eines hash_map vergleichen kann, indem die Werte ihrer Schlüssel verglichen, um ihre 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 ein Vergleich zwischen den Schlüsseln der jeweiligen Elemente durch die Erweiterungsklassenkonstruktion verursacht. Der Memberfunktionsoperator verwendet das Objekt Komp. vom Typ key_compare gespeichert 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 die die Schlüsselwerte zu Elementwerten identisch sind, ist value_compare entspricht key_compare; für hash_maps und hash_multimaps sind sie nicht, da der Wert der pair-Typ keine Elemente auf den Wert des Schlüssels des Elements identisch ist.
In Visual C++ .NET 2003 sind Member der <hash_map> und <hash_set> Headerdateien nicht mehr im STD-Namespace enthalten. Sie wurden stattdessen in den stdext-Namespace verschoben. Weitere Informationen finden Sie unter Der stdext-Namespace.
Beispiel
Im Beispiel für hash_map::value_comp als Beispiel dafür, wie value_compare deklariert und verwendet.
Anforderungen
Header: <hash_map>
Namespace: stdext