#include <iostream>
#include <map>
int main (void) {
std::map<char,char> mymap;
std::map<char,char>::iterator it;
mymap['a'] = 'A'; mymap['b'] = 'B'; mymap['c'] = 'C';
mymap['d'] = 'D'; mymap['e'] = 'E'; mymap['f'] = 'F';
mymap['g'] = 'G'; mymap['h'] = 'H'; mymap['i'] = 'I';
it = mymap.find ('b'); // by iterator (b), leaves acdefghi.
mymap.erase (it);
it = mymap.find ('e'); // by range (e-i), leaves acd.
mymap.erase (it, mymap.end());
mymap.erase ('a'); // by key (a), leaves cd.
mymap.erase ('z'); // invalid key (none), leaves cd.
for (it = mymap.begin(); it != mymap.end(); it++)
std::cout << (*it).first << " => " << (*it).second << '\n';
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgoKaW50IG1haW4gKHZvaWQpIHsKICAgIHN0ZDo6bWFwPGNoYXIsY2hhcj4gbXltYXA7CiAgICBzdGQ6Om1hcDxjaGFyLGNoYXI+OjppdGVyYXRvciBpdDsKCiAgICBteW1hcFsnYSddID0gJ0EnOyBteW1hcFsnYiddID0gJ0InOyBteW1hcFsnYyddID0gJ0MnOwogICAgbXltYXBbJ2QnXSA9ICdEJzsgbXltYXBbJ2UnXSA9ICdFJzsgbXltYXBbJ2YnXSA9ICdGJzsKICAgIG15bWFwWydnJ10gPSAnRyc7IG15bWFwWydoJ10gPSAnSCc7IG15bWFwWydpJ10gPSAnSSc7CgogICAgaXQgPSBteW1hcC5maW5kICgnYicpOyAgICAgICAgICAgICAvLyBieSBpdGVyYXRvciAoYiksIGxlYXZlcyBhY2RlZmdoaS4KICAgIG15bWFwLmVyYXNlIChpdCk7CgogICAgaXQgPSBteW1hcC5maW5kICgnZScpOyAgICAgICAgICAgICAvLyBieSByYW5nZSAoZS1pKSwgbGVhdmVzIGFjZC4KICAgIG15bWFwLmVyYXNlIChpdCwgbXltYXAuZW5kKCkpOwoKICAgIG15bWFwLmVyYXNlICgnYScpOyAgICAgICAgICAgICAgICAgLy8gYnkga2V5IChhKSwgbGVhdmVzIGNkLgoKICAgIG15bWFwLmVyYXNlICgneicpOyAgICAgICAgICAgICAgICAgLy8gaW52YWxpZCBrZXkgKG5vbmUpLCBsZWF2ZXMgY2QuCgogICAgZm9yIChpdCA9IG15bWFwLmJlZ2luKCk7IGl0ICE9IG15bWFwLmVuZCgpOyBpdCsrKQogICAgICAgIHN0ZDo6Y291dCA8PCAoKml0KS5maXJzdCA8PCAiID0+ICIgPDwgKCppdCkuc2Vjb25kIDw8ICdcbic7CgogICAgcmV0dXJuIDA7Cn0=