MCPcopy Create free account
hub / github.com/danielaparker/jsoncons / working_with_ubjson_3

Function working_with_ubjson_3

examples/src/ubjson_examples.cpp:130–178  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

128}
129
130void working_with_ubjson_3()
131{
132 ubjson::ubjson_bytes_cursor cursor(data);
133 for (; !cursor.done(); cursor.next())
134 {
135 const auto& event = cursor.current();
136 switch (event.event_type())
137 {
138 case staj_event_type::begin_array:
139 std::cout << event.event_type() << " " << "(" << event.tag() << ")\n";
140 break;
141 case staj_event_type::end_array:
142 std::cout << event.event_type() << " " << "(" << event.tag() << ")\n";
143 break;
144 case staj_event_type::begin_object:
145 std::cout << event.event_type() << " " << "(" << event.tag() << ")\n";
146 break;
147 case staj_event_type::end_object:
148 std::cout << event.event_type() << " " << "(" << event.tag() << ")\n";
149 break;
150 case staj_event_type::key:
151 // Or std::string_view, if supported
152 std::cout << event.event_type() << ": " << event.get<jsoncons::string_view>() << " " << "(" << event.tag() << ")\n";
153 break;
154 case staj_event_type::string_value:
155 // Or std::string_view, if supported
156 std::cout << event.event_type() << ": " << event.get<jsoncons::string_view>() << " " << "(" << event.tag() << ")\n";
157 break;
158 case staj_event_type::null_value:
159 std::cout << event.event_type() << " " << "(" << event.tag() << ")\n";
160 break;
161 case staj_event_type::bool_value:
162 std::cout << event.event_type() << ": " << std::boolalpha << event.get<bool>() << " " << "(" << event.tag() << ")\n";
163 break;
164 case staj_event_type::int64_value:
165 std::cout << event.event_type() << ": " << event.get<int64_t>() << " " << "(" << event.tag() << ")\n";
166 break;
167 case staj_event_type::uint64_value:
168 std::cout << event.event_type() << ": " << event.get<uint64_t>() << " " << "(" << event.tag() << ")\n";
169 break;
170 case staj_event_type::double_value:
171 std::cout << event.event_type() << ": " << event.get<double>() << " " << "(" << event.tag() << ")\n";
172 break;
173 default:
174 std::cout << "Unhandled event type " << event.event_type() << " " << "(" << event.tag() << ")\n";
175 break;
176 }
177 }
178}
179
180void working_with_ubjson_4()
181{

Callers 1

mainFunction · 0.85

Calls 5

currentMethod · 0.80
event_typeMethod · 0.80
doneMethod · 0.45
nextMethod · 0.45
tagMethod · 0.45

Tested by

no test coverage detected