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

Function working_with_cbor3

examples/src/cbor_examples.cpp:430–482  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

428}
429
430void working_with_cbor3()
431{
432 cbor::cbor_bytes_cursor cursor(data);
433 for (; !cursor.done(); cursor.next())
434 {
435 const auto& event = cursor.current();
436 switch (event.event_type())
437 {
438 case staj_event_type::begin_array:
439 std::cout << event.event_type() << " " << "(" << event.tag() << ")\n";
440 break;
441 case staj_event_type::end_array:
442 std::cout << event.event_type() << " " << "(" << event.tag() << ")\n";
443 break;
444 case staj_event_type::begin_object:
445 std::cout << event.event_type() << " " << "(" << event.tag() << ")\n";
446 break;
447 case staj_event_type::end_object:
448 std::cout << event.event_type() << " " << "(" << event.tag() << ")\n";
449 break;
450 case staj_event_type::key:
451 // Or std::string_view, if supported
452 std::cout << event.event_type() << ": " << event.get<jsoncons::string_view>() << " " << "(" << event.tag() << ")\n";
453 break;
454 case staj_event_type::string_value:
455 // Or std::string_view, if supported
456 std::cout << event.event_type() << ": " << event.get<jsoncons::string_view>() << " " << "(" << event.tag() << ")\n";
457 break;
458 case staj_event_type::byte_string_value:
459 std::cout << event.event_type() << ": " << event.get<jsoncons::byte_string_view>() << " " << "(" << event.tag() << ")\n";
460 break;
461 case staj_event_type::null_value:
462 std::cout << event.event_type() << " " << "(" << event.tag() << ")\n";
463 break;
464 case staj_event_type::bool_value:
465 std::cout << event.event_type() << ": " << std::boolalpha << event.get<bool>() << " " << "(" << event.tag() << ")\n";
466 break;
467 case staj_event_type::int64_value:
468 std::cout << event.event_type() << ": " << event.get<int64_t>() << " " << "(" << event.tag() << ")\n";
469 break;
470 case staj_event_type::uint64_value:
471 std::cout << event.event_type() << ": " << event.get<uint64_t>() << " " << "(" << event.tag() << ")\n";
472 break;
473 case staj_event_type::half_value:
474 case staj_event_type::double_value:
475 std::cout << event.event_type() << ": " << event.get<double>() << " " << "(" << event.tag() << ")\n";
476 break;
477 default:
478 std::cout << "Unhandled event type " << event.event_type() << " " << "(" << event.tag() << ")\n";
479 break;
480 }
481 }
482}
483
484void working_with_cbor4()
485{

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