#include <iostream> /* C++ iostream C++98/11 */
#include <string> /* C++ strings C++98/11 */
#include <boost/algorithm/string.hpp>
#include <map>
#include <set>
#include <vector>
int main() {
std::map<std::string, std::string> messageFields;
std::string fldStr = "MSGLOG_LIFECYCLE_ID,MSG_TYPE,CLMS_CARD_UID,FLD_002_MASKED,FLD_003,FLD_004::INT,FLD_006::INT,FLD_024,FLD_038,FLD_039,FLD_043,FLD_049,FLD_126";
if (!fldStr.empty()) {
//boost::split(messageFields, fldStr, boost::is_any_of(","));
static std::set<std::string> fields;
boost::split(fields, fldStr, boost::is_any_of(","));
for (auto& fld : fields) {
std::size_t pos = fld.find("::");
if (pos != std::string::npos) {
std::string key = fld.substr(0, pos);
std::string value = fld.substr(pos + 2);
messageFields[key] = value;
} else {
messageFields[fld] = "AUTO";
}
}
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPiAgICAgICAgICAgICAgICAvKiBDKysgaW9zdHJlYW0gICAgICAgICAgICBDKys5OC8xMSAqLwojaW5jbHVkZSA8c3RyaW5nPiAgICAgICAgICAgICAgICAgIC8qIEMrKyBzdHJpbmdzICAgICAgICAgICAgIEMrKzk4LzExICovCiNpbmNsdWRlIDxib29zdC9hbGdvcml0aG0vc3RyaW5nLmhwcD4KI2luY2x1ZGUgPG1hcD4KI2luY2x1ZGUgPHNldD4KI2luY2x1ZGUgPHZlY3Rvcj4KCmludCBtYWluKCkgewogCiAgICBzdGQ6Om1hcDxzdGQ6OnN0cmluZywgc3RkOjpzdHJpbmc+IG1lc3NhZ2VGaWVsZHM7CiAgICBzdGQ6OnN0cmluZyBmbGRTdHIgPSAiTVNHTE9HX0xJRkVDWUNMRV9JRCxNU0dfVFlQRSxDTE1TX0NBUkRfVUlELEZMRF8wMDJfTUFTS0VELEZMRF8wMDMsRkxEXzAwNDo6SU5ULEZMRF8wMDY6OklOVCxGTERfMDI0LEZMRF8wMzgsRkxEXzAzOSxGTERfMDQzLEZMRF8wNDksRkxEXzEyNiI7CiAgICBpZiAoIWZsZFN0ci5lbXB0eSgpKSB7CiAgICAgICAgLy9ib29zdDo6c3BsaXQobWVzc2FnZUZpZWxkcywgZmxkU3RyLCBib29zdDo6aXNfYW55X29mKCIsIikpOwogICAgICAgIHN0YXRpYyBzdGQ6OnNldDxzdGQ6OnN0cmluZz4gZmllbGRzOwogICAgICAgIGJvb3N0OjpzcGxpdChmaWVsZHMsIGZsZFN0ciwgYm9vc3Q6OmlzX2FueV9vZigiLCIpKTsKICAgICAgICBmb3IgKGF1dG8mIGZsZCA6IGZpZWxkcykgewogICAgICAgICAgICBzdGQ6OnNpemVfdCBwb3MgPSBmbGQuZmluZCgiOjoiKTsKICAgICAgICAgICAgaWYgKHBvcyAhPSBzdGQ6OnN0cmluZzo6bnBvcykgewogICAgICAgICAgICAgICAgICAgIHN0ZDo6c3RyaW5nIGtleSA9IGZsZC5zdWJzdHIoMCwgcG9zKTsKICAgICAgICAgICAgICAgICAgICBzdGQ6OnN0cmluZyB2YWx1ZSA9IGZsZC5zdWJzdHIocG9zICsgMik7CiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZUZpZWxkc1trZXldID0gdmFsdWU7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBtZXNzYWdlRmllbGRzW2ZsZF0gPSAiQVVUTyI7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cgp9Cg==