| ▲ | jeffbee 3 hours 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 2 hours ago | parent [-] | |
Well 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. | ||