Added YAML::Newline manipulator for the emitter

This commit is contained in:
Jesse Beder
2010-10-21 22:02:29 +00:00
parent a04e2da1ff
commit 1e4210401f
5 changed files with 63 additions and 4 deletions

View File

@@ -1,4 +1,5 @@
#include "yaml-cpp/yaml.h"
#include "yaml-cpp/eventhandler.h"
#include <fstream>
#include <iostream>
#include <vector>
@@ -16,6 +17,23 @@ Params ParseArgs(int argc, char **argv) {
return p;
}
class NullEventHandler: public YAML::EventHandler
{
public:
virtual void OnDocumentStart(const YAML::Mark&) {}
virtual void OnDocumentEnd() {}
virtual void OnNull(const std::string&, YAML::anchor_t) {}
virtual void OnAlias(const YAML::Mark&, YAML::anchor_t) {}
virtual void OnScalar(const YAML::Mark&, const std::string&, YAML::anchor_t, const std::string&) {}
virtual void OnSequenceStart(const YAML::Mark&, const std::string&, YAML::anchor_t) {}
virtual void OnSequenceEnd() {}
virtual void OnMapStart(const YAML::Mark&, const std::string&, YAML::anchor_t) {}
virtual void OnMapEnd() {}
};
int main(int argc, char **argv)
{
Params p = ParseArgs(argc, argv);
@@ -28,7 +46,9 @@ int main(int argc, char **argv)
try {
YAML::Parser parser(input);
YAML::Node doc;
while(parser.GetNextDocument(doc)) {
NullEventHandler handler;
// while(parser.GetNextDocument(doc)) {
while(parser.HandleNextDocument(handler)) {
// YAML::Emitter emitter;
// emitter << doc;
// std::cout << emitter.c_str() << "\n";