#include <iostream>
#include <map>
enum Type{ First, Second, Third, NumberOfTypes };
std::map<Type, std::pair<int, float>> mp;
int main()
{
for(int i = First; i < NumberOfTypes; ++i) {
mp.emplace(static_cast<Type>(i), std::make_pair(i, static_cast<float>(i)));
}
for(auto &p : mp) {
std::cout << p.first << " = " << p.second.first << "," << p.second.second << std::endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgoKZW51bSBUeXBleyBGaXJzdCwgU2Vjb25kLCBUaGlyZCwgTnVtYmVyT2ZUeXBlcyB9OwpzdGQ6Om1hcDxUeXBlLCBzdGQ6OnBhaXI8aW50LCBmbG9hdD4+IG1wOwoKaW50IG1haW4oKQp7Cglmb3IoaW50IGkgPSBGaXJzdDsgaSA8IE51bWJlck9mVHlwZXM7ICsraSkgewogICAgCW1wLmVtcGxhY2Uoc3RhdGljX2Nhc3Q8VHlwZT4oaSksIHN0ZDo6bWFrZV9wYWlyKGksIHN0YXRpY19jYXN0PGZsb2F0PihpKSkpOwoJfQoKCWZvcihhdXRvICZwIDogbXApIHsKCQlzdGQ6OmNvdXQgPDwgcC5maXJzdCA8PCAiID0gIiA8PCBwLnNlY29uZC5maXJzdCA8PCAiLCIgPDwgcC5zZWNvbmQuc2Vjb25kIDw8IHN0ZDo6ZW5kbDsKCX0KCglyZXR1cm4gMDsKfQ==