Commits


Gil authored and GitHub committed 04d1d41a164
Migrate FSTBlobValue to FSTDelegateValue (#3130) * Rename nanopb::String to nanopb::ByteString ... and flesh it out. * Remove const pb_bytes_array* constructor * Use std:: prefixes * Pull forward CopyVector * Simplify nanopb::Reader/Writer construction * Reuse ByteString construction in serializer * Add nanopb_testing.h * Make QueryData.resume_token a ByteString * Use ByteString as FieldValue::blob_value * Migrate FSTBlobValue to FSTDelegateValue * Rework the ByteString API * Make data(), begin(), and end() never return nullptr * Make copies of pb_bytes_array_t* more obvious (also avoids ambiguity with the private constructor). * Remove constructors that duplicate absl::string_view * Make ByteString::Copy just a constructor * Remove EncodeBytes/DecodeBytes These duplicate ByteString constructors * Overhaul ByteString and users * Remove most conversions from ByteString * Put remaining conversions in nanopb_util as free functions * Make ByteStringWriter accumulate in a pb_bytes_array_t* * Have ProtobufSerialize use ByteStringWriter * Avoid reserving/writing if we're not asked to append data * Ensure ByteStringWriter initializes/frees * Make copies explicit * Make Reserve match std::vector::reserve * Add comments, assertions, and tests