1 #ifndef EMITFROMEVENTS_H_62B23520_7C8E_11DE_8A39_0800200C9A66 2 #define EMITFROMEVENTS_H_62B23520_7C8E_11DE_8A39_0800200C9A66 4 #if defined(_MSC_VER) || \ 5 (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \ 6 (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4 12 #include "yaml-cpp/anchor.h" 13 #include "yaml-cpp/emitterstyle.h" 14 #include "yaml-cpp/eventhandler.h" 23 class EmitFromEvents :
public EventHandler {
25 EmitFromEvents(Emitter& emitter);
27 void OnDocumentStart(
const Mark& mark)
override;
28 void OnDocumentEnd()
override;
30 void OnNull(
const Mark& mark, anchor_t anchor)
override;
31 void OnAlias(
const Mark& mark, anchor_t anchor)
override;
32 void OnScalar(
const Mark& mark,
const std::string& tag,
33 anchor_t anchor,
const std::string& value)
override;
35 void OnSequenceStart(
const Mark& mark,
const std::string& tag,
36 anchor_t anchor, EmitterStyle::value style)
override;
37 void OnSequenceEnd()
override;
39 void OnMapStart(
const Mark& mark,
const std::string& tag,
40 anchor_t anchor, EmitterStyle::value style)
override;
41 void OnMapEnd()
override;
45 void EmitProps(
const std::string& tag, anchor_t anchor);
51 enum value { WaitingForSequenceEntry, WaitingForKey, WaitingForValue };
53 std::stack<State::value> m_stateStack;
57 #endif // EMITFROMEVENTS_H_62B23520_7C8E_11DE_8A39_0800200C9A66