Selaa lähdekoodia

Merge pull request #4239 from mrpi/master

Create std::string in Arena memory
Adam Cozzette 7 vuotta sitten
vanhempi
commit
6456e5d646
1 muutettua tiedostoa jossa 2 lisäystä ja 4 poistoa
  1. 2 4
      src/google/protobuf/arenastring.h

+ 2 - 4
src/google/protobuf/arenastring.h

@@ -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) {