It is very common to have a "const std::string&" argument. Indeed, just about any API that you would export to the end user would probably support taking a"const std::string& key" in this case.
--Kevin On Thursday, March 14, 2013 6:31:54 PM UTC-7, Feng Xiao wrote: > > A better solution should be to refactor your code a little bit to pass in > a mutable string object directly. You can expect protos to take movable > objects in the future, but even when that happens you will still need to > refactor your code. > I don't think we will change protobuf to share references to const > objects, nor will protobuf support shared_ptr stuff. > > > On Thu, Mar 14, 2013 at 6:17 PM, Kevin Regan <[email protected]<javascript:> > > wrote: > >> Giving this a bump. This might also be considered a feature request (the >> ability to temporarily assign a string value to a protocol buffer during >> serialization, rather than copying it). >> >> --Kevin >> >> >> On Friday, March 8, 2013 1:49:29 PM UTC-8, Kevin Regan wrote: >>> >>> I often have situations like this: >>> >>> void do_something(const std::string& value) >>> { >>> my_proto_buffer.set_value(**value); >>> // serialize my_proto_buffer to a stream >>> } >>> >>> Would it be valid to do this: >>> >>> void do_something(const std::string& value) >>> { >>> my_proto_buffer.set_allocated_**value(&((std::string&)value)); >>> try { >>> // serialize my_proto_buffer to a stream >>> } >>> catch (...) { >>> my_proto_buffer.release_value(**) >>> throw; >>> } >>> my_proto_buffer.release_value(**); >>> } >>> >>> or can I not rely on the internal string not being modified during >>> serialization? >>> >>> Thanks, >>> Kevin >>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "Protocol Buffers" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To post to this group, send email to [email protected]<javascript:> >> . >> Visit this group at http://groups.google.com/group/protobuf?hl=en. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/protobuf?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
