| 426 | write_uint64(out, a.size(), tag_bytes(t)); |
| 427 | for (const auto& elem : a) serialize(elem, out); |
| 428 | break; |
| 429 | } |
| 430 | case value::Type::Object: { |
| 431 | const object& o = std::get<object>(v); |
| 432 | const Type t = choose_obj_type(o.size()); |
| 433 | out.push_back(static_cast<char>(t)); |
| 434 | write_uint64(out, o.size(), tag_bytes(t)); |
| 435 | for (const auto& pair : o) { |
| 436 | serialize_string(pair.first, out); |
| 437 | serialize(pair.second, out); |
| 438 | } |
| 439 | break; |
| 440 | } |
| 441 | } |
| 442 | } |
| 443 | |
| 444 | static std::optional<string> deserialize_string(const char*& data, const char* end) |
| 445 | { |
nothing calls this directly
no outgoing calls
no test coverage detected