value_compare sınıfı

Note

value_compare MSVC Derleme Araçları 14.51'de kaldırıldı.

içindeki göreli sırasını hash_mapbelirlemek için anahtarlarının değerlerini karşılaştırarak öğesinin öğelerini karşılaştırabilen bir hash_map işlev nesnesi sağlar.

Sözdizimi

class value_compare
    : public binary_function<value_type, value_type, bool>
{
public:
    bool operator()(
        const value_type& left,
        const value_type& right) const
    {
        return (comp(left.first, right.first));
    }

protected:
    value_compare(const key_compare& c) : comp (c) { }
    key_compare comp;
};

Açıklamalar

Kaldırmadan önce, value_compare depolanan key_compare nesnesi compolan öğesini anahtarlarına uygulayarak iki hash_map öğeyi karşılaştırmıştı. Bu, eşlenen değerleri yerine öğelerin üyelerini karşılaştırmıştı first .

Eski hash_set ve hash_multiset kapsayıcılar için anahtar aynı zamanda öğe değeriydi, bu nedenle value_compare ile key_compareeşdeğerdi. Eski hash_map ve hash_multimap kapsayıcılar için öğesi bir pairidi, bu nedenle iki karşılaştırma türü eşdeğer değildi.

Standart sıralanmamış kapsayıcılar, bu API'nin doğrudan değiştirilmesi değildir. Öğelerini sıralamadıkları için, unordered_mapveya yerine value_comparevalue_comp, unordered_multimap, unordered_setve unordered_multiset sağlamaları key_equal gerekir.

Note

hash_set, hash_multisethash_map ve hash_multimap MSVC Derleme Araçları 14.51'de kaldırıldı

Örnek

bildirme ve kullanma hash_map::value_compörneği için value_compare örneğine bakın.

Gereksinimler

Üstbilgi:<hash_map>

Ad alanı: stdext

Ayrıca bkz.

binary_function Yapı
C++ Standart Kitaplığında İş Parçacığı Güvenliği
C++ Standart Kitaplığı Başvurusu