Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Vorlagenklasse beschreibt ein Objekt, das von einem der assoziative Container des Hashs — hash_map, hash_multimap, hash_set oder hash_multiset — Traits-Parameterobjekt als Standard zum Sortieren oder gehashten verwendet werden kann, die Elemente, die sie enthalten.
template<class Key, class Traits = less<Key> >
class hash_compare
{
Traits comp;
public:
const size_t bucket_size = 4;
const size_t min_buckets = 8;
hash_compare( );
hash_compare( Traits pred );
size_t operator( )( const Key& _Key ) const;
bool operator( )(
const Key& _Key1,
const Key& _Key2
) const;
};
Hinweise
Jeder assoziative Container des Hashs speichert ein Hash merkmals Objekt vom Typ Traits (ein Vorlagenparameter).Sie können eine Klasse aus einer Spezialisierung von hash_compare abgeleitet werden, um bestimmte Funktionen und Objekte selektiv überschreiben, oder Sie können angeben, Version dieser Klasse verfügen, wenn Sie bestimmte Mindestanforderungen erfüllen.Insbesondere für ein Objekt hash_comp des Typs hash_compare <Key, Traits> , ist folgendes Verhalten durch die oben genannten Container erforderlich:
Für alle Werte _Key des Typs Taste, fungiert der Aufruf hash_comp(_Key) als Hashfunktion, die auf eine Verteilung von Werten des Typs size_tergibt.Die Funktion, die von hash_compare angegeben wird, gibt _Keyzurück.
Für jeden möglichen Wert _Key1 des Typs Taste , der _Key2 in der Sequenz vorangestellt ist und denselben Hashwert (der Wert zurückgegeben von der Hashfunktion) ist hash_comp(_Key2, _Key1) falsch.Die Funktion muss eine vollständige Reihenfolge auferlegen Werte vom Typ Taste.Die Funktion, die von hash_compare angegeben wird, gibt_Key2( Comp, _Key1, ) zurück, wobei Comp ein gespeichertes Objekt vom Typ Traits entspricht, mit der Sie angeben können, wenn Sie das Objekt hash_comp erstellen.Für den Standardwert Traits-Parametertyp kleiner <Key> , Wertminderung Sortierschlüssel nie ab.
Die ganzzahlige Konstante bucket_size gibt die Anzahl der Ressourcen von Elementen pro „Bucket“ (Hash-Tabelle der Container) den Eintrag versuchen soll, um nicht nach oben.Er muss größer als null sein.Der Wert, der von hash_compare angegeben ist, ist 4.
Die ganzzahlige Konstante min_buckets gibt die Anzahl der Buckets an, die in der Hashtabelle zu warten.Es muss eine Potenz von Zwei und größer als null sein.Der Wert, der von hash_compare angegeben ist, ist 8.
In Visual C++ .NET 2003 sind Member der <hash_map> und <hash_set> Headerdateien nicht mehr im std-Namespace, sondern sind in den stdext Namespace verschoben wurde.Weitere Informationen finden Sie unter Der stdext-Namespace.
Beispiel
Weitere Informationen finden Sie Beispiele für hash_map::hash_map, hash_multimap::hash_multimap, hash_set::hash_set, und hash_multiset::hash_multisetBeispiele für die Verwendung hash_compare deklariert und verwendet.
Anforderungen
Header: <hash_map>
Namespace: stdext
Siehe auch
Referenz
Threadsicherheit in der C++-Standardbibliothek