|
@@ -322,10 +322,8 @@ struct LIBPROTOBUF_EXPORT ArenaStringPtr {
|
|
|
void CreateInstance(::google::protobuf::Arena* arena,
|
|
|
const ::std::string* initial_value) {
|
|
|
GOOGLE_DCHECK(initial_value != NULL);
|
|
|
- ptr_ = new ::std::string(*initial_value);
|
|
|
- if (arena != NULL) {
|
|
|
- arena->Own(ptr_);
|
|
|
- }
|
|
|
+ // uses "new ::std::string" when arena is nullptr
|
|
|
+ ptr_ = Arena::Create< ::std::string >(arena, *initial_value);
|
|
|
}
|
|
|
GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE
|
|
|
void CreateInstanceNoArena(const ::std::string* initial_value) {
|