3 ms·
Those field accessors take and return string_view but they still copy. The official C++ library always owns the data internally and never aliases except in one
by jeffbee 6mo ago
Those field accessors take and return string_view but they still copy. The official C++ library always owns the data internally and never aliases except in one niche use case: the field type is Cord, the input is large and meets some other criteria, and the caller had used kParseWithAliasing, which is undocumented.
To a very close approximation you can say that the official protobuf C++ library always copies and owns strings.
- secondcoming 6mo agoWell that is very disappointing news. Even the decoder makes a copy even though it's returning a string_view? What's the point then. I can understand encoders having to make copies, but not in a decoder.