首页 > 解决方案 > 在 yaml-cpp 中流式传输我自己的类型的正确方法是什么?

问题描述

我对将 YAML-CPP 与我自己的类型一起使用感到困惑。我可以找到的文档似乎列出了两种不同的流式传输方式。

首先,“How To Emit YAML”页面只说YAML::Emitter 的重载operator <<。显然这只是为了输出。但我找不到任何关于operator >>YAML::Parser

同时“教程”页面

要将 yaml-cpp 与您自己的数据类型一起使用,您需要专门化 YAML::convert<> 模板类。

它列出的这种方法让我在我的转换专业中同时编写了一个encode和函数。decode

我正在使用当前的 0.6 版本。其中一种是“旧”方式,一种是“新”方式,还是我需要两者都做?如果我需要两者都做,这两者如何协同工作?因为对我来说,转换专业化的东西需要一个encode/decode函数什么时候operator <<应该照顾其中一个是没有意义的

标签: c++yaml-cpp

解决方案


推荐阅读