Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Szablon klasy opisuje obiekt, który może być używany przez dowolne kontenery asocjacyjne skrótów — hash_map, hash_multimap, hash_set lub hash_multiset — jako domyślny obiekt parametru Traits do porządkowenia i tworzenia skrótu elementów, które zawierają.
Składnia
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 kontener asocjacyjny skrót przechowuje obiekt cech skrótu typu Traits (parametr szablonu). Klasę można utworzyć na podstawie specjalizacji hash_compare, aby selektywnie zastąpić niektóre funkcje i obiekty lub podać własną wersję tej klasy, jeśli spełniasz pewne minimalne wymagania. W szczególności w przypadku obiektu hash_comp typu hash_compare<Key, Traits>następujące zachowanie jest wymagane przez powyższe kontenery:
Dla wszystkich wartości
keytypuKeywywołanie hash_comp(key) służy jako funkcja skrótu, która daje rozkład wartości typusize_t. Funkcja dostarczana przez hash_compare zwraca wartośćkey.W przypadku dowolnej wartości
key1typuKey, która poprzedzakey2sekwencję i ma tę samą wartość skrótu (wartość zwracana przez funkcję skrótu), hash_comp(key2,key1) jest fałszem. Funkcja musi narzucić łączną kolejność dla wartości typuKey. Funkcja dostarczana przez hash_compare zwraca comp(, ), gdzie comp jest przechowywanym obiektem typuTraits, który można określić podczas konstruowania obiektu hash_comp.,key1key2Dla domyślnegoTraitstypuless<Key>parametru klucze sortowania nigdy nie zmniejszają wartości.Stała
bucket_sizecałkowita określa średnią liczbę elementów na "zasobnik" (wpis tabeli skrótów), których kontener powinien spróbować nie przekroczyć. Musi być większy niż zero. Wartość podana przez hash_compare wynosi 4.Stała
min_bucketscałkowita określa minimalną liczbę zasobników do utrzymania w tabeli skrótów. Musi być mocą dwóch i większą niż zero. Wartość podana przez hash_compare wynosi 8.
Przykład
Zobacz przykłady hash_map ::hash_map, hash_multimap::hash_multimap, hash_set::hash_set i hash_multiset::hash_multiset, aby zapoznać się z przykładami sposobu deklarowania i używania hash_compare.
Wymagania
Nagłówek:<hash_map>
Przestrzeń nazw: stdext
Zobacz też
Bezpieczeństwo wątku w standardowej bibliotece C++
Dokumentacja standardowej biblioteki C++