Freigeben über


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

Siehe auch

Referenz

binary_function-Struktur

Threadsicherheit in der C++-Standardbibliothek

Standardvorlagenbibliothek