次の方法で共有


value_compare クラス

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

構文

class value_compare
    : std::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;
};

解説

hash_map に含まれる要素全体の value_types 間で value_compare によって提供される比較の基準は、補助型クラスの構築によって各要素のキーの間で比較を行うことから導き出されます。 メンバー関数の演算子は、value_compare によって提供される関数オブジェクトに格納されている型 key_compare のオブジェクト comp を使って、2 つの要素の並べ替えキー構成要素を比較します。

hash_set と hash_multiset (キーの値が要素の値を同一である単純なコンテナー) の場合、value_compare は key_compare と等価です。hash_map と hash_multimap の場合、型 pair の要素の値が要素のキーの値と同一ではないため、その 2 つは等価ではありません。

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

要件

ヘッダー:<hash_map>

名前空間: stdext

関連項目

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