如何为特定的yaml-cpp节点设置emit样式

时间:2013-01-11 16:39:36

标签: yaml-cpp

我发的YAML文件如下:

YAML::Node doc; // ...populate doc...
YAML::Emitter out;
out << doc;

在节点层次结构的某个地方,我有一个特定的序列,我希望以Flow样式发出,而其他一切应该使用默认的样式设置。

除了手动发送每个节点并注意我感兴趣的节点之外,我似乎无法找到任何方法。这对于相对简单的事情来说似乎是一个很高的代价。

理想情况下,我希望能够将Node标记为“如果您被发出,请使用以下样式执行此操作”。但我认为没有任何支持。

有人可以想办法手动发出整个文件吗?

非常感谢。

2 个答案:

答案 0 :(得分:2)

此功能已按照this question中的指示实施。

您可以使用以下代码

设置节点样式
node.SetStyle(YAML::EmitterStyle::Flow);

node.SetStyle(YAML::EmitterStyle::Block);

答案 1 :(得分:1)

目前无法实现,但我已将其作为功能请求提交:

http://code.google.com/p/yaml-cpp/issues/detail?id=184