Я использую текущую (12.12.2013) последнюю версию yaml-cpp.
Я заметил, что и YAML::Load("")
, и YAML::Load("---\n...")
приводят к нулевому узлу, то есть 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:
~
*/