MCPcopy Create free account
hub / github.com/apache/trafficserver / Pop

Method Pop

lib/yamlcpp/src/nodebuilder.cpp:98–126  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

96}
97
98void NodeBuilder::Pop() {
99 assert(!m_stack.empty());
100 if (m_stack.size() == 1) {
101 m_pRoot = m_stack[0];
102 m_stack.pop_back();
103 return;
104 }
105
106 detail::node& node = *m_stack.back();
107 m_stack.pop_back();
108
109 detail::node& collection = *m_stack.back();
110
111 if (collection.type() == NodeType::Sequence) {
112 collection.push_back(node, m_pMemory);
113 } else if (collection.type() == NodeType::Map) {
114 assert(!m_keys.empty());
115 PushedKey& key = m_keys.back();
116 if (key.second) {
117 collection.insert(*key.first, node, m_pMemory);
118 m_keys.pop_back();
119 } else {
120 key.second = true;
121 }
122 } else {
123 assert(false);
124 m_stack.clear();
125 }
126}
127
128void NodeBuilder::RegisterAnchor(anchor_t anchor, detail::node& node) {
129 if (anchor) {

Callers

nothing calls this directly

Calls 7

pop_backMethod · 0.80
emptyMethod · 0.45
sizeMethod · 0.45
typeMethod · 0.45
push_backMethod · 0.45
insertMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected