#include <iostream>
#include <map>
//using namespace std;
typedef std::string CString; // Test
#define _T(X) X
struct LangEntry
{
LangEntry()
:Cause(_T("")), Head(_T("")), Solution(_T(""))
{}
LangEntry(CString cause, CString head, CString solution)
:Cause(cause), Head(head), Solution(solution)
{}
CString Cause;
CString Head;
CString Solution;
};
/*
struct AlarmEntry
{
/* AlarmEntry(const std::map<CString, LangEntry>& languages)
: Languages(languages)
{}
* /
std::map<CString, LangEntry> Languages;
};
*/
typedef std::map<CString, LangEntry> Languages;
typedef std::map<int, /*AlarmEntry*/ Languages> AlarmEntries;
std::map<CString, LangEntry> entry1 =
{ { "DE", LangEntry("D1", "D2", "D3") }, { "EN", LangEntry("E1", "E2", "E3") } };
AlarmEntries entries =
{
{ 1, entry1 },
{ 2, { { "DE", LangEntry("D1", "D2", "D3") }, { "EN", LangEntry("E1", "E2", "E3") } } }
};
int main() {
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgovL3VzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0eXBlZGVmIHN0ZDo6c3RyaW5nIENTdHJpbmc7IC8vIFRlc3QKI2RlZmluZSBfVChYKSBYCgpzdHJ1Y3QgTGFuZ0VudHJ5CnsKICAgTGFuZ0VudHJ5KCkKICAgICAgIDpDYXVzZShfVCgiIikpLCBIZWFkKF9UKCIiKSksIFNvbHV0aW9uKF9UKCIiKSkKICAge30KICAgTGFuZ0VudHJ5KENTdHJpbmcgY2F1c2UsIENTdHJpbmcgaGVhZCwgQ1N0cmluZyBzb2x1dGlvbikKICAgICAgIDpDYXVzZShjYXVzZSksIEhlYWQoaGVhZCksIFNvbHV0aW9uKHNvbHV0aW9uKQogICB7fQoKICAgQ1N0cmluZyBDYXVzZTsKICAgQ1N0cmluZyBIZWFkOwogICBDU3RyaW5nIFNvbHV0aW9uOwp9OwoKLyoKc3RydWN0IEFsYXJtRW50cnkKewovKglBbGFybUVudHJ5KGNvbnN0IHN0ZDo6bWFwPENTdHJpbmcsIExhbmdFbnRyeT4mIGxhbmd1YWdlcykKCSA6IExhbmd1YWdlcyhsYW5ndWFnZXMpCgl7fQoqIC8JCglzdGQ6Om1hcDxDU3RyaW5nLCBMYW5nRW50cnk+IExhbmd1YWdlczsKfTsKKi8KCnR5cGVkZWYgc3RkOjptYXA8Q1N0cmluZywgTGFuZ0VudHJ5PiBMYW5ndWFnZXM7Cgp0eXBlZGVmIHN0ZDo6bWFwPGludCwgLypBbGFybUVudHJ5Ki8gTGFuZ3VhZ2VzPiBBbGFybUVudHJpZXM7CgpzdGQ6Om1hcDxDU3RyaW5nLCBMYW5nRW50cnk+IGVudHJ5MSA9CiB7IHsgIkRFIiwgTGFuZ0VudHJ5KCJEMSIsICJEMiIsICJEMyIpIH0sIHsgIkVOIiwgTGFuZ0VudHJ5KCJFMSIsICJFMiIsICJFMyIpIH0gfTsKCkFsYXJtRW50cmllcyBlbnRyaWVzID0KewogIHsgMSwgZW50cnkxIH0sCiAgeyAyLCB7IHsgIkRFIiwgTGFuZ0VudHJ5KCJEMSIsICJEMiIsICJEMyIpIH0sIHsgIkVOIiwgTGFuZ0VudHJ5KCJFMSIsICJFMiIsICJFMyIpIH0gfSB9Cn07CgppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCXJldHVybiAwOwp9