Как создать последовательность сопоставлений с дополнительными символами новой строки в yaml-cpp

Я хочу создать последовательность сопоставлений с использованием библиотеки yaml-cpp в следующем формате:

-
name: <some_name>
value: <some_value>

Я использую этот код:

Emitter out;
out << YAML::BeginSeq;

for (unsigned int i = 0; i < prof_info_.numOfSettings; ++i)
{
str = NvUS_to_string(stgs[i].settingName);

if (str != "")
{
out << YAML::BeginMap;

out << YAML::Key << "name";
out << YAML::Value << str;

string d_str = get_value_name_from_value_id(stgs[i].settingId, (unsigned int)stgs[i].u32CurrentValue);

out << YAML::Key << "value";
out << YAML::Value << d_str;

out << YAML::EndMap;
}
}

out << YAML::EndSeq;

f_out << out.c_str();

и я получаю:

- name: <some_name>
value: <some_value>

Я пытался добавить

out << YAML::NewLine;

в начале карты, но это дает неправильный результат. Как я могу получить желаемый результат?

1

Решение

Положил YAML::Newline просто после YAML::BeginMap чтобы получить новую строку после - но до первой записи на карте:

out << YAML::BeginMap;
out << YAML::Newline;

out << YAML::Key << "name";
out << YAML::Value << str;

out << YAML::Key << "value";
out << YAML::Value << d_str;

out << YAML::EndMap;
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]