MCPcopy Create free account
hub / github.com/OpenFodder/openfodder / get_ubjson_value

Method get_ubjson_value

Source/Utils/json.hpp:9589–9685  ·  view source on GitHub ↗

! @param prefix the previously read or set type prefix @return whether value creation completed */

Source from the content-addressed store, hash-verified

9587 @return whether value creation completed
9588 */
9589 bool get_ubjson_value(const char_int_type prefix)
9590 {
9591 switch (prefix)
9592 {
9593 case std::char_traits<char_type>::eof(): // EOF
9594 return unexpect_eof(input_format_t::ubjson, "value");
9595
9596 case 'T': // true
9597 return sax->boolean(true);
9598 case 'F': // false
9599 return sax->boolean(false);
9600
9601 case 'Z': // null
9602 return sax->null();
9603
9604 case 'U':
9605 {
9606 std::uint8_t number{};
9607 return get_number(input_format_t::ubjson, number) && sax->number_unsigned(number);
9608 }
9609
9610 case 'i':
9611 {
9612 std::int8_t number{};
9613 return get_number(input_format_t::ubjson, number) && sax->number_integer(number);
9614 }
9615
9616 case 'I':
9617 {
9618 std::int16_t number{};
9619 return get_number(input_format_t::ubjson, number) && sax->number_integer(number);
9620 }
9621
9622 case 'l':
9623 {
9624 std::int32_t number{};
9625 return get_number(input_format_t::ubjson, number) && sax->number_integer(number);
9626 }
9627
9628 case 'L':
9629 {
9630 std::int64_t number{};
9631 return get_number(input_format_t::ubjson, number) && sax->number_integer(number);
9632 }
9633
9634 case 'd':
9635 {
9636 float number{};
9637 return get_number(input_format_t::ubjson, number) && sax->number_float(static_cast<number_float_t>(number), "");
9638 }
9639
9640 case 'D':
9641 {
9642 double number{};
9643 return get_number(input_format_t::ubjson, number) && sax->number_float(static_cast<number_float_t>(number), "");
9644 }
9645
9646 case 'H':

Callers

nothing calls this directly

Calls 10

getFunction · 0.85
get_token_stringFunction · 0.85
createFunction · 0.85
booleanMethod · 0.45
nullMethod · 0.45
number_unsignedMethod · 0.45
number_integerMethod · 0.45
number_floatMethod · 0.45
parse_errorMethod · 0.45
stringMethod · 0.45

Tested by

no test coverage detected