Udostępnij za pośrednictwem


hash_compare — Klasa

Obiekt, który przez żadną z kontenerów asocjacyjnych mieszania zawiera opis szablonu klasy — hash_map, hash_multimap, hash_set, lub hash_multiset — domyślnie cechy parametr obiektu do porządkowania i mieszania zawierają elementy.

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 asocjacyjne mieszania przechowuje obiekt cech mieszania typu cechy (parametr szablonu).Klasy mogą dziedziczyć specjalizacji hash_compare do przeciążania niektóre funkcje i obiekty lub podać własną wersję tej klasy, które 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 kontenery:

  • 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 size_t.Zwraca wartość funkcji dostarczonych przez hash_compare _Key.

  • Dla każdej wartości _Key1 typu klucz czy poprzedza _Key2 w sekwencji i ma tę samą wartość mieszania wartość (wartość zwracaną przez funkcję mieszania), hash_comp(_Key2, _Key1) ma wartość false.Funkcja musi nakładać sumy zamówienia na wartości typu klucz.Zwraca wartość funkcji dostarczanych przez hash_compare komp(_Key2, _Key1), gdzie komp jest przechowywana obiektu typu cechy można określić podczas konstruowania obiektu hash_comp.Dla domyślnej cechy typ parametru mniej<klucz>, klucze sortowania nigdy spadek wartości.

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

  • Stała wartość całkowita w min_buckets określa minimalną liczbę pakiety, aby utrzymać w tabeli mieszania.Musi być zasilania dwu i większa od zera.Wartość dostarczonych przez hash_compare jest 8.

W Visual C++ .NET 2003, elementy członkowskie plików nagłówka <hash_map> i <hash_set> nie są już w przestrzeni nazw std, ale raczej zostały przeniesione do przestrzeni nazw stdext.Zobacz Przestrzeń nazw stdext, 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 deklarować i używać hash_compare.

Wymagania

Nagłówek: <hash_map>

Przestrzeń nazw: stdext

Zobacz też

Informacje

Bezpieczeństwo wątku w standardowej bibliotece C++

Standardowa biblioteka szablonów

Inne zasoby

<hash_map> Członkowie

<hash_set> Członkowie