/src/yaml-cpp/include/yaml-cpp/eventhandler.h
Line | Count | Source |
1 | | #ifndef EVENTHANDLER_H_62B23520_7C8E_11DE_8A39_0800200C9A66 |
2 | | #define EVENTHANDLER_H_62B23520_7C8E_11DE_8A39_0800200C9A66 |
3 | | |
4 | | #if defined(_MSC_VER) || \ |
5 | | (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \ |
6 | | (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4 |
7 | | #pragma once |
8 | | #endif |
9 | | |
10 | | #include <string> |
11 | | |
12 | | #include "yaml-cpp/anchor.h" |
13 | | #include "yaml-cpp/emitterstyle.h" |
14 | | |
15 | | namespace YAML { |
16 | | struct Mark; |
17 | | |
18 | | class EventHandler { |
19 | | public: |
20 | 125k | virtual ~EventHandler() = default; |
21 | | |
22 | | virtual void OnDocumentStart(const Mark& mark) = 0; |
23 | | virtual void OnDocumentEnd() = 0; |
24 | | |
25 | | virtual void OnNull(const Mark& mark, anchor_t anchor) = 0; |
26 | | virtual void OnAlias(const Mark& mark, anchor_t anchor) = 0; |
27 | | virtual void OnScalar(const Mark& mark, const std::string& tag, |
28 | | anchor_t anchor, const std::string& value) = 0; |
29 | | |
30 | | virtual void OnSequenceStart(const Mark& mark, const std::string& tag, |
31 | | anchor_t anchor, EmitterStyle::value style) = 0; |
32 | | virtual void OnSequenceEnd() = 0; |
33 | | |
34 | | virtual void OnMapStart(const Mark& mark, const std::string& tag, |
35 | | anchor_t anchor, EmitterStyle::value style) = 0; |
36 | | virtual void OnMapEnd() = 0; |
37 | | |
38 | | virtual void OnAnchor(const Mark& /*mark*/, |
39 | 1.01M | const std::string& /*anchor_name*/) { |
40 | | // empty default implementation for compatibility |
41 | 1.01M | } |
42 | | }; |
43 | | } // namespace YAML |
44 | | |
45 | | #endif // EVENTHANDLER_H_62B23520_7C8E_11DE_8A39_0800200C9A66 |