Udostępnij za pośrednictwem


hash_compare Class

Klasa szablonu opisuje obiektu używanego przez żadną z kontenerów asocjacyjną mieszania — hash_map, hash_multimap, hash_set, lub hash_multiset — jako domyślny cech parametr obiektu do porządkowania i funkcje mieszania dla elementów, które zawierają.

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;
   };

Uwagi

Każdy pojemnik asocjacyjną mieszania przechowuje obiekt cech mieszania typu cech (parametr szablonu).Klasę można czerpać z specjalizacji, z hash_compare do selektywnego zastępowania niektórych funkcji i obiektów, lub może dostarczyć wersję tej klasy, jeśli spełniają pewne minimalne wymagania.W szczególności dla hash_comp obiektu typu hash_compare < klucz, cechy >, następujące zachowanie jest wymagane przez powyższe pojemniki:

  • Dla wszystkich wartości _Key typu klucz, wywołanie hash_comp(_Key) służy jako funkcja mieszania, która daje w wyniku rozkład wartości typu int.Zwraca funkcję dostarczonych przez hash_compare _Key.

  • Dla wartości _Key1 typu klucz czy poprzedza _Key2 w sekwencji i ma ten sam mieszania wartość (wartość zwracana przez funkcję mieszania), hash_comp(_Key2, _Key1) ma wartość false.Funkcja musi nakładać sumy zamówienia na wartości typu klucz.Zwraca funkcję dostarczonych przez hash_compare comp(_Key2, _Key1), gdzie comp jest przechowywaną obiektu typu cech że można określić podczas konstruowania hash_comp obiektu.Dla domyślnie cech typ parametru mniej <Key>, nigdy nie zmniejszenie wartości kluczy sortowania.

  • Stała całkowita bucket_size określa średnią liczbę elementów na "segmentu" (wpis tabeli mieszania) kontenera nie należy próbować przekroczyć.Musi być większa od zera.Wartość dostarczonych przez hash_compare jest 4.

  • Stała całkowita min_buckets określa minimalną liczbę segmentów do utrzymania w tabeli mieszania.Musi być zasilania, dwa i większą niż zero.Wartość dostarczonych przez hash_compare jest 8.

W programie Visual C++.NET 2003 członków <hash_map> i <hash_set> pliki nagłówkowe są już w przestrzeni nazw std, ale raczej zostały przeniesione do obszaru nazw stdext.Zobacz stdext obszaru nazw Aby uzyskać więcej informacji.

Przykład

Zobacz przykłady dla hash_map::hash_map, hash_multimap::hash_multimap, hash_set::hash_set, i hash_multiset::hash_multiset, przykłady zadeklarować i używania hash_compare.

Wymagania

Nagłówek: <hash_map>

Obszar nazw: stdext

Zobacz też

Informacje

Bezpieczeństwo wątków w standardowa biblioteka języka C++

Standardowa biblioteka szablonu

Inne zasoby

<hash_map> Członkowie

<hash_set> Członkowie