MCPcopy Create free account
hub / github.com/bytedance/Fastbot_Android / get_ubjson_array

Method get_ubjson_array

native/thirdpart/json/json.hpp:6802–6859  ·  view source on GitHub ↗

! @return whether array creation completed */

Source from the content-addressed store, hash-verified

6800 @return whether array creation completed
6801 */
6802 bool get_ubjson_array()
6803 {
6804 std::pair<std::size_t, int> size_and_type;
6805 if (JSON_HEDLEY_UNLIKELY(not get_ubjson_size_type(size_and_type)))
6806 {
6807 return false;
6808 }
6809
6810 if (size_and_type.first != string_t::npos)
6811 {
6812 if (JSON_HEDLEY_UNLIKELY(not sax->start_array(size_and_type.first)))
6813 {
6814 return false;
6815 }
6816
6817 if (size_and_type.second != 0)
6818 {
6819 if (size_and_type.second != 'N')
6820 {
6821 for (std::size_t i = 0; i < size_and_type.first; ++i)
6822 {
6823 if (JSON_HEDLEY_UNLIKELY(not get_ubjson_value(size_and_type.second)))
6824 {
6825 return false;
6826 }
6827 }
6828 }
6829 }
6830 else
6831 {
6832 for (std::size_t i = 0; i < size_and_type.first; ++i)
6833 {
6834 if (JSON_HEDLEY_UNLIKELY(not parse_ubjson_internal()))
6835 {
6836 return false;
6837 }
6838 }
6839 }
6840 }
6841 else
6842 {
6843 if (JSON_HEDLEY_UNLIKELY(not sax->start_array(std::size_t(-1))))
6844 {
6845 return false;
6846 }
6847
6848 while (current != ']')
6849 {
6850 if (JSON_HEDLEY_UNLIKELY(not parse_ubjson_internal(false)))
6851 {
6852 return false;
6853 }
6854 get_ignore_noop();
6855 }
6856 }
6857
6858 return sax->end_array();
6859 }

Callers

nothing calls this directly

Calls 2

start_arrayMethod · 0.45
end_arrayMethod · 0.45

Tested by

no test coverage detected