Enable explicit constructors for internal implementation classes.

This changes the code to use explicit constructors instead of aggregate initialization, which allows optimizations when creating and copying messages.

PiperOrigin-RevId: 563088162
pull/13862/head
Martijn Vels 2 years ago committed by Copybara-Service
parent 131a7869c7
commit 1caa01b12a
  1. 379
      src/google/protobuf/compiler/plugin.pb.cc
  2. 76
      src/google/protobuf/compiler/plugin.pb.h
  3. 45
      src/google/protobuf/cpp_features.pb.cc
  4. 19
      src/google/protobuf/cpp_features.pb.h
  5. 3308
      src/google/protobuf/descriptor.pb.cc
  6. 608
      src/google/protobuf/descriptor.pb.h
  7. 8
      src/google/protobuf/port_def.inc

@ -23,19 +23,20 @@ namespace _fl = ::google::protobuf::internal::field_layout;
namespace google { namespace google {
namespace protobuf { namespace protobuf {
namespace compiler { namespace compiler {
template <typename>
inline constexpr Version::Impl_::Impl_(
::_pbi::ConstantInitialized) noexcept
: _cached_size_{0},
suffix_(
&::google::protobuf::internal::fixed_address_empty_string,
::_pbi::ConstantInitialized()),
major_{0},
minor_{0},
patch_{0} {}
template <typename>
PROTOBUF_CONSTEXPR Version::Version(::_pbi::ConstantInitialized) PROTOBUF_CONSTEXPR Version::Version(::_pbi::ConstantInitialized)
: _impl_{ : _impl_(::_pbi::ConstantInitialized()) {}
/*decltype(_impl_._has_bits_)*/ {},
/*decltype(_impl_._cached_size_)*/ {},
/*decltype(_impl_.suffix_)*/ {
&::_pbi::fixed_address_empty_string,
::_pbi::ConstantInitialized{},
},
/*decltype(_impl_.major_)*/ 0,
/*decltype(_impl_.minor_)*/ 0,
/*decltype(_impl_.patch_)*/ 0,
} {}
struct VersionDefaultTypeInternal { struct VersionDefaultTypeInternal {
PROTOBUF_CONSTEXPR VersionDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} PROTOBUF_CONSTEXPR VersionDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
~VersionDefaultTypeInternal() {} ~VersionDefaultTypeInternal() {}
@ -46,25 +47,24 @@ struct VersionDefaultTypeInternal {
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOC_EXPORT PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOC_EXPORT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VersionDefaultTypeInternal _Version_default_instance_; PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VersionDefaultTypeInternal _Version_default_instance_;
template <typename>
inline constexpr CodeGeneratorResponse_File::Impl_::Impl_(
::_pbi::ConstantInitialized) noexcept
: _cached_size_{0},
name_(
&::google::protobuf::internal::fixed_address_empty_string,
::_pbi::ConstantInitialized()),
insertion_point_(
&::google::protobuf::internal::fixed_address_empty_string,
::_pbi::ConstantInitialized()),
content_(
&::google::protobuf::internal::fixed_address_empty_string,
::_pbi::ConstantInitialized()),
generated_code_info_{nullptr} {}
template <typename>
PROTOBUF_CONSTEXPR CodeGeneratorResponse_File::CodeGeneratorResponse_File(::_pbi::ConstantInitialized) PROTOBUF_CONSTEXPR CodeGeneratorResponse_File::CodeGeneratorResponse_File(::_pbi::ConstantInitialized)
: _impl_{ : _impl_(::_pbi::ConstantInitialized()) {}
/*decltype(_impl_._has_bits_)*/ {},
/*decltype(_impl_._cached_size_)*/ {},
/*decltype(_impl_.name_)*/ {
&::_pbi::fixed_address_empty_string,
::_pbi::ConstantInitialized{},
},
/*decltype(_impl_.insertion_point_)*/ {
&::_pbi::fixed_address_empty_string,
::_pbi::ConstantInitialized{},
},
/*decltype(_impl_.content_)*/ {
&::_pbi::fixed_address_empty_string,
::_pbi::ConstantInitialized{},
},
/*decltype(_impl_.generated_code_info_)*/ nullptr,
} {}
struct CodeGeneratorResponse_FileDefaultTypeInternal { struct CodeGeneratorResponse_FileDefaultTypeInternal {
PROTOBUF_CONSTEXPR CodeGeneratorResponse_FileDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} PROTOBUF_CONSTEXPR CodeGeneratorResponse_FileDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
~CodeGeneratorResponse_FileDefaultTypeInternal() {} ~CodeGeneratorResponse_FileDefaultTypeInternal() {}
@ -75,18 +75,19 @@ struct CodeGeneratorResponse_FileDefaultTypeInternal {
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOC_EXPORT PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOC_EXPORT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CodeGeneratorResponse_FileDefaultTypeInternal _CodeGeneratorResponse_File_default_instance_; PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CodeGeneratorResponse_FileDefaultTypeInternal _CodeGeneratorResponse_File_default_instance_;
template <typename>
inline constexpr CodeGeneratorResponse::Impl_::Impl_(
::_pbi::ConstantInitialized) noexcept
: _cached_size_{0},
file_{},
error_(
&::google::protobuf::internal::fixed_address_empty_string,
::_pbi::ConstantInitialized()),
supported_features_{::uint64_t{0u}} {}
template <typename>
PROTOBUF_CONSTEXPR CodeGeneratorResponse::CodeGeneratorResponse(::_pbi::ConstantInitialized) PROTOBUF_CONSTEXPR CodeGeneratorResponse::CodeGeneratorResponse(::_pbi::ConstantInitialized)
: _impl_{ : _impl_(::_pbi::ConstantInitialized()) {}
/*decltype(_impl_._has_bits_)*/ {},
/*decltype(_impl_._cached_size_)*/ {},
/*decltype(_impl_.file_)*/ {},
/*decltype(_impl_.error_)*/ {
&::_pbi::fixed_address_empty_string,
::_pbi::ConstantInitialized{},
},
/*decltype(_impl_.supported_features_)*/ ::uint64_t{0u},
} {}
struct CodeGeneratorResponseDefaultTypeInternal { struct CodeGeneratorResponseDefaultTypeInternal {
PROTOBUF_CONSTEXPR CodeGeneratorResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} PROTOBUF_CONSTEXPR CodeGeneratorResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
~CodeGeneratorResponseDefaultTypeInternal() {} ~CodeGeneratorResponseDefaultTypeInternal() {}
@ -97,20 +98,21 @@ struct CodeGeneratorResponseDefaultTypeInternal {
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOC_EXPORT PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOC_EXPORT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CodeGeneratorResponseDefaultTypeInternal _CodeGeneratorResponse_default_instance_; PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CodeGeneratorResponseDefaultTypeInternal _CodeGeneratorResponse_default_instance_;
template <typename>
inline constexpr CodeGeneratorRequest::Impl_::Impl_(
::_pbi::ConstantInitialized) noexcept
: _cached_size_{0},
file_to_generate_{},
proto_file_{},
source_file_descriptors_{},
parameter_(
&::google::protobuf::internal::fixed_address_empty_string,
::_pbi::ConstantInitialized()),
compiler_version_{nullptr} {}
template <typename>
PROTOBUF_CONSTEXPR CodeGeneratorRequest::CodeGeneratorRequest(::_pbi::ConstantInitialized) PROTOBUF_CONSTEXPR CodeGeneratorRequest::CodeGeneratorRequest(::_pbi::ConstantInitialized)
: _impl_{ : _impl_(::_pbi::ConstantInitialized()) {}
/*decltype(_impl_._has_bits_)*/ {},
/*decltype(_impl_._cached_size_)*/ {},
/*decltype(_impl_.file_to_generate_)*/ {},
/*decltype(_impl_.proto_file_)*/ {},
/*decltype(_impl_.source_file_descriptors_)*/ {},
/*decltype(_impl_.parameter_)*/ {
&::_pbi::fixed_address_empty_string,
::_pbi::ConstantInitialized{},
},
/*decltype(_impl_.compiler_version_)*/ nullptr,
} {}
struct CodeGeneratorRequestDefaultTypeInternal { struct CodeGeneratorRequestDefaultTypeInternal {
PROTOBUF_CONSTEXPR CodeGeneratorRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} PROTOBUF_CONSTEXPR CodeGeneratorRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
~CodeGeneratorRequestDefaultTypeInternal() {} ~CodeGeneratorRequestDefaultTypeInternal() {}
@ -325,46 +327,46 @@ Version::Version(::google::protobuf::Arena* arena)
SharedCtor(arena); SharedCtor(arena);
// @@protoc_insertion_point(arena_constructor:google.protobuf.compiler.Version) // @@protoc_insertion_point(arena_constructor:google.protobuf.compiler.Version)
} }
Version::Version(const Version& from) : ::google::protobuf::Message() { inline PROTOBUF_NDEBUG_INLINE Version::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
: _has_bits_{from._has_bits_},
_cached_size_{0},
suffix_(arena, from.suffix_) {}
Version::Version(
::google::protobuf::Arena* arena,
const Version& from)
: ::google::protobuf::Message(arena) {
Version* const _this = this; Version* const _this = this;
(void)_this; (void)_this;
new (&_impl_) Impl_{
decltype(_impl_._has_bits_){from._impl_._has_bits_},
/*decltype(_impl_._cached_size_)*/ {},
decltype(_impl_.suffix_){},
decltype(_impl_.major_){},
decltype(_impl_.minor_){},
decltype(_impl_.patch_){},
};
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_); from._internal_metadata_);
_impl_.suffix_.InitDefault(); new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING ::memcpy(reinterpret_cast<char *>(&_impl_) +
_impl_.suffix_.Set("", GetArenaForAllocation()); offsetof(Impl_, major_),
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING reinterpret_cast<const char *>(&from._impl_) +
if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) { offsetof(Impl_, major_),
_this->_impl_.suffix_.Set(from._internal_suffix(), _this->GetArenaForAllocation()); offsetof(Impl_, patch_) -
} offsetof(Impl_, major_) +
::memcpy(&_impl_.major_, &from._impl_.major_, sizeof(Impl_::patch_));
static_cast<::size_t>(reinterpret_cast<char*>(&_impl_.patch_) -
reinterpret_cast<char*>(&_impl_.major_)) + sizeof(_impl_.patch_));
// @@protoc_insertion_point(copy_constructor:google.protobuf.compiler.Version) // @@protoc_insertion_point(copy_constructor:google.protobuf.compiler.Version)
} }
inline PROTOBUF_NDEBUG_INLINE Version::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena)
: _cached_size_{0},
suffix_(arena) {}
inline void Version::SharedCtor(::_pb::Arena* arena) { inline void Version::SharedCtor(::_pb::Arena* arena) {
(void)arena; new (&_impl_) Impl_(internal_visibility(), arena);
new (&_impl_) Impl_{ ::memset(reinterpret_cast<char *>(&_impl_) +
decltype(_impl_._has_bits_){}, offsetof(Impl_, major_),
/*decltype(_impl_._cached_size_)*/ {}, 0,
decltype(_impl_.suffix_){}, offsetof(Impl_, patch_) -
decltype(_impl_.major_){0}, offsetof(Impl_, major_) +
decltype(_impl_.minor_){0}, sizeof(Impl_::patch_));
decltype(_impl_.patch_){0},
};
_impl_.suffix_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
_impl_.suffix_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
} }
Version::~Version() { Version::~Version() {
// @@protoc_insertion_point(destructor:google.protobuf.compiler.Version) // @@protoc_insertion_point(destructor:google.protobuf.compiler.Version)
@ -374,6 +376,7 @@ Version::~Version() {
inline void Version::SharedDtor() { inline void Version::SharedDtor() {
ABSL_DCHECK(GetArenaForAllocation() == nullptr); ABSL_DCHECK(GetArenaForAllocation() == nullptr);
_impl_.suffix_.Destroy(); _impl_.suffix_.Destroy();
_impl_.~Impl_();
} }
PROTOBUF_NOINLINE void Version::Clear() { PROTOBUF_NOINLINE void Version::Clear() {
@ -639,48 +642,44 @@ CodeGeneratorRequest::CodeGeneratorRequest(::google::protobuf::Arena* arena)
SharedCtor(arena); SharedCtor(arena);
// @@protoc_insertion_point(arena_constructor:google.protobuf.compiler.CodeGeneratorRequest) // @@protoc_insertion_point(arena_constructor:google.protobuf.compiler.CodeGeneratorRequest)
} }
CodeGeneratorRequest::CodeGeneratorRequest(const CodeGeneratorRequest& from) : ::google::protobuf::Message() { inline PROTOBUF_NDEBUG_INLINE CodeGeneratorRequest::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
: _has_bits_{from._has_bits_},
_cached_size_{0},
file_to_generate_{visibility, arena, from.file_to_generate_},
proto_file_{visibility, arena, from.proto_file_},
source_file_descriptors_{visibility, arena, from.source_file_descriptors_},
parameter_(arena, from.parameter_) {}
CodeGeneratorRequest::CodeGeneratorRequest(
::google::protobuf::Arena* arena,
const CodeGeneratorRequest& from)
: ::google::protobuf::Message(arena) {
CodeGeneratorRequest* const _this = this; CodeGeneratorRequest* const _this = this;
(void)_this; (void)_this;
new (&_impl_) Impl_{
decltype(_impl_._has_bits_){from._impl_._has_bits_},
/*decltype(_impl_._cached_size_)*/ {},
decltype(_impl_.file_to_generate_){from._impl_.file_to_generate_},
decltype(_impl_.proto_file_){from._impl_.proto_file_},
decltype(_impl_.source_file_descriptors_){from._impl_.source_file_descriptors_},
decltype(_impl_.parameter_){},
decltype(_impl_.compiler_version_){nullptr},
};
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_); from._internal_metadata_);
_impl_.parameter_.InitDefault(); new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING ::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.parameter_.Set("", GetArenaForAllocation()); _impl_.compiler_version_ = (cached_has_bits & 0x00000002u)
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING ? CreateMaybeMessage<::google::protobuf::compiler::Version>(arena, *from._impl_.compiler_version_)
if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) { : nullptr;
_this->_impl_.parameter_.Set(from._internal_parameter(), _this->GetArenaForAllocation());
}
if ((from._impl_._has_bits_[0] & 0x00000002u) != 0) {
_this->_impl_.compiler_version_ = new ::google::protobuf::compiler::Version(*from._impl_.compiler_version_);
}
// @@protoc_insertion_point(copy_constructor:google.protobuf.compiler.CodeGeneratorRequest) // @@protoc_insertion_point(copy_constructor:google.protobuf.compiler.CodeGeneratorRequest)
} }
inline PROTOBUF_NDEBUG_INLINE CodeGeneratorRequest::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena)
: _cached_size_{0},
file_to_generate_{visibility, arena},
proto_file_{visibility, arena},
source_file_descriptors_{visibility, arena},
parameter_(arena) {}
inline void CodeGeneratorRequest::SharedCtor(::_pb::Arena* arena) { inline void CodeGeneratorRequest::SharedCtor(::_pb::Arena* arena) {
(void)arena; new (&_impl_) Impl_(internal_visibility(), arena);
new (&_impl_) Impl_{ _impl_.compiler_version_ = {};
decltype(_impl_._has_bits_){},
/*decltype(_impl_._cached_size_)*/ {},
decltype(_impl_.file_to_generate_){arena},
decltype(_impl_.proto_file_){arena},
decltype(_impl_.source_file_descriptors_){arena},
decltype(_impl_.parameter_){},
decltype(_impl_.compiler_version_){nullptr},
};
_impl_.parameter_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
_impl_.parameter_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
} }
CodeGeneratorRequest::~CodeGeneratorRequest() { CodeGeneratorRequest::~CodeGeneratorRequest() {
// @@protoc_insertion_point(destructor:google.protobuf.compiler.CodeGeneratorRequest) // @@protoc_insertion_point(destructor:google.protobuf.compiler.CodeGeneratorRequest)
@ -689,11 +688,9 @@ CodeGeneratorRequest::~CodeGeneratorRequest() {
} }
inline void CodeGeneratorRequest::SharedDtor() { inline void CodeGeneratorRequest::SharedDtor() {
ABSL_DCHECK(GetArenaForAllocation() == nullptr); ABSL_DCHECK(GetArenaForAllocation() == nullptr);
_internal_mutable_file_to_generate()->~RepeatedPtrField();
_impl_.proto_file_.~RepeatedPtrField();
_impl_.source_file_descriptors_.~RepeatedPtrField();
_impl_.parameter_.Destroy(); _impl_.parameter_.Destroy();
if (this != internal_default_instance()) delete _impl_.compiler_version_; if (this != internal_default_instance()) delete _impl_.compiler_version_;
_impl_.~Impl_();
} }
PROTOBUF_NOINLINE void CodeGeneratorRequest::Clear() { PROTOBUF_NOINLINE void CodeGeneratorRequest::Clear() {
@ -994,68 +991,42 @@ CodeGeneratorResponse_File::CodeGeneratorResponse_File(::google::protobuf::Arena
SharedCtor(arena); SharedCtor(arena);
// @@protoc_insertion_point(arena_constructor:google.protobuf.compiler.CodeGeneratorResponse.File) // @@protoc_insertion_point(arena_constructor:google.protobuf.compiler.CodeGeneratorResponse.File)
} }
CodeGeneratorResponse_File::CodeGeneratorResponse_File(const CodeGeneratorResponse_File& from) : ::google::protobuf::Message() { inline PROTOBUF_NDEBUG_INLINE CodeGeneratorResponse_File::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
: _has_bits_{from._has_bits_},
_cached_size_{0},
name_(arena, from.name_),
insertion_point_(arena, from.insertion_point_),
content_(arena, from.content_) {}
CodeGeneratorResponse_File::CodeGeneratorResponse_File(
::google::protobuf::Arena* arena,
const CodeGeneratorResponse_File& from)
: ::google::protobuf::Message(arena) {
CodeGeneratorResponse_File* const _this = this; CodeGeneratorResponse_File* const _this = this;
(void)_this; (void)_this;
new (&_impl_) Impl_{
decltype(_impl_._has_bits_){from._impl_._has_bits_},
/*decltype(_impl_._cached_size_)*/ {},
decltype(_impl_.name_){},
decltype(_impl_.insertion_point_){},
decltype(_impl_.content_){},
decltype(_impl_.generated_code_info_){nullptr},
};
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_); from._internal_metadata_);
_impl_.name_.InitDefault(); new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING ::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.name_.Set("", GetArenaForAllocation()); _impl_.generated_code_info_ = (cached_has_bits & 0x00000008u)
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING ? CreateMaybeMessage<::google::protobuf::GeneratedCodeInfo>(arena, *from._impl_.generated_code_info_)
if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) { : nullptr;
_this->_impl_.name_.Set(from._internal_name(), _this->GetArenaForAllocation());
}
_impl_.insertion_point_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
_impl_.insertion_point_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
if ((from._impl_._has_bits_[0] & 0x00000002u) != 0) {
_this->_impl_.insertion_point_.Set(from._internal_insertion_point(), _this->GetArenaForAllocation());
}
_impl_.content_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
_impl_.content_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
if ((from._impl_._has_bits_[0] & 0x00000004u) != 0) {
_this->_impl_.content_.Set(from._internal_content(), _this->GetArenaForAllocation());
}
if ((from._impl_._has_bits_[0] & 0x00000008u) != 0) {
_this->_impl_.generated_code_info_ = new ::google::protobuf::GeneratedCodeInfo(*from._impl_.generated_code_info_);
}
// @@protoc_insertion_point(copy_constructor:google.protobuf.compiler.CodeGeneratorResponse.File) // @@protoc_insertion_point(copy_constructor:google.protobuf.compiler.CodeGeneratorResponse.File)
} }
inline PROTOBUF_NDEBUG_INLINE CodeGeneratorResponse_File::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena)
: _cached_size_{0},
name_(arena),
insertion_point_(arena),
content_(arena) {}
inline void CodeGeneratorResponse_File::SharedCtor(::_pb::Arena* arena) { inline void CodeGeneratorResponse_File::SharedCtor(::_pb::Arena* arena) {
(void)arena; new (&_impl_) Impl_(internal_visibility(), arena);
new (&_impl_) Impl_{ _impl_.generated_code_info_ = {};
decltype(_impl_._has_bits_){},
/*decltype(_impl_._cached_size_)*/ {},
decltype(_impl_.name_){},
decltype(_impl_.insertion_point_){},
decltype(_impl_.content_){},
decltype(_impl_.generated_code_info_){nullptr},
};
_impl_.name_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
_impl_.name_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
_impl_.insertion_point_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
_impl_.insertion_point_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
_impl_.content_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
_impl_.content_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
} }
CodeGeneratorResponse_File::~CodeGeneratorResponse_File() { CodeGeneratorResponse_File::~CodeGeneratorResponse_File() {
// @@protoc_insertion_point(destructor:google.protobuf.compiler.CodeGeneratorResponse.File) // @@protoc_insertion_point(destructor:google.protobuf.compiler.CodeGeneratorResponse.File)
@ -1068,6 +1039,7 @@ inline void CodeGeneratorResponse_File::SharedDtor() {
_impl_.insertion_point_.Destroy(); _impl_.insertion_point_.Destroy();
_impl_.content_.Destroy(); _impl_.content_.Destroy();
if (this != internal_default_instance()) delete _impl_.generated_code_info_; if (this != internal_default_instance()) delete _impl_.generated_code_info_;
_impl_.~Impl_();
} }
PROTOBUF_NOINLINE void CodeGeneratorResponse_File::Clear() { PROTOBUF_NOINLINE void CodeGeneratorResponse_File::Clear() {
@ -1332,42 +1304,37 @@ CodeGeneratorResponse::CodeGeneratorResponse(::google::protobuf::Arena* arena)
SharedCtor(arena); SharedCtor(arena);
// @@protoc_insertion_point(arena_constructor:google.protobuf.compiler.CodeGeneratorResponse) // @@protoc_insertion_point(arena_constructor:google.protobuf.compiler.CodeGeneratorResponse)
} }
CodeGeneratorResponse::CodeGeneratorResponse(const CodeGeneratorResponse& from) : ::google::protobuf::Message() { inline PROTOBUF_NDEBUG_INLINE CodeGeneratorResponse::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
: _has_bits_{from._has_bits_},
_cached_size_{0},
file_{visibility, arena, from.file_},
error_(arena, from.error_) {}
CodeGeneratorResponse::CodeGeneratorResponse(
::google::protobuf::Arena* arena,
const CodeGeneratorResponse& from)
: ::google::protobuf::Message(arena) {
CodeGeneratorResponse* const _this = this; CodeGeneratorResponse* const _this = this;
(void)_this; (void)_this;
new (&_impl_) Impl_{
decltype(_impl_._has_bits_){from._impl_._has_bits_},
/*decltype(_impl_._cached_size_)*/ {},
decltype(_impl_.file_){from._impl_.file_},
decltype(_impl_.error_){},
decltype(_impl_.supported_features_){},
};
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_); from._internal_metadata_);
_impl_.error_.InitDefault(); new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING _impl_.supported_features_ = from._impl_.supported_features_;
_impl_.error_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
_this->_impl_.error_.Set(from._internal_error(), _this->GetArenaForAllocation());
}
_this->_impl_.supported_features_ = from._impl_.supported_features_;
// @@protoc_insertion_point(copy_constructor:google.protobuf.compiler.CodeGeneratorResponse) // @@protoc_insertion_point(copy_constructor:google.protobuf.compiler.CodeGeneratorResponse)
} }
inline PROTOBUF_NDEBUG_INLINE CodeGeneratorResponse::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena)
: _cached_size_{0},
file_{visibility, arena},
error_(arena) {}
inline void CodeGeneratorResponse::SharedCtor(::_pb::Arena* arena) { inline void CodeGeneratorResponse::SharedCtor(::_pb::Arena* arena) {
(void)arena; new (&_impl_) Impl_(internal_visibility(), arena);
new (&_impl_) Impl_{ _impl_.supported_features_ = {};
decltype(_impl_._has_bits_){},
/*decltype(_impl_._cached_size_)*/ {},
decltype(_impl_.file_){arena},
decltype(_impl_.error_){},
decltype(_impl_.supported_features_){::uint64_t{0u}},
};
_impl_.error_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
_impl_.error_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
} }
CodeGeneratorResponse::~CodeGeneratorResponse() { CodeGeneratorResponse::~CodeGeneratorResponse() {
// @@protoc_insertion_point(destructor:google.protobuf.compiler.CodeGeneratorResponse) // @@protoc_insertion_point(destructor:google.protobuf.compiler.CodeGeneratorResponse)
@ -1376,8 +1343,8 @@ CodeGeneratorResponse::~CodeGeneratorResponse() {
} }
inline void CodeGeneratorResponse::SharedDtor() { inline void CodeGeneratorResponse::SharedDtor() {
ABSL_DCHECK(GetArenaForAllocation() == nullptr); ABSL_DCHECK(GetArenaForAllocation() == nullptr);
_impl_.file_.~RepeatedPtrField();
_impl_.error_.Destroy(); _impl_.error_.Destroy();
_impl_.~Impl_();
} }
PROTOBUF_NOINLINE void CodeGeneratorResponse::Clear() { PROTOBUF_NOINLINE void CodeGeneratorResponse::Clear() {

@ -127,16 +127,14 @@ class PROTOC_EXPORT Version final :
template<typename = void> template<typename = void>
explicit PROTOBUF_CONSTEXPR Version(::google::protobuf::internal::ConstantInitialized); explicit PROTOBUF_CONSTEXPR Version(::google::protobuf::internal::ConstantInitialized);
Version(const Version& from); Version(::google::protobuf::Arena* arena, const Version& from);
inline Version(const Version& from)
: Version(nullptr, from) {}
Version(Version&& from) noexcept Version(Version&& from) noexcept
: Version() { : Version() {
*this = ::std::move(from); *this = ::std::move(from);
} }
inline Version(::google::protobuf::Arena* arena, const Version& from)
: Version(arena) {
MergeFrom(from);
}
inline Version& operator=(const Version& from) { inline Version& operator=(const Version& from) {
CopyFrom(from); CopyFrom(from);
return *this; return *this;
@ -317,10 +315,19 @@ class PROTOC_EXPORT Version final :
2, 4, 0, 2, 4, 0,
47, 2> 47, 2>
_table_; _table_;
friend class ::google::protobuf::MessageLite;
friend class ::google::protobuf::Arena;
template <typename T> friend class ::google::protobuf::Arena::InternalHelper; template <typename T> friend class ::google::protobuf::Arena::InternalHelper;
typedef void InternalArenaConstructable_; typedef void InternalArenaConstructable_;
typedef void DestructorSkippable_; typedef void DestructorSkippable_;
struct Impl_ { struct PROTOC_EXPORT Impl_ {
inline explicit constexpr Impl_(
::google::protobuf::internal::ConstantInitialized) noexcept;
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::internal::HasBits<1> _has_bits_; ::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_; mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::internal::ArenaStringPtr suffix_; ::google::protobuf::internal::ArenaStringPtr suffix_;
@ -341,16 +348,14 @@ class PROTOC_EXPORT CodeGeneratorResponse_File final :
template<typename = void> template<typename = void>
explicit PROTOBUF_CONSTEXPR CodeGeneratorResponse_File(::google::protobuf::internal::ConstantInitialized); explicit PROTOBUF_CONSTEXPR CodeGeneratorResponse_File(::google::protobuf::internal::ConstantInitialized);
CodeGeneratorResponse_File(const CodeGeneratorResponse_File& from); CodeGeneratorResponse_File(::google::protobuf::Arena* arena, const CodeGeneratorResponse_File& from);
inline CodeGeneratorResponse_File(const CodeGeneratorResponse_File& from)
: CodeGeneratorResponse_File(nullptr, from) {}
CodeGeneratorResponse_File(CodeGeneratorResponse_File&& from) noexcept CodeGeneratorResponse_File(CodeGeneratorResponse_File&& from) noexcept
: CodeGeneratorResponse_File() { : CodeGeneratorResponse_File() {
*this = ::std::move(from); *this = ::std::move(from);
} }
inline CodeGeneratorResponse_File(::google::protobuf::Arena* arena, const CodeGeneratorResponse_File& from)
: CodeGeneratorResponse_File(arena) {
MergeFrom(from);
}
inline CodeGeneratorResponse_File& operator=(const CodeGeneratorResponse_File& from) { inline CodeGeneratorResponse_File& operator=(const CodeGeneratorResponse_File& from) {
CopyFrom(from); CopyFrom(from);
return *this; return *this;
@ -547,10 +552,19 @@ class PROTOC_EXPORT CodeGeneratorResponse_File final :
2, 4, 1, 2, 4, 1,
86, 2> 86, 2>
_table_; _table_;
friend class ::google::protobuf::MessageLite;
friend class ::google::protobuf::Arena;
template <typename T> friend class ::google::protobuf::Arena::InternalHelper; template <typename T> friend class ::google::protobuf::Arena::InternalHelper;
typedef void InternalArenaConstructable_; typedef void InternalArenaConstructable_;
typedef void DestructorSkippable_; typedef void DestructorSkippable_;
struct Impl_ { struct PROTOC_EXPORT Impl_ {
inline explicit constexpr Impl_(
::google::protobuf::internal::ConstantInitialized) noexcept;
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::internal::HasBits<1> _has_bits_; ::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_; mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::internal::ArenaStringPtr name_; ::google::protobuf::internal::ArenaStringPtr name_;
@ -571,16 +585,14 @@ class PROTOC_EXPORT CodeGeneratorResponse final :
template<typename = void> template<typename = void>
explicit PROTOBUF_CONSTEXPR CodeGeneratorResponse(::google::protobuf::internal::ConstantInitialized); explicit PROTOBUF_CONSTEXPR CodeGeneratorResponse(::google::protobuf::internal::ConstantInitialized);
CodeGeneratorResponse(const CodeGeneratorResponse& from); CodeGeneratorResponse(::google::protobuf::Arena* arena, const CodeGeneratorResponse& from);
inline CodeGeneratorResponse(const CodeGeneratorResponse& from)
: CodeGeneratorResponse(nullptr, from) {}
CodeGeneratorResponse(CodeGeneratorResponse&& from) noexcept CodeGeneratorResponse(CodeGeneratorResponse&& from) noexcept
: CodeGeneratorResponse() { : CodeGeneratorResponse() {
*this = ::std::move(from); *this = ::std::move(from);
} }
inline CodeGeneratorResponse(::google::protobuf::Arena* arena, const CodeGeneratorResponse& from)
: CodeGeneratorResponse(arena) {
MergeFrom(from);
}
inline CodeGeneratorResponse& operator=(const CodeGeneratorResponse& from) { inline CodeGeneratorResponse& operator=(const CodeGeneratorResponse& from) {
CopyFrom(from); CopyFrom(from);
return *this; return *this;
@ -779,10 +791,19 @@ class PROTOC_EXPORT CodeGeneratorResponse final :
2, 3, 1, 2, 3, 1,
60, 2> 60, 2>
_table_; _table_;
friend class ::google::protobuf::MessageLite;
friend class ::google::protobuf::Arena;
template <typename T> friend class ::google::protobuf::Arena::InternalHelper; template <typename T> friend class ::google::protobuf::Arena::InternalHelper;
typedef void InternalArenaConstructable_; typedef void InternalArenaConstructable_;
typedef void DestructorSkippable_; typedef void DestructorSkippable_;
struct Impl_ { struct PROTOC_EXPORT Impl_ {
inline explicit constexpr Impl_(
::google::protobuf::internal::ConstantInitialized) noexcept;
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::internal::HasBits<1> _has_bits_; ::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_; mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::RepeatedPtrField< ::google::protobuf::compiler::CodeGeneratorResponse_File > file_; ::google::protobuf::RepeatedPtrField< ::google::protobuf::compiler::CodeGeneratorResponse_File > file_;
@ -802,16 +823,14 @@ class PROTOC_EXPORT CodeGeneratorRequest final :
template<typename = void> template<typename = void>
explicit PROTOBUF_CONSTEXPR CodeGeneratorRequest(::google::protobuf::internal::ConstantInitialized); explicit PROTOBUF_CONSTEXPR CodeGeneratorRequest(::google::protobuf::internal::ConstantInitialized);
CodeGeneratorRequest(const CodeGeneratorRequest& from); CodeGeneratorRequest(::google::protobuf::Arena* arena, const CodeGeneratorRequest& from);
inline CodeGeneratorRequest(const CodeGeneratorRequest& from)
: CodeGeneratorRequest(nullptr, from) {}
CodeGeneratorRequest(CodeGeneratorRequest&& from) noexcept CodeGeneratorRequest(CodeGeneratorRequest&& from) noexcept
: CodeGeneratorRequest() { : CodeGeneratorRequest() {
*this = ::std::move(from); *this = ::std::move(from);
} }
inline CodeGeneratorRequest(::google::protobuf::Arena* arena, const CodeGeneratorRequest& from)
: CodeGeneratorRequest(arena) {
MergeFrom(from);
}
inline CodeGeneratorRequest& operator=(const CodeGeneratorRequest& from) { inline CodeGeneratorRequest& operator=(const CodeGeneratorRequest& from) {
CopyFrom(from); CopyFrom(from);
return *this; return *this;
@ -1039,10 +1058,19 @@ class PROTOC_EXPORT CodeGeneratorRequest final :
3, 5, 3, 3, 5, 3,
79, 2> 79, 2>
_table_; _table_;
friend class ::google::protobuf::MessageLite;
friend class ::google::protobuf::Arena;
template <typename T> friend class ::google::protobuf::Arena::InternalHelper; template <typename T> friend class ::google::protobuf::Arena::InternalHelper;
typedef void InternalArenaConstructable_; typedef void InternalArenaConstructable_;
typedef void DestructorSkippable_; typedef void DestructorSkippable_;
struct Impl_ { struct PROTOC_EXPORT Impl_ {
inline explicit constexpr Impl_(
::google::protobuf::internal::ConstantInitialized) noexcept;
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::internal::HasBits<1> _has_bits_; ::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_; mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::RepeatedPtrField<std::string> file_to_generate_; ::google::protobuf::RepeatedPtrField<std::string> file_to_generate_;

@ -21,14 +21,16 @@ namespace _pb = ::google::protobuf;
namespace _pbi = ::google::protobuf::internal; namespace _pbi = ::google::protobuf::internal;
namespace _fl = ::google::protobuf::internal::field_layout; namespace _fl = ::google::protobuf::internal::field_layout;
namespace pb { namespace pb {
template <typename>
inline constexpr CppFeatures::Impl_::Impl_(
::_pbi::ConstantInitialized) noexcept
: _cached_size_{0},
legacy_closed_enum_{false},
utf8_validation_{static_cast< ::pb::CppFeatures_Utf8Validation >(0)} {}
template <typename>
PROTOBUF_CONSTEXPR CppFeatures::CppFeatures(::_pbi::ConstantInitialized) PROTOBUF_CONSTEXPR CppFeatures::CppFeatures(::_pbi::ConstantInitialized)
: _impl_{ : _impl_(::_pbi::ConstantInitialized()) {}
/*decltype(_impl_._has_bits_)*/ {},
/*decltype(_impl_._cached_size_)*/ {},
/*decltype(_impl_.legacy_closed_enum_)*/ false,
/*decltype(_impl_.utf8_validation_)*/ 0,
} {}
struct CppFeaturesDefaultTypeInternal { struct CppFeaturesDefaultTypeInternal {
PROTOBUF_CONSTEXPR CppFeaturesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} PROTOBUF_CONSTEXPR CppFeaturesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
~CppFeaturesDefaultTypeInternal() {} ~CppFeaturesDefaultTypeInternal() {}
@ -160,20 +162,24 @@ CppFeatures::CppFeatures(::google::protobuf::Arena* arena)
SharedCtor(arena); SharedCtor(arena);
// @@protoc_insertion_point(arena_constructor:pb.CppFeatures) // @@protoc_insertion_point(arena_constructor:pb.CppFeatures)
} }
CppFeatures::CppFeatures(const CppFeatures& from) CppFeatures::CppFeatures(
: ::google::protobuf::Message(), _impl_(from._impl_) { ::google::protobuf::Arena* arena, const CppFeatures& from)
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( : CppFeatures(arena) {
from._internal_metadata_); MergeFrom(from);
// @@protoc_insertion_point(copy_constructor:pb.CppFeatures)
} }
inline PROTOBUF_NDEBUG_INLINE CppFeatures::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena)
: _cached_size_{0} {}
inline void CppFeatures::SharedCtor(::_pb::Arena* arena) { inline void CppFeatures::SharedCtor(::_pb::Arena* arena) {
(void)arena; new (&_impl_) Impl_(internal_visibility(), arena);
new (&_impl_) Impl_{ ::memset(reinterpret_cast<char *>(&_impl_) +
decltype(_impl_._has_bits_){}, offsetof(Impl_, legacy_closed_enum_),
/*decltype(_impl_._cached_size_)*/ {}, 0,
decltype(_impl_.legacy_closed_enum_){false}, offsetof(Impl_, utf8_validation_) -
decltype(_impl_.utf8_validation_){0}, offsetof(Impl_, legacy_closed_enum_) +
}; sizeof(Impl_::utf8_validation_));
} }
CppFeatures::~CppFeatures() { CppFeatures::~CppFeatures() {
// @@protoc_insertion_point(destructor:pb.CppFeatures) // @@protoc_insertion_point(destructor:pb.CppFeatures)
@ -182,6 +188,7 @@ CppFeatures::~CppFeatures() {
} }
inline void CppFeatures::SharedDtor() { inline void CppFeatures::SharedDtor() {
ABSL_DCHECK(GetArenaForAllocation() == nullptr); ABSL_DCHECK(GetArenaForAllocation() == nullptr);
_impl_.~Impl_();
} }
PROTOBUF_NOINLINE void CppFeatures::Clear() { PROTOBUF_NOINLINE void CppFeatures::Clear() {

@ -111,16 +111,14 @@ class PROTOBUF_EXPORT CppFeatures final :
template<typename = void> template<typename = void>
explicit PROTOBUF_CONSTEXPR CppFeatures(::google::protobuf::internal::ConstantInitialized); explicit PROTOBUF_CONSTEXPR CppFeatures(::google::protobuf::internal::ConstantInitialized);
CppFeatures(const CppFeatures& from); CppFeatures(::google::protobuf::Arena* arena, const CppFeatures& from);
inline CppFeatures(const CppFeatures& from)
: CppFeatures(nullptr, from) {}
CppFeatures(CppFeatures&& from) noexcept CppFeatures(CppFeatures&& from) noexcept
: CppFeatures() { : CppFeatures() {
*this = ::std::move(from); *this = ::std::move(from);
} }
inline CppFeatures(::google::protobuf::Arena* arena, const CppFeatures& from)
: CppFeatures(arena) {
MergeFrom(from);
}
inline CppFeatures& operator=(const CppFeatures& from) { inline CppFeatures& operator=(const CppFeatures& from) {
CopyFrom(from); CopyFrom(from);
return *this; return *this;
@ -293,10 +291,19 @@ class PROTOBUF_EXPORT CppFeatures final :
1, 2, 1, 1, 2, 1,
0, 2> 0, 2>
_table_; _table_;
friend class ::google::protobuf::MessageLite;
friend class ::google::protobuf::Arena;
template <typename T> friend class ::google::protobuf::Arena::InternalHelper; template <typename T> friend class ::google::protobuf::Arena::InternalHelper;
typedef void InternalArenaConstructable_; typedef void InternalArenaConstructable_;
typedef void DestructorSkippable_; typedef void DestructorSkippable_;
struct Impl_ { struct PROTOBUF_EXPORT Impl_ {
inline explicit constexpr Impl_(
::google::protobuf::internal::ConstantInitialized) noexcept;
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::internal::HasBits<1> _has_bits_; ::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_; mutable ::google::protobuf::internal::CachedSize _cached_size_;
bool legacy_closed_enum_; bool legacy_closed_enum_;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -608,6 +608,14 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 3),
#error PROTOBUF_FORCE_COPY_DEFAULT_STRING was previously defined #error PROTOBUF_FORCE_COPY_DEFAULT_STRING was previously defined
#endif #endif
// Set (and leave set) PROTOBUF_EXPLICIT_CONSTRUCTORS
// This flag changes the internal implementation class and its uses from using
// aggregate initialization to using explicit constructor based initialization.
// TODO(b/290029568): remove this flag and make the code permanent.
#ifndef PROTOBUF_EXPLICIT_CONSTRUCTORS
#define PROTOBUF_EXPLICIT_CONSTRUCTORS
#endif
#ifdef PROTOBUF_FORCE_ALLOCATION_ON_CONSTRUCTION #ifdef PROTOBUF_FORCE_ALLOCATION_ON_CONSTRUCTION
#error PROTOBUF_FORCE_ALLOCATION_ON_CONSTRUCTION was previously defined #error PROTOBUF_FORCE_ALLOCATION_ON_CONSTRUCTION was previously defined
#endif #endif

Loading…
Cancel
Save