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