read.cpp 1.02 KB
Newer Older
1
2
#include <iostream>

3
#include "yaml-cpp/emitterstyle.h"
Jesse Beder's avatar
Jesse Beder committed
4
#include "yaml-cpp/eventhandler.h"
Jesse Beder's avatar
Jesse Beder committed
5
6
#include "yaml-cpp/yaml.h"  // IWYU pragma: keep

Jesse Beder's avatar
Jesse Beder committed
7
8
9
10
11
12
13
14
15
16
17
18
19
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&) {}
20
21
  virtual void OnSequenceStart(const Mark&, const std::string&, anchor_t,
                               YAML::EmitterStyle::value style) {}
Jesse Beder's avatar
Jesse Beder committed
22
  virtual void OnSequenceEnd() {}
23
24
  virtual void OnMapStart(const Mark&, const std::string&, anchor_t,
                          YAML::EmitterStyle::value style) {}
Jesse Beder's avatar
Jesse Beder committed
25
  virtual void OnMapEnd() {}
26
27
};

Jesse Beder's avatar
Jesse Beder committed
28
29
30
31
32
int main() {
  YAML::Parser parser(std::cin);
  NullEventHandler handler;
  parser.HandleNextDocument(handler);
  return 0;
33
}