@@ -55,6 +55,7 @@ namespace protobuf {
55
55
56
56
class Message ;
57
57
class Reflection ;
58
+ class DynamicMessage ;
58
59
59
60
template <typename T>
60
61
struct WeakRepeatedPtrField ;
@@ -1029,9 +1030,11 @@ class ABSL_ATTRIBUTE_WARN_UNUSED RepeatedPtrField final
1029
1030
RepeatedPtrField&& rhs)
1030
1031
: RepeatedPtrField(arena, std::move(rhs)) {}
1031
1032
1033
+ #ifndef PROTOBUF_FUTURE_REMOVE_REPEATED_PTR_FIELD_ARENA_CONSTRUCTOR
1032
1034
// TODO: make constructor private
1033
1035
[[deprecated(" Use Arena::Create<RepeatedPtrField<...>>(Arena*) instead" )]]
1034
1036
explicit RepeatedPtrField (Arena* arena);
1037
+ #endif
1035
1038
1036
1039
template <typename Iter,
1037
1040
typename = typename std::enable_if<std::is_constructible<
@@ -1336,6 +1339,10 @@ class ABSL_ATTRIBUTE_WARN_UNUSED RepeatedPtrField final
1336
1339
1337
1340
friend class Arena ;
1338
1341
1342
+ #ifdef PROTOBUF_FUTURE_REMOVE_REPEATED_PTR_FIELD_ARENA_CONSTRUCTOR
1343
+ friend class DynamicMessage ;
1344
+ #endif
1345
+
1339
1346
friend class internal ::TcParser;
1340
1347
1341
1348
template <typename T>
@@ -1351,6 +1358,10 @@ class ABSL_ATTRIBUTE_WARN_UNUSED RepeatedPtrField final
1351
1358
RepeatedPtrField (Arena* arena, const RepeatedPtrField& rhs);
1352
1359
RepeatedPtrField (Arena* arena, RepeatedPtrField&& rhs);
1353
1360
1361
+ #ifdef PROTOBUF_FUTURE_REMOVE_REPEATED_PTR_FIELD_ARENA_CONSTRUCTOR
1362
+ explicit RepeatedPtrField (Arena* arena);
1363
+ #endif
1364
+
1354
1365
1355
1366
void AddAllocatedForParse (Element* p, Arena* arena) {
1356
1367
return RepeatedPtrFieldBase::AddAllocatedForParse (p, arena);
0 commit comments