#include <iostream>
#include <map>
class Employee
{
int id = 0;
public:
explicit Employee(int id) : id{id} {}
friend std::ostream& operator << (std::ostream& os, const Employee& e)
{
return os << "Employee(id=" << e.id << ")";
}
};
int main() {
std::map<std::string, Employee> employee {
{"Karl", Employee{42}},
{"George", Employee{59}},
};
for (const auto& p : employee ) {
std::cout << p.first << " " << p.second << std::endl;
// George Employee(id=59)
// Karl Employee(id=42)
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgoKY2xhc3MgRW1wbG95ZWUKewogICAgaW50IGlkID0gMDsKcHVibGljOgoKICAgIGV4cGxpY2l0IEVtcGxveWVlKGludCBpZCkgOiBpZHtpZH0ge30KICAgIAogICAgZnJpZW5kIHN0ZDo6b3N0cmVhbSYgb3BlcmF0b3IgPDwgKHN0ZDo6b3N0cmVhbSYgb3MsIGNvbnN0IEVtcGxveWVlJiBlKQogICAgewoJCXJldHVybiBvcyA8PCAiRW1wbG95ZWUoaWQ9IiA8PCBlLmlkIDw8ICIpIjsKICAgIH0KIH07CgppbnQgbWFpbigpIHsKICAgIHN0ZDo6bWFwPHN0ZDo6c3RyaW5nLCBFbXBsb3llZT4gZW1wbG95ZWUgewogICAgICAgeyJLYXJsIiwgRW1wbG95ZWV7NDJ9fSwKICAgICAgIHsiR2VvcmdlIiwgRW1wbG95ZWV7NTl9fSwKICAgIH07CgogICAgZm9yIChjb25zdCBhdXRvJiBwIDogZW1wbG95ZWUgKSB7CiAgICAgICAgc3RkOjpjb3V0IDw8IHAuZmlyc3QgPDwgIiAiIDw8IHAuc2Vjb25kIDw8IHN0ZDo6ZW5kbDsKICAgICAgICAvLyBHZW9yZ2UgRW1wbG95ZWUoaWQ9NTkpCiAgICAgICAgLy8gS2FybCBFbXBsb3llZShpZD00MikKICAgICAgICAKICAgIH0KfQ==