如何为特定的 yaml-cpp 节点设置发射样式
Posted
技术标签:
【中文标题】如何为特定的 yaml-cpp 节点设置发射样式【英文标题】:How to set an emit style for a particular yaml-cpp node 【发布时间】:2013-01-11 16:39:36 【问题描述】:我正在发出如下 YAML 文档:
YAML::Node doc; // ...populate doc...
YAML::Emitter out;
out << doc;
在节点层次结构中的某处,我有一个特定的序列,我想以Flow
样式发出,而其他一切都应使用默认样式设置。
除了手动发射每个节点并注意我感兴趣的节点之外,我似乎找不到任何其他方法。这似乎是为相对简单的事情付出高昂的代价。
理想情况下,我希望能够标记Node
以说“如果您被发射,请使用以下样式”。但我认为没有任何支持。
任何人都可以想出一种方法来不必手动发出整个文档吗?
非常感谢。
【问题讨论】:
【参考方案1】:正如this question 中指出的那样,此功能已经实现。
可以使用以下代码设置节点样式
node.SetStyle(YAML::EmitterStyle::Flow);
或
node.SetStyle(YAML::EmitterStyle::Block);
【讨论】:
【参考方案2】:目前不可能,但我已将其作为功能请求提交:
http://code.google.com/p/yaml-cpp/issues/detail?id=184
【讨论】:
谢谢杰西。我可能会按照您在功能请求中建议的内容来实现一些东西。如果您有兴趣,非常乐意在我完成后分享路径。以上是关于如何为特定的 yaml-cpp 节点设置发射样式的主要内容,如果未能解决你的问题,请参考以下文章