現在(2013/12/12)のyaml-cppの最新リビジョンを使用しています。
YAML::Load("")
との両方YAML::Load("---\n...")が Null ノードになることに気付きました。つまり、前者YAML::Load("").Type() == YAML::NodeType::Null
に送信するとstd::ostream空の文字列が出力されますが、後者はチルダ ( ~) を出力します。
両方のノードが空の文字列を出力するようにします。どうすれば達成できますか?
を使用すると、チルダが文字列として解釈されることに気付いたので、そうしたいのですYAML::Load。
この違いを示すコードを次に示します。
#include <yaml-cpp/yaml.h>
#include <iostream>
#include <cassert>
int main() {
YAML::Node node1 = YAML::Load("");
YAML::Node node2 = YAML::Load("---\n...");
assert (node1.Type() == YAML::NodeType::Null);
assert (node2.Type() == YAML::NodeType::Null);
std::cout << node1 << std::endl;
std::cout << node2 << std::endl;
}
/* OUTPUT:
~
*/