value_compare クラス

Note

value_compare MSVC ビルド ツール 14.51 で削除されました。

キーの値を比較してhash_mapの相対的な順序を決定することで、hash_mapの要素を比較できる関数オブジェクトを提供します。

構文

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

解説

削除する前に、value_compare格納されている key_compare オブジェクト (comp) をキーに適用することで、2 つのhash_map要素を比較しました。 マップされた値ではなく、要素の first メンバーを比較しました。

従来の hash_set コンテナーと hash_multiset コンテナーの場合、キーも要素値であるため、 value_compare は key_compareと同等でした。 従来の hash_map コンテナーと hash_multimap コンテナーの場合、要素は pairであるため、2 つの比較の種類は同等のものでした。

標準の順序なしコンテナーは、この API の直接的な代替ではありません。 要素、unordered_map、unordered_multimap、unordered_set、およびunordered_multisetは、value_compareやvalue_compの代わりにkey_equalを提供しないためです。

Note

hash_setMSVC ビルド ツール 14.51 で、 hash_multiset、 hash_map 、および hash_multimap が削除されました

例

hash_map::value_compを宣言して使用する方法の例については、value_compareの例を参照してください。

要件

ヘッダ:<hash_map>

Namespace:stdext

関連項目

binary_function 構造 体
C++ 標準ライブラリ内のスレッド セーフ
C++ 標準ライブラリ リファレンス