From 979a91692f7c52dcaa52066a752210c911a5ef64 Mon Sep 17 00:00:00 2001 From: Jesse Beder Date: Sat, 15 Sep 2012 16:29:07 -0700 Subject: [PATCH] Added small 'read' program to test reading a single doc (from stdin) --- util/CMakeLists.txt | 3 +++ util/read.cpp | 30 ++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 util/read.cpp diff --git a/util/CMakeLists.txt b/util/CMakeLists.txt index 1321b2a..2661c2e 100644 --- a/util/CMakeLists.txt +++ b/util/CMakeLists.txt @@ -1,2 +1,5 @@ add_executable(sandbox sandbox.cpp) target_link_libraries(sandbox yaml-cpp) + +add_executable(read read.cpp) +target_link_libraries(read yaml-cpp) diff --git a/util/read.cpp b/util/read.cpp new file mode 100644 index 0000000..f82cb7e --- /dev/null +++ b/util/read.cpp @@ -0,0 +1,30 @@ +#include "yaml-cpp/yaml.h" +#include "yaml-cpp/eventhandler.h" +#include + +class NullEventHandler: public YAML::EventHandler +{ +public: + typedef YAML::Mark Mark; + typedef YAML::anchor_t anchor_t; + + NullEventHandler() {} + + virtual void OnDocumentStart(const Mark&) {} + virtual void OnDocumentEnd() {} + virtual void OnNull(const Mark&, anchor_t) {} + virtual void OnAlias(const Mark&, anchor_t) {} + virtual void OnScalar(const Mark&, const std::string&, anchor_t, const std::string&) {} + virtual void OnSequenceStart(const Mark&, const std::string&, anchor_t) {} + virtual void OnSequenceEnd() {} + virtual void OnMapStart(const Mark&, const std::string&, anchor_t) {} + virtual void OnMapEnd() {} +}; + +int main() +{ + YAML::Parser parser(std::cin); + NullEventHandler handler; + parser.HandleNextDocument(handler); + return 0; +}