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