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



我发出一个YAML文档,如下所示:

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

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

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

理想情况下,我希望能够标记Node,说"如果你发出,用以下样式这样做"。但我认为没有任何证据支持这一点。

有谁能想到一种方法来避免手工发出整个文档吗?

许多谢谢。

此功能已按问题中所指出的实现。

您可以使用以下代码

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

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

目前还不可能,但我已将其作为功能请求提交:

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

最新更新