File indexing completed on 2026-09-14 09:10:03
0001
0002
0003
0004
0005
0006 #ifndef google_2fprotobuf_2fcpp_5ffeatures_2eproto_2epb_2eh
0007 #define google_2fprotobuf_2fcpp_5ffeatures_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/generated_enum_reflection.h"
0032 #include "google/protobuf/unknown_field_set.h"
0033 #include "google/protobuf/descriptor.pb.h"
0034
0035
0036
0037 #include "google/protobuf/port_def.inc"
0038
0039 #define PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fcpp_5ffeatures_2eproto PROTOBUF_EXPORT
0040
0041 namespace google {
0042 namespace protobuf {
0043 namespace internal {
0044 template <typename T>
0045 ::absl::string_view GetAnyMessageName();
0046 }
0047 }
0048 }
0049
0050
0051 struct PROTOBUF_EXPORT TableStruct_google_2fprotobuf_2fcpp_5ffeatures_2eproto {
0052 static const ::uint32_t offsets[];
0053 };
0054 extern "C" {
0055 PROTOBUF_EXPORT extern const ::google::protobuf::internal::DescriptorTable descriptor_table_google_2fprotobuf_2fcpp_5ffeatures_2eproto;
0056 }
0057 namespace pb {
0058 enum CppFeatures_StringType : int;
0059 PROTOBUF_EXPORT extern const uint32_t CppFeatures_StringType_internal_data_[];
0060 class CppFeatures;
0061 struct CppFeaturesDefaultTypeInternal;
0062 PROTOBUF_EXPORT extern CppFeaturesDefaultTypeInternal _CppFeatures_default_instance_;
0063 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull CppFeatures_class_data_;
0064 }
0065 namespace google {
0066 namespace protobuf {
0067 template <>
0068 internal::EnumTraitsT<::pb::CppFeatures_StringType_internal_data_>
0069 internal::EnumTraitsImpl::value<::pb::CppFeatures_StringType>;
0070 }
0071 }
0072
0073 namespace pb {
0074 enum CppFeatures_StringType : int {
0075 CppFeatures_StringType_STRING_TYPE_UNKNOWN = 0,
0076 CppFeatures_StringType_VIEW = 1,
0077 CppFeatures_StringType_CORD = 2,
0078 CppFeatures_StringType_STRING = 3,
0079 };
0080
0081 PROTOBUF_EXPORT extern const uint32_t CppFeatures_StringType_internal_data_[];
0082 inline constexpr CppFeatures_StringType CppFeatures_StringType_StringType_MIN =
0083 static_cast<CppFeatures_StringType>(0);
0084 inline constexpr CppFeatures_StringType CppFeatures_StringType_StringType_MAX =
0085 static_cast<CppFeatures_StringType>(3);
0086 inline bool CppFeatures_StringType_IsValid(int value) {
0087 return 0 <= value && value <= 3;
0088 }
0089 inline constexpr int CppFeatures_StringType_StringType_ARRAYSIZE = 3 + 1;
0090 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL CppFeatures_StringType_descriptor();
0091 template <typename T>
0092 const ::std::string& CppFeatures_StringType_Name(T value) {
0093 static_assert(::std::is_same<T, CppFeatures_StringType>::value ||
0094 ::std::is_integral<T>::value,
0095 "Incorrect type passed to StringType_Name().");
0096 return CppFeatures_StringType_Name(static_cast<CppFeatures_StringType>(value));
0097 }
0098 template <>
0099 inline const ::std::string& CppFeatures_StringType_Name(CppFeatures_StringType value) {
0100 return ::google::protobuf::internal::NameOfDenseEnum<CppFeatures_StringType_descriptor, 0, 3>(
0101 static_cast<int>(value));
0102 }
0103 inline bool CppFeatures_StringType_Parse(
0104 ::absl::string_view name, CppFeatures_StringType* PROTOBUF_NONNULL value) {
0105 return ::google::protobuf::internal::ParseNamedEnum<CppFeatures_StringType>(CppFeatures_StringType_descriptor(), name,
0106 value);
0107 }
0108
0109
0110
0111
0112
0113
0114 class PROTOBUF_EXPORT CppFeatures final : public ::google::protobuf::Message
0115 {
0116 public:
0117 inline CppFeatures() : CppFeatures(nullptr) {}
0118 ~CppFeatures() PROTOBUF_FINAL;
0119
0120 #if defined(PROTOBUF_CUSTOM_VTABLE)
0121 void operator delete(CppFeatures* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
0122 SharedDtor(*msg);
0123 ::google::protobuf::internal::SizedDelete(msg, sizeof(CppFeatures));
0124 }
0125 #endif
0126
0127 template <typename = void>
0128 explicit PROTOBUF_CONSTEXPR CppFeatures(::google::protobuf::internal::ConstantInitialized);
0129
0130 inline CppFeatures(const CppFeatures& from) : CppFeatures(nullptr, from) {}
0131 inline CppFeatures(CppFeatures&& from) noexcept
0132 : CppFeatures(nullptr, ::std::move(from)) {}
0133 inline CppFeatures& operator=(const CppFeatures& from) {
0134 CopyFrom(from);
0135 return *this;
0136 }
0137 inline CppFeatures& operator=(CppFeatures&& from) noexcept {
0138 if (this == &from) return *this;
0139 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
0140 InternalSwap(&from);
0141 } else {
0142 CopyFrom(from);
0143 }
0144 return *this;
0145 }
0146
0147 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
0148 ABSL_ATTRIBUTE_LIFETIME_BOUND {
0149 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
0150 }
0151 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
0152 ABSL_ATTRIBUTE_LIFETIME_BOUND {
0153 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
0154 }
0155
0156 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
0157 return GetDescriptor();
0158 }
0159 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
0160 return default_instance().GetMetadata().descriptor;
0161 }
0162 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
0163 return default_instance().GetMetadata().reflection;
0164 }
0165 static const CppFeatures& default_instance() {
0166 return *reinterpret_cast<const CppFeatures*>(
0167 &_CppFeatures_default_instance_);
0168 }
0169 static constexpr int kIndexInFileMessages = 0;
0170 friend void swap(CppFeatures& a, CppFeatures& b) { a.Swap(&b); }
0171 inline void Swap(CppFeatures* PROTOBUF_NONNULL other) {
0172 if (other == this) return;
0173 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
0174 InternalSwap(other);
0175 } else {
0176 ::google::protobuf::internal::GenericSwap(this, other);
0177 }
0178 }
0179 void UnsafeArenaSwap(CppFeatures* PROTOBUF_NONNULL other) {
0180 if (other == this) return;
0181 ABSL_DCHECK(GetArena() == other->GetArena());
0182 InternalSwap(other);
0183 }
0184
0185
0186
0187 CppFeatures* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
0188 return ::google::protobuf::Message::DefaultConstruct<CppFeatures>(arena);
0189 }
0190 using ::google::protobuf::Message::CopyFrom;
0191 void CopyFrom(const CppFeatures& from);
0192 using ::google::protobuf::Message::MergeFrom;
0193 void MergeFrom(const CppFeatures& from) { CppFeatures::MergeImpl(*this, from); }
0194
0195 private:
0196 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
0197 const ::google::protobuf::MessageLite& from_msg);
0198
0199 public:
0200 bool IsInitialized() const {
0201 return true;
0202 }
0203 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
0204 #if defined(PROTOBUF_CUSTOM_VTABLE)
0205 private:
0206 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
0207 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
0208 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
0209 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
0210
0211 public:
0212 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
0213 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
0214 ::uint8_t* PROTOBUF_NONNULL target,
0215 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
0216 return _InternalSerialize(*this, target, stream);
0217 }
0218 #else
0219 ::size_t ByteSizeLong() const final;
0220 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
0221 ::uint8_t* PROTOBUF_NONNULL target,
0222 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
0223 #endif
0224 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
0225
0226 private:
0227 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
0228 static void SharedDtor(MessageLite& self);
0229 void InternalSwap(CppFeatures* PROTOBUF_NONNULL other);
0230 private:
0231 template <typename T>
0232 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
0233 static ::absl::string_view FullMessageName() { return "pb.CppFeatures"; }
0234
0235 protected:
0236 explicit CppFeatures(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
0237 CppFeatures(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CppFeatures& from);
0238 CppFeatures(
0239 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CppFeatures&& from) noexcept
0240 : CppFeatures(arena) {
0241 *this = ::std::move(from);
0242 }
0243 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
0244 static void* PROTOBUF_NONNULL PlacementNew_(
0245 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
0246 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
0247 static constexpr auto InternalNewImpl_();
0248
0249 public:
0250 static constexpr auto InternalGenerateClassData_();
0251
0252 ::google::protobuf::Metadata GetMetadata() const;
0253
0254 using StringType = CppFeatures_StringType;
0255 static constexpr StringType STRING_TYPE_UNKNOWN = CppFeatures_StringType_STRING_TYPE_UNKNOWN;
0256 static constexpr StringType VIEW = CppFeatures_StringType_VIEW;
0257 static constexpr StringType CORD = CppFeatures_StringType_CORD;
0258 static constexpr StringType STRING = CppFeatures_StringType_STRING;
0259 static inline bool StringType_IsValid(int value) {
0260 return CppFeatures_StringType_IsValid(value);
0261 }
0262 static constexpr StringType StringType_MIN = CppFeatures_StringType_StringType_MIN;
0263 static constexpr StringType StringType_MAX = CppFeatures_StringType_StringType_MAX;
0264 static constexpr int StringType_ARRAYSIZE = CppFeatures_StringType_StringType_ARRAYSIZE;
0265 static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL StringType_descriptor() {
0266 return CppFeatures_StringType_descriptor();
0267 }
0268 template <typename T>
0269 static inline const ::std::string& StringType_Name(T value) {
0270 return CppFeatures_StringType_Name(value);
0271 }
0272 static inline bool StringType_Parse(
0273 ::absl::string_view name, StringType* PROTOBUF_NONNULL value) {
0274 return CppFeatures_StringType_Parse(name, value);
0275 }
0276
0277
0278 enum : int {
0279 kStringTypeFieldNumber = 2,
0280 kLegacyClosedEnumFieldNumber = 1,
0281 kEnumNameUsesStringViewFieldNumber = 3,
0282 };
0283
0284 bool has_string_type() const;
0285 void clear_string_type() ;
0286 ::pb::CppFeatures_StringType string_type() const;
0287 void set_string_type(::pb::CppFeatures_StringType value);
0288
0289 private:
0290 ::pb::CppFeatures_StringType _internal_string_type() const;
0291 void _internal_set_string_type(::pb::CppFeatures_StringType value);
0292
0293 public:
0294
0295 bool has_legacy_closed_enum() const;
0296 void clear_legacy_closed_enum() ;
0297 bool legacy_closed_enum() const;
0298 void set_legacy_closed_enum(bool value);
0299
0300 private:
0301 bool _internal_legacy_closed_enum() const;
0302 void _internal_set_legacy_closed_enum(bool value);
0303
0304 public:
0305
0306 bool has_enum_name_uses_string_view() const;
0307 void clear_enum_name_uses_string_view() ;
0308 bool enum_name_uses_string_view() const;
0309 void set_enum_name_uses_string_view(bool value);
0310
0311 private:
0312 bool _internal_enum_name_uses_string_view() const;
0313 void _internal_set_enum_name_uses_string_view(bool value);
0314
0315 public:
0316
0317 private:
0318 class _Internal;
0319 friend class ::google::protobuf::internal::TcParser;
0320 static const ::google::protobuf::internal::TcParseTable<2, 3,
0321 1, 0,
0322 2>
0323 _table_;
0324
0325 friend class ::google::protobuf::MessageLite;
0326 friend class ::google::protobuf::Arena;
0327 template <typename T>
0328 friend class ::google::protobuf::Arena::InternalHelper;
0329 using InternalArenaConstructable_ = void;
0330 using DestructorSkippable_ = void;
0331 struct Impl_ {
0332 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
0333 inline explicit Impl_(
0334 ::google::protobuf::internal::InternalVisibility visibility,
0335 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
0336 inline explicit Impl_(
0337 ::google::protobuf::internal::InternalVisibility visibility,
0338 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
0339 const CppFeatures& from_msg);
0340 ::google::protobuf::internal::HasBits<1> _has_bits_;
0341 ::google::protobuf::internal::CachedSize _cached_size_;
0342 int string_type_;
0343 bool legacy_closed_enum_;
0344 bool enum_name_uses_string_view_;
0345 PROTOBUF_TSAN_DECLARE_MEMBER
0346 };
0347 union { Impl_ _impl_; };
0348 friend struct ::TableStruct_google_2fprotobuf_2fcpp_5ffeatures_2eproto;
0349 };
0350
0351 PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull CppFeatures_class_data_;
0352
0353
0354
0355
0356
0357 inline constexpr int kCppFieldNumber = 1000;
0358 PROTOBUF_EXPORT extern ::google::protobuf::internal::ExtensionIdentifier<
0359 ::google::protobuf::FeatureSet, ::google::protobuf::internal::MessageTypeTraits< ::pb::CppFeatures >, 11, false>
0360 cpp;
0361
0362
0363
0364
0365 #ifdef __GNUC__
0366 #pragma GCC diagnostic push
0367 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
0368 #endif
0369
0370
0371
0372
0373
0374 inline bool CppFeatures::has_legacy_closed_enum() const {
0375 bool value = (_impl_._has_bits_[0] & 0x00000002U) != 0;
0376 return value;
0377 }
0378 inline void CppFeatures::clear_legacy_closed_enum() {
0379 ::google::protobuf::internal::TSanWrite(&_impl_);
0380 _impl_.legacy_closed_enum_ = false;
0381 _impl_._has_bits_[0] &= ~0x00000002U;
0382 }
0383 inline bool CppFeatures::legacy_closed_enum() const {
0384
0385 return _internal_legacy_closed_enum();
0386 }
0387 inline void CppFeatures::set_legacy_closed_enum(bool value) {
0388 _internal_set_legacy_closed_enum(value);
0389 _impl_._has_bits_[0] |= 0x00000002U;
0390
0391 }
0392 inline bool CppFeatures::_internal_legacy_closed_enum() const {
0393 ::google::protobuf::internal::TSanRead(&_impl_);
0394 return _impl_.legacy_closed_enum_;
0395 }
0396 inline void CppFeatures::_internal_set_legacy_closed_enum(bool value) {
0397 ::google::protobuf::internal::TSanWrite(&_impl_);
0398 _impl_.legacy_closed_enum_ = value;
0399 }
0400
0401
0402 inline bool CppFeatures::has_string_type() const {
0403 bool value = (_impl_._has_bits_[0] & 0x00000001U) != 0;
0404 return value;
0405 }
0406 inline void CppFeatures::clear_string_type() {
0407 ::google::protobuf::internal::TSanWrite(&_impl_);
0408 _impl_.string_type_ = 0;
0409 _impl_._has_bits_[0] &= ~0x00000001U;
0410 }
0411 inline ::pb::CppFeatures_StringType CppFeatures::string_type() const {
0412
0413 return _internal_string_type();
0414 }
0415 inline void CppFeatures::set_string_type(::pb::CppFeatures_StringType value) {
0416 _internal_set_string_type(value);
0417 _impl_._has_bits_[0] |= 0x00000001U;
0418
0419 }
0420 inline ::pb::CppFeatures_StringType CppFeatures::_internal_string_type() const {
0421 ::google::protobuf::internal::TSanRead(&_impl_);
0422 return static_cast<::pb::CppFeatures_StringType>(_impl_.string_type_);
0423 }
0424 inline void CppFeatures::_internal_set_string_type(::pb::CppFeatures_StringType value) {
0425 ::google::protobuf::internal::TSanWrite(&_impl_);
0426
0427 assert(::google::protobuf::internal::ValidateEnum(
0428 value, ::pb::CppFeatures_StringType_internal_data_));
0429 _impl_.string_type_ = value;
0430 }
0431
0432
0433 inline bool CppFeatures::has_enum_name_uses_string_view() const {
0434 bool value = (_impl_._has_bits_[0] & 0x00000004U) != 0;
0435 return value;
0436 }
0437 inline void CppFeatures::clear_enum_name_uses_string_view() {
0438 ::google::protobuf::internal::TSanWrite(&_impl_);
0439 _impl_.enum_name_uses_string_view_ = false;
0440 _impl_._has_bits_[0] &= ~0x00000004U;
0441 }
0442 inline bool CppFeatures::enum_name_uses_string_view() const {
0443
0444 return _internal_enum_name_uses_string_view();
0445 }
0446 inline void CppFeatures::set_enum_name_uses_string_view(bool value) {
0447 _internal_set_enum_name_uses_string_view(value);
0448 _impl_._has_bits_[0] |= 0x00000004U;
0449
0450 }
0451 inline bool CppFeatures::_internal_enum_name_uses_string_view() const {
0452 ::google::protobuf::internal::TSanRead(&_impl_);
0453 return _impl_.enum_name_uses_string_view_;
0454 }
0455 inline void CppFeatures::_internal_set_enum_name_uses_string_view(bool value) {
0456 ::google::protobuf::internal::TSanWrite(&_impl_);
0457 _impl_.enum_name_uses_string_view_ = value;
0458 }
0459
0460 #ifdef __GNUC__
0461 #pragma GCC diagnostic pop
0462 #endif
0463
0464
0465 }
0466
0467
0468 namespace google {
0469 namespace protobuf {
0470
0471 template <>
0472 struct is_proto_enum<::pb::CppFeatures_StringType> : std::true_type {};
0473 template <>
0474 inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::pb::CppFeatures_StringType>() {
0475 return ::pb::CppFeatures_StringType_descriptor();
0476 }
0477
0478 }
0479 }
0480
0481
0482
0483 #include "google/protobuf/port_undef.inc"
0484
0485 #endif