Coverage Report

Created: 2026-06-11 06:37

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/trafficserver/lib/yamlcpp/include/yaml-cpp/emitfromevents.h
Line
Count
Source
1
#ifndef EMITFROMEVENTS_H_62B23520_7C8E_11DE_8A39_0800200C9A66
2
#define EMITFROMEVENTS_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 <stack>
11
12
#include "yaml-cpp/anchor.h"
13
#include "yaml-cpp/emitterstyle.h"
14
#include "yaml-cpp/eventhandler.h"
15
16
namespace YAML {
17
struct Mark;
18
}  // namespace YAML
19
20
namespace YAML {
21
class Emitter;
22
23
class EmitFromEvents : public EventHandler {
24
 public:
25
  EmitFromEvents(Emitter& emitter);
26
0
  ~EmitFromEvents() override = default;
27
28
  void OnDocumentStart(const Mark& mark) override;
29
  void OnDocumentEnd() override;
30
31
  void OnNull(const Mark& mark, anchor_t anchor) override;
32
  void OnAlias(const Mark& mark, anchor_t anchor) override;
33
  void OnScalar(const Mark& mark, const std::string& tag,
34
                        anchor_t anchor, const std::string& value) override;
35
36
  void OnSequenceStart(const Mark& mark, const std::string& tag,
37
                               anchor_t anchor, EmitterStyle::value style) override;
38
  void OnSequenceEnd() override;
39
40
  void OnMapStart(const Mark& mark, const std::string& tag,
41
                          anchor_t anchor, EmitterStyle::value style) override;
42
  void OnMapEnd() override;
43
44
 private:
45
  void BeginNode();
46
  void EmitProps(const std::string& tag, anchor_t anchor);
47
48
 private:
49
  Emitter& m_emitter;
50
51
  struct State {
52
    enum value { WaitingForSequenceEntry, WaitingForKey, WaitingForValue };
53
  };
54
  std::stack<State::value> m_stateStack;
55
};
56
}
57
58
#endif  // EMITFROMEVENTS_H_62B23520_7C8E_11DE_8A39_0800200C9A66