キーがカスタムクラスである std::multimap があります。このようなもの:
Class X {
public:
std::string s;
int x;
operator <(const X& other) const { return s < other.s; }
};
std::multimap<X, int> mymap;
ここで、upper_bound と lower_bound を使用して、同じ値の "s" を持つすべての要素を反復処理したいと思います。X に他の演算子を実装する必要がありますか (例: ==)。それとも、このままで正常に動作するのでしょうか?
また、 upper_boundとlower_boundの引数として何を指定すればよいですか? 「s」の目的の値でダミーオブジェクトを作成する必要があると思いますか?