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++ 標準ライブラリ リファレンス