Freigeben über


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

Siehe auch

Referenz

binary_function Struct

Threadsicherheit in der C++-Standardbibliothek

Standardvorlagenbibliothek