用例是通过写YAML配置文件步进。 我需要检查每一个关键,因此分析其价值。 我喜欢使用像随机存取方法的想法doc["key"] >> value
,但是我真正需要做的是提醒在配置文件中无法识别键的用户,在他们的情况下,例如,拼写错误的关键。 我不知道该怎么做,没有通过文件迭代。
我知道我可以做到这一点使用YAML::Iterator
,像这样
for (YAML::Iterator it=doc.begin(); it<doc.end(); ++it)
{
std::string key;
it.first() >> key;
if (key=="parameter") { /* do stuff, possibly iterating over nested keys */ }
} else if (/* */) {
} else {
std::cerr << "Warning: bad parameter" << std::endl;
}
}
但有一个简单的方法来做到这一点? 我的方法似乎是完全绕开建成YAML-CPP任何错误检查,似乎撤消的随机访问键都简单。