I have a multimap and I want get all the unique keys in it to be stored in a vector.
multimap<char,int> mymm;
multimap<char,int>::iterator it;
char c;
mymm.insert(pair<char,int>('x',50));
mymm.insert(pair<char,int>('y',100));
mymm.insert(pair<char,int>('y',150));
mymm.insert(pair<char,int>('y',200));
mymm.insert(pair<char,int>('z',250));
mymm.insert(pair<char,int>('z',300));
How can I do this? there is way to count number of elements with a key but none to count number of unique keys in a multimap.
Added: By unique I mean all the keys in multimap once - they can be repeated or occur once in multimap.
So unique keys here are - x, y and z
I tried this and it worked
for( multimap<char,int>::iterator it = mymm.begin(), end = mymm.end(); it != end; it = mymm.upper_bound(it->first))
{
cout << it->first << ' ' << it->second << endl;
}