File indexing completed on 2026-09-18 09:16:11
0001
0002
0003
0004
0005
0006 #ifndef google_2fprotobuf_2fstruct_2eproto_2epb_2eh
0007 #define google_2fprotobuf_2fstruct_2eproto_2epb_2eh
0008
0009 #include <limits>
0010 #include <string>
0011 #include <type_traits>
0012 #include <utility>
0013
0014 #include "google/protobuf/runtime_version.h"
0015 #if PROTOBUF_VERSION != 6032001
0016 #error "Protobuf C++ gencode is built with an incompatible version of"
0017 #error "Protobuf C++ headers/runtime. See"
0018 #error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
0019 #endif
0020 #include "google/protobuf/io/coded_stream.h"
0021 #include "google/protobuf/arena.h"
0022 #include "google/protobuf/arenastring.h"
0023 #include "google/protobuf/generated_message_tctable_decl.h"
0024 #include "google/protobuf/generated_message_util.h"
0025 #include "google/protobuf/metadata_lite.h"
0026 #include "google/protobuf/generated_message_reflection.h"
0027 #include "google/protobuf/message.h"
0028 #include "google/protobuf/message_lite.h"
0029 #include "google/protobuf/repeated_field.h" // IWYU pragma: export
0030 #include "google/protobuf/extension_set.h" // IWYU pragma: export
0031 #include "google/protobuf/map.h" // IWYU pragma: export
0032 #include "google/protobuf/map_type_handler.h" // IWYU pragma: export
0033 #include "google/protobuf/map_entry.h"
0034 #include "google/protobuf/map_field.h"
0035 #include "google/protobuf/generated_enum_reflection.h"
0036 #include "google/protobuf/unknown_field_set.h"
0037
0038
0039
0040 #include "google/protobuf/port_def.inc"
0041
0042 #define PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fstruct_2eproto PROTOBUF_EXPORT
0043
0044 namespace google {
0045 namespace protobuf {
0046 namespace internal {
0047 template <typename T>
0048 ::absl::string_view GetAnyMessageName();
0049 }
0050 }
0051 }
0052
0053
0054 struct PROTOBUF_EXPORT TableStruct_google_2fprotobuf_2fstruct_2eproto {
0055 static const ::uint32_t offsets[];
0056 };
0057 extern "C" {
0058 PROTOBUF_EXPORT extern const ::google::protobuf::internal::DescriptorTable descriptor_table_google_2fprotobuf_2fstruct_2eproto;
0059 }
0060 namespace google {
0061 namespace protobuf {
0062 enum NullValue : int;
0063 PROTOBUF_EXPORT extern const uint32_t NullValue_internal_data_[];
0064 class ListValue;
0065 struct ListValueDefaultTypeInternal;
0066 PROTOBUF_EXPORT extern ListValueDefaultTypeInternal _ListValue_default_instance_;
0067 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull ListValue_class_data_;
0068 class Struct;
0069 struct StructDefaultTypeInternal;
0070 PROTOBUF_EXPORT extern StructDefaultTypeInternal _Struct_default_instance_;
0071 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull Struct_class_data_;
0072 class Struct_FieldsEntry_DoNotUse;
0073 struct Struct_FieldsEntry_DoNotUseDefaultTypeInternal;
0074 PROTOBUF_EXPORT extern Struct_FieldsEntry_DoNotUseDefaultTypeInternal _Struct_FieldsEntry_DoNotUse_default_instance_;
0075 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull Struct_FieldsEntry_DoNotUse_class_data_;
0076 class Value;
0077 struct ValueDefaultTypeInternal;
0078 PROTOBUF_EXPORT extern ValueDefaultTypeInternal _Value_default_instance_;
0079 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull Value_class_data_;
0080 template <>
0081 internal::EnumTraitsT<::google::protobuf::NullValue_internal_data_>
0082 internal::EnumTraitsImpl::value<::google::protobuf::NullValue>;
0083 }
0084 }
0085
0086 namespace google {
0087 namespace protobuf {
0088 enum NullValue : int {
0089 NULL_VALUE = 0,
0090 NullValue_INT_MIN_SENTINEL_DO_NOT_USE_ =
0091 ::std::numeric_limits<::int32_t>::min(),
0092 NullValue_INT_MAX_SENTINEL_DO_NOT_USE_ =
0093 ::std::numeric_limits<::int32_t>::max(),
0094 };
0095
0096 PROTOBUF_EXPORT extern const uint32_t NullValue_internal_data_[];
0097 inline constexpr NullValue NullValue_MIN =
0098 static_cast<NullValue>(0);
0099 inline constexpr NullValue NullValue_MAX =
0100 static_cast<NullValue>(0);
0101 inline bool NullValue_IsValid(int value) {
0102 return 0 <= value && value <= 0;
0103 }
0104 inline constexpr int NullValue_ARRAYSIZE = 0 + 1;
0105 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL NullValue_descriptor();
0106 template <typename T>
0107 const ::std::string& NullValue_Name(T value) {
0108 static_assert(::std::is_same<T, NullValue>::value ||
0109 ::std::is_integral<T>::value,
0110 "Incorrect type passed to NullValue_Name().");
0111 return NullValue_Name(static_cast<NullValue>(value));
0112 }
0113 template <>
0114 inline const ::std::string& NullValue_Name(NullValue value) {
0115 return ::google::protobuf::internal::NameOfDenseEnum<NullValue_descriptor, 0, 0>(
0116 static_cast<int>(value));
0117 }
0118 inline bool NullValue_Parse(
0119 ::absl::string_view name, NullValue* PROTOBUF_NONNULL value) {
0120 return ::google::protobuf::internal::ParseNamedEnum<NullValue>(NullValue_descriptor(), name,
0121 value);
0122 }
0123
0124
0125
0126
0127
0128
0129 class PROTOBUF_EXPORT ListValue final : public ::google::protobuf::Message
0130 {
0131 public:
0132 inline ListValue() : ListValue(nullptr) {}
0133 ~ListValue() PROTOBUF_FINAL;
0134
0135 #if defined(PROTOBUF_CUSTOM_VTABLE)
0136 void operator delete(ListValue* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
0137 SharedDtor(*msg);
0138 ::google::protobuf::internal::SizedDelete(msg, sizeof(ListValue));
0139 }
0140 #endif
0141
0142 template <typename = void>
0143 explicit PROTOBUF_CONSTEXPR ListValue(::google::protobuf::internal::ConstantInitialized);
0144
0145 inline ListValue(const ListValue& from) : ListValue(nullptr, from) {}
0146 inline ListValue(ListValue&& from) noexcept
0147 : ListValue(nullptr, ::std::move(from)) {}
0148 inline ListValue& operator=(const ListValue& from) {
0149 CopyFrom(from);
0150 return *this;
0151 }
0152 inline ListValue& operator=(ListValue&& from) noexcept {
0153 if (this == &from) return *this;
0154 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
0155 InternalSwap(&from);
0156 } else {
0157 CopyFrom(from);
0158 }
0159 return *this;
0160 }
0161
0162 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
0163 ABSL_ATTRIBUTE_LIFETIME_BOUND {
0164 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
0165 }
0166 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
0167 ABSL_ATTRIBUTE_LIFETIME_BOUND {
0168 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
0169 }
0170
0171 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
0172 return GetDescriptor();
0173 }
0174 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
0175 return default_instance().GetMetadata().descriptor;
0176 }
0177 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
0178 return default_instance().GetMetadata().reflection;
0179 }
0180 static const ListValue& default_instance() {
0181 return *reinterpret_cast<const ListValue*>(
0182 &_ListValue_default_instance_);
0183 }
0184 static constexpr int kIndexInFileMessages = 3;
0185 friend void swap(ListValue& a, ListValue& b) { a.Swap(&b); }
0186 inline void Swap(ListValue* PROTOBUF_NONNULL other) {
0187 if (other == this) return;
0188 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
0189 InternalSwap(other);
0190 } else {
0191 ::google::protobuf::internal::GenericSwap(this, other);
0192 }
0193 }
0194 void UnsafeArenaSwap(ListValue* PROTOBUF_NONNULL other) {
0195 if (other == this) return;
0196 ABSL_DCHECK(GetArena() == other->GetArena());
0197 InternalSwap(other);
0198 }
0199
0200
0201
0202 ListValue* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
0203 return ::google::protobuf::Message::DefaultConstruct<ListValue>(arena);
0204 }
0205 using ::google::protobuf::Message::CopyFrom;
0206 void CopyFrom(const ListValue& from);
0207 using ::google::protobuf::Message::MergeFrom;
0208 void MergeFrom(const ListValue& from) { ListValue::MergeImpl(*this, from); }
0209
0210 private:
0211 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
0212 const ::google::protobuf::MessageLite& from_msg);
0213
0214 public:
0215 bool IsInitialized() const {
0216 return true;
0217 }
0218 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
0219 #if defined(PROTOBUF_CUSTOM_VTABLE)
0220 private:
0221 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
0222 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
0223 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
0224 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
0225
0226 public:
0227 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
0228 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
0229 ::uint8_t* PROTOBUF_NONNULL target,
0230 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
0231 return _InternalSerialize(*this, target, stream);
0232 }
0233 #else
0234 ::size_t ByteSizeLong() const final;
0235 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
0236 ::uint8_t* PROTOBUF_NONNULL target,
0237 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
0238 #endif
0239 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
0240
0241 private:
0242 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
0243 static void SharedDtor(MessageLite& self);
0244 void InternalSwap(ListValue* PROTOBUF_NONNULL other);
0245 private:
0246 template <typename T>
0247 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
0248 static ::absl::string_view FullMessageName() { return "google.protobuf.ListValue"; }
0249
0250 protected:
0251 explicit ListValue(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
0252 ListValue(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ListValue& from);
0253 ListValue(
0254 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ListValue&& from) noexcept
0255 : ListValue(arena) {
0256 *this = ::std::move(from);
0257 }
0258 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
0259 static void* PROTOBUF_NONNULL PlacementNew_(
0260 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
0261 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
0262 static constexpr auto InternalNewImpl_();
0263
0264 public:
0265 static constexpr auto InternalGenerateClassData_();
0266
0267 ::google::protobuf::Metadata GetMetadata() const;
0268
0269
0270
0271 enum : int {
0272 kValuesFieldNumber = 1,
0273 };
0274
0275 int values_size() const;
0276 private:
0277 int _internal_values_size() const;
0278
0279 public:
0280 void clear_values() ;
0281 ::google::protobuf::Value* PROTOBUF_NONNULL mutable_values(int index);
0282 ::google::protobuf::RepeatedPtrField<::google::protobuf::Value>* PROTOBUF_NONNULL mutable_values();
0283
0284 private:
0285 const ::google::protobuf::RepeatedPtrField<::google::protobuf::Value>& _internal_values() const;
0286 ::google::protobuf::RepeatedPtrField<::google::protobuf::Value>* PROTOBUF_NONNULL _internal_mutable_values();
0287 public:
0288 const ::google::protobuf::Value& values(int index) const;
0289 ::google::protobuf::Value* PROTOBUF_NONNULL add_values();
0290 const ::google::protobuf::RepeatedPtrField<::google::protobuf::Value>& values() const;
0291
0292 private:
0293 class _Internal;
0294 friend class ::google::protobuf::internal::TcParser;
0295 static const ::google::protobuf::internal::TcParseTable<0, 1,
0296 1, 0,
0297 2>
0298 _table_;
0299
0300 friend class ::google::protobuf::MessageLite;
0301 friend class ::google::protobuf::Arena;
0302 template <typename T>
0303 friend class ::google::protobuf::Arena::InternalHelper;
0304 using InternalArenaConstructable_ = void;
0305 using DestructorSkippable_ = void;
0306 struct Impl_ {
0307 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
0308 inline explicit Impl_(
0309 ::google::protobuf::internal::InternalVisibility visibility,
0310 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
0311 inline explicit Impl_(
0312 ::google::protobuf::internal::InternalVisibility visibility,
0313 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
0314 const ListValue& from_msg);
0315 ::google::protobuf::RepeatedPtrField< ::google::protobuf::Value > values_;
0316 ::google::protobuf::internal::CachedSize _cached_size_;
0317 PROTOBUF_TSAN_DECLARE_MEMBER
0318 };
0319 union { Impl_ _impl_; };
0320 friend struct ::TableStruct_google_2fprotobuf_2fstruct_2eproto;
0321 };
0322
0323 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull ListValue_class_data_;
0324
0325
0326 class PROTOBUF_EXPORT Struct final : public ::google::protobuf::Message
0327 {
0328 public:
0329 inline Struct() : Struct(nullptr) {}
0330 ~Struct() PROTOBUF_FINAL;
0331
0332 #if defined(PROTOBUF_CUSTOM_VTABLE)
0333 void operator delete(Struct* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
0334 SharedDtor(*msg);
0335 ::google::protobuf::internal::SizedDelete(msg, sizeof(Struct));
0336 }
0337 #endif
0338
0339 template <typename = void>
0340 explicit PROTOBUF_CONSTEXPR Struct(::google::protobuf::internal::ConstantInitialized);
0341
0342 inline Struct(const Struct& from) : Struct(nullptr, from) {}
0343 inline Struct(Struct&& from) noexcept
0344 : Struct(nullptr, ::std::move(from)) {}
0345 inline Struct& operator=(const Struct& from) {
0346 CopyFrom(from);
0347 return *this;
0348 }
0349 inline Struct& operator=(Struct&& from) noexcept {
0350 if (this == &from) return *this;
0351 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
0352 InternalSwap(&from);
0353 } else {
0354 CopyFrom(from);
0355 }
0356 return *this;
0357 }
0358
0359 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
0360 ABSL_ATTRIBUTE_LIFETIME_BOUND {
0361 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
0362 }
0363 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
0364 ABSL_ATTRIBUTE_LIFETIME_BOUND {
0365 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
0366 }
0367
0368 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
0369 return GetDescriptor();
0370 }
0371 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
0372 return default_instance().GetMetadata().descriptor;
0373 }
0374 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
0375 return default_instance().GetMetadata().reflection;
0376 }
0377 static const Struct& default_instance() {
0378 return *reinterpret_cast<const Struct*>(
0379 &_Struct_default_instance_);
0380 }
0381 static constexpr int kIndexInFileMessages = 1;
0382 friend void swap(Struct& a, Struct& b) { a.Swap(&b); }
0383 inline void Swap(Struct* PROTOBUF_NONNULL other) {
0384 if (other == this) return;
0385 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
0386 InternalSwap(other);
0387 } else {
0388 ::google::protobuf::internal::GenericSwap(this, other);
0389 }
0390 }
0391 void UnsafeArenaSwap(Struct* PROTOBUF_NONNULL other) {
0392 if (other == this) return;
0393 ABSL_DCHECK(GetArena() == other->GetArena());
0394 InternalSwap(other);
0395 }
0396
0397
0398
0399 Struct* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
0400 return ::google::protobuf::Message::DefaultConstruct<Struct>(arena);
0401 }
0402 using ::google::protobuf::Message::CopyFrom;
0403 void CopyFrom(const Struct& from);
0404 using ::google::protobuf::Message::MergeFrom;
0405 void MergeFrom(const Struct& from) { Struct::MergeImpl(*this, from); }
0406
0407 private:
0408 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
0409 const ::google::protobuf::MessageLite& from_msg);
0410
0411 public:
0412 bool IsInitialized() const {
0413 return true;
0414 }
0415 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
0416 #if defined(PROTOBUF_CUSTOM_VTABLE)
0417 private:
0418 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
0419 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
0420 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
0421 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
0422
0423 public:
0424 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
0425 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
0426 ::uint8_t* PROTOBUF_NONNULL target,
0427 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
0428 return _InternalSerialize(*this, target, stream);
0429 }
0430 #else
0431 ::size_t ByteSizeLong() const final;
0432 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
0433 ::uint8_t* PROTOBUF_NONNULL target,
0434 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
0435 #endif
0436 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
0437
0438 private:
0439 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
0440 static void SharedDtor(MessageLite& self);
0441 void InternalSwap(Struct* PROTOBUF_NONNULL other);
0442 private:
0443 template <typename T>
0444 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
0445 static ::absl::string_view FullMessageName() { return "google.protobuf.Struct"; }
0446
0447 protected:
0448 explicit Struct(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
0449 Struct(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Struct& from);
0450 Struct(
0451 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Struct&& from) noexcept
0452 : Struct(arena) {
0453 *this = ::std::move(from);
0454 }
0455 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
0456 static void* PROTOBUF_NONNULL PlacementNew_(
0457 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
0458 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
0459 static constexpr auto InternalNewImpl_();
0460
0461 public:
0462 static constexpr auto InternalGenerateClassData_();
0463
0464 ::google::protobuf::Metadata GetMetadata() const;
0465
0466
0467
0468 enum : int {
0469 kFieldsFieldNumber = 1,
0470 };
0471
0472 int fields_size() const;
0473 private:
0474 int _internal_fields_size() const;
0475
0476 public:
0477 void clear_fields() ;
0478 const ::google::protobuf::Map<::std::string, ::google::protobuf::Value>& fields() const;
0479 ::google::protobuf::Map<::std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL mutable_fields();
0480
0481 private:
0482 const ::google::protobuf::Map<::std::string, ::google::protobuf::Value>& _internal_fields() const;
0483 ::google::protobuf::Map<::std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL _internal_mutable_fields();
0484
0485 public:
0486
0487 private:
0488 class _Internal;
0489 friend class ::google::protobuf::internal::TcParser;
0490 static const ::google::protobuf::internal::TcParseTable<0, 1,
0491 2, 37,
0492 2>
0493 _table_;
0494
0495 friend class ::google::protobuf::MessageLite;
0496 friend class ::google::protobuf::Arena;
0497 template <typename T>
0498 friend class ::google::protobuf::Arena::InternalHelper;
0499 using InternalArenaConstructable_ = void;
0500 using DestructorSkippable_ = void;
0501 struct Impl_ {
0502 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
0503 inline explicit Impl_(
0504 ::google::protobuf::internal::InternalVisibility visibility,
0505 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
0506 inline explicit Impl_(
0507 ::google::protobuf::internal::InternalVisibility visibility,
0508 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
0509 const Struct& from_msg);
0510 ::google::protobuf::internal::MapField<Struct_FieldsEntry_DoNotUse, ::std::string, ::google::protobuf::Value,
0511 ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
0512 ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>
0513 fields_;
0514 ::google::protobuf::internal::CachedSize _cached_size_;
0515 PROTOBUF_TSAN_DECLARE_MEMBER
0516 };
0517 union { Impl_ _impl_; };
0518 friend struct ::TableStruct_google_2fprotobuf_2fstruct_2eproto;
0519 };
0520
0521 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull Struct_class_data_;
0522
0523
0524 class Struct_FieldsEntry_DoNotUse final
0525 : public ::google::protobuf::internal::MapEntry<::std::string, ::google::protobuf::Message,
0526 ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
0527 ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> {
0528 public:
0529 using SuperType =
0530 ::google::protobuf::internal::MapEntry<::std::string, ::google::protobuf::Message,
0531 ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
0532 ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>;
0533 Struct_FieldsEntry_DoNotUse();
0534 template <typename = void>
0535 explicit PROTOBUF_CONSTEXPR Struct_FieldsEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized);
0536 explicit Struct_FieldsEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
0537 static constexpr const void* PROTOBUF_NONNULL internal_default_instance() {
0538 return &_Struct_FieldsEntry_DoNotUse_default_instance_;
0539 }
0540
0541
0542 static constexpr auto InternalGenerateClassData_();
0543
0544 private:
0545 friend class ::google::protobuf::MessageLite;
0546 friend struct ::TableStruct_google_2fprotobuf_2fstruct_2eproto;
0547
0548 friend class ::google::protobuf::internal::TcParser;
0549 static const ::google::protobuf::internal::TcParseTable<1, 2,
0550 1, 46,
0551 2>
0552 _table_;
0553
0554 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
0555 static void* PROTOBUF_NONNULL PlacementNew_(
0556 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
0557 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
0558 static constexpr auto InternalNewImpl_();
0559 };
0560 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull Struct_FieldsEntry_DoNotUse_class_data_;
0561
0562
0563 class PROTOBUF_EXPORT Value final : public ::google::protobuf::Message
0564 {
0565 public:
0566 inline Value() : Value(nullptr) {}
0567 ~Value() PROTOBUF_FINAL;
0568
0569 #if defined(PROTOBUF_CUSTOM_VTABLE)
0570 void operator delete(Value* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
0571 SharedDtor(*msg);
0572 ::google::protobuf::internal::SizedDelete(msg, sizeof(Value));
0573 }
0574 #endif
0575
0576 template <typename = void>
0577 explicit PROTOBUF_CONSTEXPR Value(::google::protobuf::internal::ConstantInitialized);
0578
0579 inline Value(const Value& from) : Value(nullptr, from) {}
0580 inline Value(Value&& from) noexcept
0581 : Value(nullptr, ::std::move(from)) {}
0582 inline Value& operator=(const Value& from) {
0583 CopyFrom(from);
0584 return *this;
0585 }
0586 inline Value& operator=(Value&& from) noexcept {
0587 if (this == &from) return *this;
0588 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
0589 InternalSwap(&from);
0590 } else {
0591 CopyFrom(from);
0592 }
0593 return *this;
0594 }
0595
0596 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
0597 ABSL_ATTRIBUTE_LIFETIME_BOUND {
0598 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
0599 }
0600 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
0601 ABSL_ATTRIBUTE_LIFETIME_BOUND {
0602 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
0603 }
0604
0605 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
0606 return GetDescriptor();
0607 }
0608 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
0609 return default_instance().GetMetadata().descriptor;
0610 }
0611 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
0612 return default_instance().GetMetadata().reflection;
0613 }
0614 static const Value& default_instance() {
0615 return *reinterpret_cast<const Value*>(
0616 &_Value_default_instance_);
0617 }
0618 enum KindCase {
0619 kNullValue = 1,
0620 kNumberValue = 2,
0621 kStringValue = 3,
0622 kBoolValue = 4,
0623 kStructValue = 5,
0624 kListValue = 6,
0625 KIND_NOT_SET = 0,
0626 };
0627 static constexpr int kIndexInFileMessages = 2;
0628 friend void swap(Value& a, Value& b) { a.Swap(&b); }
0629 inline void Swap(Value* PROTOBUF_NONNULL other) {
0630 if (other == this) return;
0631 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
0632 InternalSwap(other);
0633 } else {
0634 ::google::protobuf::internal::GenericSwap(this, other);
0635 }
0636 }
0637 void UnsafeArenaSwap(Value* PROTOBUF_NONNULL other) {
0638 if (other == this) return;
0639 ABSL_DCHECK(GetArena() == other->GetArena());
0640 InternalSwap(other);
0641 }
0642
0643
0644
0645 Value* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
0646 return ::google::protobuf::Message::DefaultConstruct<Value>(arena);
0647 }
0648 using ::google::protobuf::Message::CopyFrom;
0649 void CopyFrom(const Value& from);
0650 using ::google::protobuf::Message::MergeFrom;
0651 void MergeFrom(const Value& from) { Value::MergeImpl(*this, from); }
0652
0653 private:
0654 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
0655 const ::google::protobuf::MessageLite& from_msg);
0656
0657 public:
0658 bool IsInitialized() const {
0659 return true;
0660 }
0661 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
0662 #if defined(PROTOBUF_CUSTOM_VTABLE)
0663 private:
0664 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
0665 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
0666 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
0667 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
0668
0669 public:
0670 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
0671 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
0672 ::uint8_t* PROTOBUF_NONNULL target,
0673 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
0674 return _InternalSerialize(*this, target, stream);
0675 }
0676 #else
0677 ::size_t ByteSizeLong() const final;
0678 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
0679 ::uint8_t* PROTOBUF_NONNULL target,
0680 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
0681 #endif
0682 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
0683
0684 private:
0685 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
0686 static void SharedDtor(MessageLite& self);
0687 void InternalSwap(Value* PROTOBUF_NONNULL other);
0688 private:
0689 template <typename T>
0690 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
0691 static ::absl::string_view FullMessageName() { return "google.protobuf.Value"; }
0692
0693 protected:
0694 explicit Value(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
0695 Value(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Value& from);
0696 Value(
0697 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Value&& from) noexcept
0698 : Value(arena) {
0699 *this = ::std::move(from);
0700 }
0701 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
0702 static void* PROTOBUF_NONNULL PlacementNew_(
0703 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
0704 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
0705 static constexpr auto InternalNewImpl_();
0706
0707 public:
0708 static constexpr auto InternalGenerateClassData_();
0709
0710 ::google::protobuf::Metadata GetMetadata() const;
0711
0712
0713
0714 enum : int {
0715 kNullValueFieldNumber = 1,
0716 kNumberValueFieldNumber = 2,
0717 kStringValueFieldNumber = 3,
0718 kBoolValueFieldNumber = 4,
0719 kStructValueFieldNumber = 5,
0720 kListValueFieldNumber = 6,
0721 };
0722
0723 bool has_null_value() const;
0724 void clear_null_value() ;
0725 ::google::protobuf::NullValue null_value() const;
0726 void set_null_value(::google::protobuf::NullValue value);
0727
0728 private:
0729 ::google::protobuf::NullValue _internal_null_value() const;
0730 void _internal_set_null_value(::google::protobuf::NullValue value);
0731
0732 public:
0733
0734 bool has_number_value() const;
0735 void clear_number_value() ;
0736 double number_value() const;
0737 void set_number_value(double value);
0738
0739 private:
0740 double _internal_number_value() const;
0741 void _internal_set_number_value(double value);
0742
0743 public:
0744
0745 bool has_string_value() const;
0746 void clear_string_value() ;
0747 const ::std::string& string_value() const;
0748 template <typename Arg_ = const ::std::string&, typename... Args_>
0749 void set_string_value(Arg_&& arg, Args_... args);
0750 ::std::string* PROTOBUF_NONNULL mutable_string_value();
0751 [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_string_value();
0752 void set_allocated_string_value(::std::string* PROTOBUF_NULLABLE value);
0753
0754 private:
0755 const ::std::string& _internal_string_value() const;
0756 PROTOBUF_ALWAYS_INLINE void _internal_set_string_value(const ::std::string& value);
0757 ::std::string* PROTOBUF_NONNULL _internal_mutable_string_value();
0758
0759 public:
0760
0761 bool has_bool_value() const;
0762 void clear_bool_value() ;
0763 bool bool_value() const;
0764 void set_bool_value(bool value);
0765
0766 private:
0767 bool _internal_bool_value() const;
0768 void _internal_set_bool_value(bool value);
0769
0770 public:
0771
0772 bool has_struct_value() const;
0773 private:
0774 bool _internal_has_struct_value() const;
0775
0776 public:
0777 void clear_struct_value() ;
0778 const ::google::protobuf::Struct& struct_value() const;
0779 [[nodiscard]] ::google::protobuf::Struct* PROTOBUF_NULLABLE release_struct_value();
0780 ::google::protobuf::Struct* PROTOBUF_NONNULL mutable_struct_value();
0781 void set_allocated_struct_value(::google::protobuf::Struct* PROTOBUF_NULLABLE value);
0782 void unsafe_arena_set_allocated_struct_value(::google::protobuf::Struct* PROTOBUF_NULLABLE value);
0783 ::google::protobuf::Struct* PROTOBUF_NULLABLE unsafe_arena_release_struct_value();
0784
0785 private:
0786 const ::google::protobuf::Struct& _internal_struct_value() const;
0787 ::google::protobuf::Struct* PROTOBUF_NONNULL _internal_mutable_struct_value();
0788
0789 public:
0790
0791 bool has_list_value() const;
0792 private:
0793 bool _internal_has_list_value() const;
0794
0795 public:
0796 void clear_list_value() ;
0797 const ::google::protobuf::ListValue& list_value() const;
0798 [[nodiscard]] ::google::protobuf::ListValue* PROTOBUF_NULLABLE release_list_value();
0799 ::google::protobuf::ListValue* PROTOBUF_NONNULL mutable_list_value();
0800 void set_allocated_list_value(::google::protobuf::ListValue* PROTOBUF_NULLABLE value);
0801 void unsafe_arena_set_allocated_list_value(::google::protobuf::ListValue* PROTOBUF_NULLABLE value);
0802 ::google::protobuf::ListValue* PROTOBUF_NULLABLE unsafe_arena_release_list_value();
0803
0804 private:
0805 const ::google::protobuf::ListValue& _internal_list_value() const;
0806 ::google::protobuf::ListValue* PROTOBUF_NONNULL _internal_mutable_list_value();
0807
0808 public:
0809 void clear_kind();
0810 KindCase kind_case() const;
0811
0812 private:
0813 class _Internal;
0814 void set_has_null_value();
0815 void set_has_number_value();
0816 void set_has_string_value();
0817 void set_has_bool_value();
0818 void set_has_struct_value();
0819 void set_has_list_value();
0820 inline bool has_kind() const;
0821 inline void clear_has_kind();
0822 friend class ::google::protobuf::internal::TcParser;
0823 static const ::google::protobuf::internal::TcParseTable<0, 6,
0824 2, 42,
0825 2>
0826 _table_;
0827
0828 friend class ::google::protobuf::MessageLite;
0829 friend class ::google::protobuf::Arena;
0830 template <typename T>
0831 friend class ::google::protobuf::Arena::InternalHelper;
0832 using InternalArenaConstructable_ = void;
0833 using DestructorSkippable_ = void;
0834 struct Impl_ {
0835 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
0836 inline explicit Impl_(
0837 ::google::protobuf::internal::InternalVisibility visibility,
0838 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
0839 inline explicit Impl_(
0840 ::google::protobuf::internal::InternalVisibility visibility,
0841 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
0842 const Value& from_msg);
0843 union KindUnion {
0844 constexpr KindUnion() : _constinit_{} {}
0845 ::google::protobuf::internal::ConstantInitialized _constinit_;
0846 int null_value_;
0847 double number_value_;
0848 ::google::protobuf::internal::ArenaStringPtr string_value_;
0849 bool bool_value_;
0850 ::google::protobuf::Struct* PROTOBUF_NULLABLE struct_value_;
0851 ::google::protobuf::ListValue* PROTOBUF_NULLABLE list_value_;
0852 } kind_;
0853 ::google::protobuf::internal::CachedSize _cached_size_;
0854 ::uint32_t _oneof_case_[1];
0855 PROTOBUF_TSAN_DECLARE_MEMBER
0856 };
0857 union { Impl_ _impl_; };
0858 friend struct ::TableStruct_google_2fprotobuf_2fstruct_2eproto;
0859 };
0860
0861 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull Value_class_data_;
0862
0863
0864
0865
0866
0867
0868
0869
0870
0871 #ifdef __GNUC__
0872 #pragma GCC diagnostic push
0873 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
0874 #endif
0875
0876
0877
0878
0879
0880
0881
0882 inline int Struct::_internal_fields_size() const {
0883 return _internal_fields().size();
0884 }
0885 inline int Struct::fields_size() const {
0886 return _internal_fields_size();
0887 }
0888 inline void Struct::clear_fields() {
0889 ::google::protobuf::internal::TSanWrite(&_impl_);
0890 _impl_.fields_.Clear();
0891 }
0892 inline const ::google::protobuf::Map<::std::string, ::google::protobuf::Value>& Struct::_internal_fields() const {
0893 ::google::protobuf::internal::TSanRead(&_impl_);
0894 return _impl_.fields_.GetMap();
0895 }
0896 inline const ::google::protobuf::Map<::std::string, ::google::protobuf::Value>& Struct::fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
0897
0898 return _internal_fields();
0899 }
0900 inline ::google::protobuf::Map<::std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL Struct::_internal_mutable_fields() {
0901 ::google::protobuf::internal::TSanWrite(&_impl_);
0902 return _impl_.fields_.MutableMap();
0903 }
0904 inline ::google::protobuf::Map<::std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL Struct::mutable_fields()
0905 ABSL_ATTRIBUTE_LIFETIME_BOUND {
0906
0907 return _internal_mutable_fields();
0908 }
0909
0910
0911
0912
0913
0914
0915 inline bool Value::has_null_value() const {
0916 return kind_case() == kNullValue;
0917 }
0918 inline void Value::set_has_null_value() {
0919 _impl_._oneof_case_[0] = kNullValue;
0920 }
0921 inline void Value::clear_null_value() {
0922 ::google::protobuf::internal::TSanWrite(&_impl_);
0923 if (kind_case() == kNullValue) {
0924 _impl_.kind_.null_value_ = 0;
0925 clear_has_kind();
0926 }
0927 }
0928 inline ::google::protobuf::NullValue Value::null_value() const {
0929
0930 return _internal_null_value();
0931 }
0932 inline void Value::set_null_value(::google::protobuf::NullValue value) {
0933 if (kind_case() != kNullValue) {
0934 clear_kind();
0935 set_has_null_value();
0936 }
0937 _impl_.kind_.null_value_ = value;
0938
0939 }
0940 inline ::google::protobuf::NullValue Value::_internal_null_value() const {
0941 if (kind_case() == kNullValue) {
0942 return static_cast<::google::protobuf::NullValue>(_impl_.kind_.null_value_);
0943 }
0944 return static_cast<::google::protobuf::NullValue>(0);
0945 }
0946
0947
0948 inline bool Value::has_number_value() const {
0949 return kind_case() == kNumberValue;
0950 }
0951 inline void Value::set_has_number_value() {
0952 _impl_._oneof_case_[0] = kNumberValue;
0953 }
0954 inline void Value::clear_number_value() {
0955 ::google::protobuf::internal::TSanWrite(&_impl_);
0956 if (kind_case() == kNumberValue) {
0957 _impl_.kind_.number_value_ = 0;
0958 clear_has_kind();
0959 }
0960 }
0961 inline double Value::number_value() const {
0962
0963 return _internal_number_value();
0964 }
0965 inline void Value::set_number_value(double value) {
0966 if (kind_case() != kNumberValue) {
0967 clear_kind();
0968 set_has_number_value();
0969 }
0970 _impl_.kind_.number_value_ = value;
0971
0972 }
0973 inline double Value::_internal_number_value() const {
0974 if (kind_case() == kNumberValue) {
0975 return _impl_.kind_.number_value_;
0976 }
0977 return 0;
0978 }
0979
0980
0981 inline bool Value::has_string_value() const {
0982 return kind_case() == kStringValue;
0983 }
0984 inline void Value::set_has_string_value() {
0985 _impl_._oneof_case_[0] = kStringValue;
0986 }
0987 inline void Value::clear_string_value() {
0988 ::google::protobuf::internal::TSanWrite(&_impl_);
0989 if (kind_case() == kStringValue) {
0990 _impl_.kind_.string_value_.Destroy();
0991 clear_has_kind();
0992 }
0993 }
0994 inline const ::std::string& Value::string_value() const
0995 ABSL_ATTRIBUTE_LIFETIME_BOUND {
0996
0997 return _internal_string_value();
0998 }
0999 template <typename Arg_, typename... Args_>
1000 PROTOBUF_ALWAYS_INLINE void Value::set_string_value(Arg_&& arg, Args_... args) {
1001 ::google::protobuf::internal::TSanWrite(&_impl_);
1002 if (kind_case() != kStringValue) {
1003 clear_kind();
1004
1005 set_has_string_value();
1006 _impl_.kind_.string_value_.InitDefault();
1007 }
1008 _impl_.kind_.string_value_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
1009
1010 }
1011 inline ::std::string* PROTOBUF_NONNULL Value::mutable_string_value()
1012 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1013 ::std::string* _s = _internal_mutable_string_value();
1014
1015 return _s;
1016 }
1017 inline const ::std::string& Value::_internal_string_value() const {
1018 ::google::protobuf::internal::TSanRead(&_impl_);
1019 if (kind_case() != kStringValue) {
1020 return ::google::protobuf::internal::GetEmptyStringAlreadyInited();
1021 }
1022 return _impl_.kind_.string_value_.Get();
1023 }
1024 inline void Value::_internal_set_string_value(const ::std::string& value) {
1025 ::google::protobuf::internal::TSanWrite(&_impl_);
1026 if (kind_case() != kStringValue) {
1027 clear_kind();
1028
1029 set_has_string_value();
1030 _impl_.kind_.string_value_.InitDefault();
1031 }
1032 _impl_.kind_.string_value_.Set(value, GetArena());
1033 }
1034 inline ::std::string* PROTOBUF_NONNULL Value::_internal_mutable_string_value() {
1035 ::google::protobuf::internal::TSanWrite(&_impl_);
1036 if (kind_case() != kStringValue) {
1037 clear_kind();
1038
1039 set_has_string_value();
1040 _impl_.kind_.string_value_.InitDefault();
1041 }
1042 return _impl_.kind_.string_value_.Mutable( GetArena());
1043 }
1044 inline ::std::string* PROTOBUF_NULLABLE Value::release_string_value() {
1045 ::google::protobuf::internal::TSanWrite(&_impl_);
1046
1047 if (kind_case() != kStringValue) {
1048 return nullptr;
1049 }
1050 clear_has_kind();
1051 return _impl_.kind_.string_value_.Release();
1052 }
1053 inline void Value::set_allocated_string_value(::std::string* PROTOBUF_NULLABLE value) {
1054 ::google::protobuf::internal::TSanWrite(&_impl_);
1055 if (has_kind()) {
1056 clear_kind();
1057 }
1058 if (value != nullptr) {
1059 set_has_string_value();
1060 _impl_.kind_.string_value_.InitAllocated(value, GetArena());
1061 }
1062
1063 }
1064
1065
1066 inline bool Value::has_bool_value() const {
1067 return kind_case() == kBoolValue;
1068 }
1069 inline void Value::set_has_bool_value() {
1070 _impl_._oneof_case_[0] = kBoolValue;
1071 }
1072 inline void Value::clear_bool_value() {
1073 ::google::protobuf::internal::TSanWrite(&_impl_);
1074 if (kind_case() == kBoolValue) {
1075 _impl_.kind_.bool_value_ = false;
1076 clear_has_kind();
1077 }
1078 }
1079 inline bool Value::bool_value() const {
1080
1081 return _internal_bool_value();
1082 }
1083 inline void Value::set_bool_value(bool value) {
1084 if (kind_case() != kBoolValue) {
1085 clear_kind();
1086 set_has_bool_value();
1087 }
1088 _impl_.kind_.bool_value_ = value;
1089
1090 }
1091 inline bool Value::_internal_bool_value() const {
1092 if (kind_case() == kBoolValue) {
1093 return _impl_.kind_.bool_value_;
1094 }
1095 return false;
1096 }
1097
1098
1099 inline bool Value::has_struct_value() const {
1100 return kind_case() == kStructValue;
1101 }
1102 inline bool Value::_internal_has_struct_value() const {
1103 return kind_case() == kStructValue;
1104 }
1105 inline void Value::set_has_struct_value() {
1106 _impl_._oneof_case_[0] = kStructValue;
1107 }
1108 inline void Value::clear_struct_value() {
1109 ::google::protobuf::internal::TSanWrite(&_impl_);
1110 if (kind_case() == kStructValue) {
1111 if (GetArena() == nullptr) {
1112 delete _impl_.kind_.struct_value_;
1113 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
1114 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.kind_.struct_value_);
1115 }
1116 clear_has_kind();
1117 }
1118 }
1119 inline ::google::protobuf::Struct* PROTOBUF_NULLABLE Value::release_struct_value() {
1120
1121 if (kind_case() == kStructValue) {
1122 clear_has_kind();
1123 auto* temp = _impl_.kind_.struct_value_;
1124 if (GetArena() != nullptr) {
1125 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
1126 }
1127 _impl_.kind_.struct_value_ = nullptr;
1128 return temp;
1129 } else {
1130 return nullptr;
1131 }
1132 }
1133 inline const ::google::protobuf::Struct& Value::_internal_struct_value() const {
1134 return kind_case() == kStructValue ? *_impl_.kind_.struct_value_ : reinterpret_cast<::google::protobuf::Struct&>(::google::protobuf::_Struct_default_instance_);
1135 }
1136 inline const ::google::protobuf::Struct& Value::struct_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
1137
1138 return _internal_struct_value();
1139 }
1140 inline ::google::protobuf::Struct* PROTOBUF_NULLABLE Value::unsafe_arena_release_struct_value() {
1141
1142 if (kind_case() == kStructValue) {
1143 clear_has_kind();
1144 auto* temp = _impl_.kind_.struct_value_;
1145 _impl_.kind_.struct_value_ = nullptr;
1146 return temp;
1147 } else {
1148 return nullptr;
1149 }
1150 }
1151 inline void Value::unsafe_arena_set_allocated_struct_value(
1152 ::google::protobuf::Struct* PROTOBUF_NULLABLE value) {
1153
1154
1155
1156 clear_kind();
1157 if (value) {
1158 set_has_struct_value();
1159 _impl_.kind_.struct_value_ = value;
1160 }
1161
1162 }
1163 inline ::google::protobuf::Struct* PROTOBUF_NONNULL Value::_internal_mutable_struct_value() {
1164 if (kind_case() != kStructValue) {
1165 clear_kind();
1166 set_has_struct_value();
1167 _impl_.kind_.struct_value_ =
1168 ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Struct>(GetArena());
1169 }
1170 return _impl_.kind_.struct_value_;
1171 }
1172 inline ::google::protobuf::Struct* PROTOBUF_NONNULL Value::mutable_struct_value()
1173 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1174 ::google::protobuf::Struct* _msg = _internal_mutable_struct_value();
1175
1176 return _msg;
1177 }
1178
1179
1180 inline bool Value::has_list_value() const {
1181 return kind_case() == kListValue;
1182 }
1183 inline bool Value::_internal_has_list_value() const {
1184 return kind_case() == kListValue;
1185 }
1186 inline void Value::set_has_list_value() {
1187 _impl_._oneof_case_[0] = kListValue;
1188 }
1189 inline void Value::clear_list_value() {
1190 ::google::protobuf::internal::TSanWrite(&_impl_);
1191 if (kind_case() == kListValue) {
1192 if (GetArena() == nullptr) {
1193 delete _impl_.kind_.list_value_;
1194 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
1195 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.kind_.list_value_);
1196 }
1197 clear_has_kind();
1198 }
1199 }
1200 inline ::google::protobuf::ListValue* PROTOBUF_NULLABLE Value::release_list_value() {
1201
1202 if (kind_case() == kListValue) {
1203 clear_has_kind();
1204 auto* temp = _impl_.kind_.list_value_;
1205 if (GetArena() != nullptr) {
1206 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
1207 }
1208 _impl_.kind_.list_value_ = nullptr;
1209 return temp;
1210 } else {
1211 return nullptr;
1212 }
1213 }
1214 inline const ::google::protobuf::ListValue& Value::_internal_list_value() const {
1215 return kind_case() == kListValue ? *_impl_.kind_.list_value_ : reinterpret_cast<::google::protobuf::ListValue&>(::google::protobuf::_ListValue_default_instance_);
1216 }
1217 inline const ::google::protobuf::ListValue& Value::list_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
1218
1219 return _internal_list_value();
1220 }
1221 inline ::google::protobuf::ListValue* PROTOBUF_NULLABLE Value::unsafe_arena_release_list_value() {
1222
1223 if (kind_case() == kListValue) {
1224 clear_has_kind();
1225 auto* temp = _impl_.kind_.list_value_;
1226 _impl_.kind_.list_value_ = nullptr;
1227 return temp;
1228 } else {
1229 return nullptr;
1230 }
1231 }
1232 inline void Value::unsafe_arena_set_allocated_list_value(
1233 ::google::protobuf::ListValue* PROTOBUF_NULLABLE value) {
1234
1235
1236
1237 clear_kind();
1238 if (value) {
1239 set_has_list_value();
1240 _impl_.kind_.list_value_ = value;
1241 }
1242
1243 }
1244 inline ::google::protobuf::ListValue* PROTOBUF_NONNULL Value::_internal_mutable_list_value() {
1245 if (kind_case() != kListValue) {
1246 clear_kind();
1247 set_has_list_value();
1248 _impl_.kind_.list_value_ =
1249 ::google::protobuf::Message::DefaultConstruct<::google::protobuf::ListValue>(GetArena());
1250 }
1251 return _impl_.kind_.list_value_;
1252 }
1253 inline ::google::protobuf::ListValue* PROTOBUF_NONNULL Value::mutable_list_value()
1254 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1255 ::google::protobuf::ListValue* _msg = _internal_mutable_list_value();
1256
1257 return _msg;
1258 }
1259
1260 inline bool Value::has_kind() const {
1261 return kind_case() != KIND_NOT_SET;
1262 }
1263 inline void Value::clear_has_kind() {
1264 _impl_._oneof_case_[0] = KIND_NOT_SET;
1265 }
1266 inline Value::KindCase Value::kind_case() const {
1267 return Value::KindCase(_impl_._oneof_case_[0]);
1268 }
1269
1270
1271
1272
1273
1274 inline int ListValue::_internal_values_size() const {
1275 return _internal_values().size();
1276 }
1277 inline int ListValue::values_size() const {
1278 return _internal_values_size();
1279 }
1280 inline void ListValue::clear_values() {
1281 ::google::protobuf::internal::TSanWrite(&_impl_);
1282 _impl_.values_.Clear();
1283 }
1284 inline ::google::protobuf::Value* PROTOBUF_NONNULL ListValue::mutable_values(int index)
1285 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1286
1287 return _internal_mutable_values()->Mutable(index);
1288 }
1289 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::Value>* PROTOBUF_NONNULL ListValue::mutable_values()
1290 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1291
1292 ::google::protobuf::internal::TSanWrite(&_impl_);
1293 return _internal_mutable_values();
1294 }
1295 inline const ::google::protobuf::Value& ListValue::values(int index) const
1296 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1297
1298 return _internal_values().Get(index);
1299 }
1300 inline ::google::protobuf::Value* PROTOBUF_NONNULL ListValue::add_values()
1301 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1302 ::google::protobuf::internal::TSanWrite(&_impl_);
1303 ::google::protobuf::Value* _add = _internal_mutable_values()->Add();
1304
1305 return _add;
1306 }
1307 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::Value>& ListValue::values() const
1308 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1309
1310 return _internal_values();
1311 }
1312 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::Value>&
1313 ListValue::_internal_values() const {
1314 ::google::protobuf::internal::TSanRead(&_impl_);
1315 return _impl_.values_;
1316 }
1317 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::Value>* PROTOBUF_NONNULL
1318 ListValue::_internal_mutable_values() {
1319 ::google::protobuf::internal::TSanRead(&_impl_);
1320 return &_impl_.values_;
1321 }
1322
1323 #ifdef __GNUC__
1324 #pragma GCC diagnostic pop
1325 #endif
1326
1327
1328 }
1329 }
1330
1331
1332 namespace google {
1333 namespace protobuf {
1334
1335 template <>
1336 struct is_proto_enum<::google::protobuf::NullValue> : std::true_type {};
1337 template <>
1338 inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::protobuf::NullValue>() {
1339 return ::google::protobuf::NullValue_descriptor();
1340 }
1341
1342 }
1343 }
1344
1345
1346
1347 #include "google/protobuf/port_undef.inc"
1348
1349 #endif