3

現在(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:

~
*/
4

1 に答える 1