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

Class binary_reader

native/thirdpart/json/json.hpp:5175–7121  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5173*/
5174template<typename BasicJsonType, typename SAX = json_sax_dom_parser<BasicJsonType>>
5175class binary_reader
5176{
5177 using number_integer_t = typename BasicJsonType::number_integer_t;
5178 using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
5179 using number_float_t = typename BasicJsonType::number_float_t;
5180 using string_t = typename BasicJsonType::string_t;
5181 using json_sax_t = SAX;
5182
5183 public:
5184 /*!
5185 @brief create a binary reader
5186
5187 @param[in] adapter input adapter to read from
5188 */
5189 explicit binary_reader(input_adapter_t adapter) : ia(std::move(adapter))
5190 {
5191 (void)detail::is_sax_static_asserts<SAX, BasicJsonType> {};
5192 assert(ia);
5193 }
5194
5195 // make class move-only
5196 binary_reader(const binary_reader&) = delete;
5197 binary_reader(binary_reader&&) = default;
5198 binary_reader& operator=(const binary_reader&) = delete;
5199 binary_reader& operator=(binary_reader&&) = default;
5200 ~binary_reader() = default;
5201
5202 /*!
5203 @param[in] format the binary format to parse
5204 @param[in] sax_ a SAX event processor
5205 @param[in] strict whether to expect the input to be consumed completed
5206
5207 @return
5208 */
5209 JSON_HEDLEY_NON_NULL(3)
5210 bool sax_parse(const input_format_t format,
5211 json_sax_t* sax_,
5212 const bool strict = true)
5213 {
5214 sax = sax_;
5215 bool result = false;
5216
5217 switch (format)
5218 {
5219 case input_format_t::bson:
5220 result = parse_bson_internal();
5221 break;
5222
5223 case input_format_t::cbor:
5224 result = parse_cbor_internal();
5225 break;
5226
5227 case input_format_t::msgpack:
5228 result = parse_msgpack_internal();
5229 break;
5230
5231 case input_format_t::ubjson:
5232 result = parse_ubjson_internal();

Callers 4

basic_json from_cborFunction · 0.85
basic_json from_msgpackFunction · 0.85
basic_json from_ubjsonFunction · 0.85
basic_json from_bsonFunction · 0.85

Calls 3

getFunction · 0.85
createFunction · 0.85
parse_errorMethod · 0.45

Tested by

no test coverage detected