#include <iostream>
#include <map>
#include <algorithm>
#include <iterator>
using namespace std;
void print( std::map< int, char > &x)
{
std::cout<<"map:"<<std::endl;
for (auto& e:x)
std::cout<<" "<<e.first<<":"<<e.second<<std::endl;
}
int main() {
std::map< int, char > charMap { {1,'A'},{2,'B'},{3,'C'}}, tmp;
print(charMap);
std::transform(charMap.begin(), charMap.end(),
std::inserter(tmp,tmp.begin()),
[](auto e) { return std::make_pair(e.first+1, e.second); });
std::swap(tmp, charMap);
print(charMap);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8aXRlcmF0b3I+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIHByaW50KAlzdGQ6Om1hcDwgaW50LCBjaGFyID4gJngpIAp7CglzdGQ6OmNvdXQ8PCJtYXA6Ijw8c3RkOjplbmRsOwoJZm9yIChhdXRvJiBlOngpIAoJICAgIHN0ZDo6Y291dDw8IiAgIjw8ZS5maXJzdDw8IjoiPDxlLnNlY29uZDw8c3RkOjplbmRsOyAKCSAgICAKfQoKaW50IG1haW4oKSB7CgkKCXN0ZDo6bWFwPCBpbnQsIGNoYXIgPiBjaGFyTWFwIHsgezEsJ0EnfSx7MiwnQid9LHszLCdDJ319LCB0bXA7CiAgICBwcmludChjaGFyTWFwKTsKICAgIHN0ZDo6dHJhbnNmb3JtKGNoYXJNYXAuYmVnaW4oKSwgY2hhck1hcC5lbmQoKSwgCiAgICAgICAgICBzdGQ6Omluc2VydGVyKHRtcCx0bXAuYmVnaW4oKSksIAogICAgICAgICAgW10oYXV0byBlKSB7IHJldHVybiBzdGQ6Om1ha2VfcGFpcihlLmZpcnN0KzEsIGUuc2Vjb25kKTsgfSk7CiAgICBzdGQ6OnN3YXAodG1wLCBjaGFyTWFwKTsKCXByaW50KGNoYXJNYXApOwoKCglyZXR1cm4gMDsKfQ==