10603 {
10604 std::pair<std::size_t, char_int_type> size_and_type;
10605
10607 {
10608 return false;
10609 }
10610
10612
10613 if (size_and_type.first != string_t::npos)
10614 {
10615 if (JSON_HEDLEY_UNLIKELY(!
sax->start_object(size_and_type.first)))
10616 {
10617 return false;
10618 }
10619
10620 if (size_and_type.second != 0)
10621 {
10622 for (std::size_t i = 0; i < size_and_type.first; ++i)
10623 {
10625 {
10626 return false;
10627 }
10628
10630 {
10631 return false;
10632 }
10633
10635 }
10636 }
10637
10638 else
10639 {
10640 for (std::size_t i = 0; i < size_and_type.first; ++i)
10641 {
10643 {
10644 return false;
10645 }
10646
10648 {
10649 return false;
10650 }
10651
10653 }
10654 }
10655 }
10656
10657 else
10658 {
10659 if (JSON_HEDLEY_UNLIKELY(!
sax->start_object(std::size_t(-1))))
10660 {
10661 return false;
10662 }
10663
10665 {
10667 {
10668 return false;
10669 }
10670
10672 {
10673 return false;
10674 }
10675
10678 }
10679 }
10680
10681 return sax->end_object();
10682 }
char_int_type get_ignore_noop()
bool get_ubjson_string(string_t &result, const bool get_char=true)
reads a UBJSON string
bool parse_ubjson_internal(const bool get_char=true)
bool get_ubjson_size_type(std::pair< std::size_t, char_int_type > &result)
determine the type and size for a container
bool get_ubjson_value(const char_int_type prefix)
char_int_type current
the current character
json_sax_t * sax
the SAX parser
@ key
the parser read a key of a value in an object