Aracılığıyla paylaş


hash_compare Class

Nesnenin kaplarından herhangi birini karma ilişkilendirilebilir tarafından kullanılan şablon sınıfı tanımlar — hash_map, hash_multimap, hash_set, veya hash_multiset — varsayılan olarak nitelikler sipariş ve içerdikleri öğeler karma parameter nesnesi.

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

Notlar

Karma Nitelikler nesnesi türü her karma ilişkilendirilebilir kapsayıcısı depolar nitelikler (şablon parametre). Bir seçime bağlı olarak bazı işlevler ve nesneleri geçersiz kılmak için hash_compare uzmanlığı bir sınıf türetmek veya belirli en düşük gereksinimleri karşılıyorsa, bu sınıfın kendi sürüm sağlayabilir. Özellikle türünde bir nesne hash_comp için hash_compare < anahtar, nitelikler >, aşağıdaki davranış tarafından yukarıdaki kapsayıcıları gereklidir:

  • Tüm değerler için _Key türü anahtar, çağrı hash_comp(_Key) dağıtım türü değer veren bir karma işlevi hizmet veren size_t. Hash_compare tarafından sağlanan işlev verir _Key.

  • Herhangi bir değer için _Key1 türü anahtar , önündeki _Key2 sırada ve aynı karma değeri (karma işlev tarafından döndürülen değeri), hash_comp(_Key2, _Key1) yanlış. Sıralama türü değerleri üzerinde toplam işlevi tanıtamazlar gerekir anahtar. Hash_compare tarafından sağlanan işlev verir comp(_Key2, _Key1), burada comp saklı nesne türü olan nitelikler ne zaman nesne hash_comp yapısı belirtebilirsiniz. Varsayılan nitelikler parametre türü daha az <Key>, sıralama anahtarları hiçbir zaman değerini azaltın.

  • Tamsayı sabiti bucket_size öğeleri ", kapsayıcı değil aşacak denemelisiniz demet" (karma tablosu girdisi) başına ortalama sayısını belirtir. Sıfırdan büyük olmalıdır. Hash_compare tarafından sağlanan değer 4'tür.

  • Tamsayı sabiti min_buckets demetleri karma tablo korumak için en az sayısını belirtir. Bu bir güç iki ve sıfırdan büyük olmalıdır. Hash_compare tarafından sağlanan değer 8'dir.

Visual C++'da.net 2003 ' te üyeleri <hash_map> ve <hash_set> üstbilgi dosyaları artık std ad alanında bulunan, ancak bunun yerine stdext ad alanına taşınmış. Bkz: ad stdext daha fazla bilgi için.

Örnek

Örnekler için bkz: hash_map::hash_map, hash_multimap::hash_multimap, hash_set::hash_set, ve hash_multiset::hash_multiset, nasıl hash_compare bildirmek ve örnekleri için.

Gereksinimler

Başlık: <hash_map>

Namespace: stdext

Ayrıca bkz.

Başvuru

Standart C++ Kitaplığı'nda iş parçacığı güvenliği

Standart Şablon Kütüphanesi

Diğer Kaynaklar

<hash_map> Üyeler

<hash_set> Üyeler