Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-31 10:12:27

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