Go to the documentation of this file.
38 #ifndef GOOGLE_PROTOBUF_EXTENSION_SET_H__
39 #define GOOGLE_PROTOBUF_EXTENSION_SET_H__
56 #include <google/protobuf/port_def.inc>
59 #error "You cannot SWIG proto headers"
73 class CodedInputStream;
74 class CodedOutputStream;
86 class InternalMetadataWithArenaLite;
152 : containing_type_(containing_type) {}
193 static void RegisterEnumExtension(
const MessageLite* containing_type,
195 bool is_repeated,
bool is_packed,
197 static void RegisterMessageExtension(
const MessageLite* containing_type,
199 bool is_repeated,
bool is_packed,
206 void AppendToList(
const Descriptor* containing_type,
208 std::vector<const FieldDescriptor*>*
output)
const;
240 bool Has(
int number)
const;
241 int ExtensionSize(
int number)
const;
242 int NumExtensions()
const;
266 #define desc const FieldDescriptor* descriptor // avoid line wrapping
306 const void* GetRawRepeatedField(
int number,
const void* default_value)
const;
317 void* MutableRawRepeatedField(
int number);
323 float GetRepeatedFloat(
int number,
int index)
const;
324 double GetRepeatedDouble(
int number,
int index)
const;
342 #define desc const FieldDescriptor* descriptor // avoid line wrapping
354 const MessageLite& prototype,
desc);
356 MessageFactory* factory);
358 MessageLite* new_entry);
361 void RemoveLast(
int number);
362 MessageLite* ReleaseLast(
int number);
363 void SwapElements(
int number,
int index1,
int index2);
375 void MergeFrom(
const ExtensionSet& other);
376 void Swap(ExtensionSet* other);
377 void SwapExtension(ExtensionSet* other,
int number);
382 bool ParseField(
uint32 tag, io::CodedInputStream*
input,
383 ExtensionFinder* extension_finder,
384 FieldSkipper* field_skipper);
392 bool ParseField(
uint32 tag, io::CodedInputStream*
input,
393 const MessageLite* containing_type);
394 bool ParseField(
uint32 tag, io::CodedInputStream*
input,
395 const Message* containing_type,
397 bool ParseField(
uint32 tag, io::CodedInputStream*
input,
398 const MessageLite* containing_type,
399 io::CodedOutputStream* unknown_fields);
401 #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
403 const char* ParseField(
uint64 tag,
const char* ptr,
404 const MessageLite* containing_type,
405 internal::InternalMetadataWithArenaLite*
metadata,
406 internal::ParseContext* ctx);
408 const char* ParseField(
uint64 tag,
const char* ptr,
409 const Message* containing_type,
410 internal::InternalMetadataWithArena*
metadata,
411 internal::ParseContext* ctx);
412 template <
typename Msg,
typename Metadata>
413 const char* ParseMessageSet(
const char* ptr,
const Msg* containing_type,
414 Metadata*
metadata, internal::ParseContext* ctx) {
415 struct MessageSetItem {
417 return me->ParseMessageSetItem(ptr, containing_type,
metadata, ctx);
420 const Msg* containing_type;
423 while (!ctx->Done(&ptr)) {
428 ptr = ctx->ParseGroup(&
item, ptr, tag);
431 if (tag == 0 || (tag & 7) == 4) {
432 ctx->SetLastTag(tag);
435 ptr = ParseField(tag, ptr, containing_type,
metadata, ctx);
445 bool ParseMessageSetLite(io::CodedInputStream*
input,
446 ExtensionFinder* extension_finder,
447 FieldSkipper* field_skipper);
448 bool ParseMessageSet(io::CodedInputStream*
input,
449 ExtensionFinder* extension_finder,
450 MessageSetFieldSkipper* field_skipper);
454 bool ParseMessageSet(io::CodedInputStream*
input,
455 const MessageLite* containing_type,
457 bool ParseMessageSet(io::CodedInputStream*
input,
458 const Message* containing_type,
465 void SerializeWithCachedSizes(
int start_field_number,
int end_field_number,
466 io::CodedOutputStream*
output)
const;
473 uint8* InternalSerializeWithCachedSizesToArray(
int start_field_number,
474 int end_field_number,
478 void SerializeMessageSetWithCachedSizes(io::CodedOutputStream*
output)
const;
479 uint8* InternalSerializeMessageSetWithCachedSizesToArray(
uint8*
target)
const;
484 uint8* SerializeWithCachedSizesToArray(
int start_field_number,
485 int end_field_number,
493 size_t MessageSetByteSize()
const;
502 size_t SpaceUsedExcludingSelfLong()
const;
509 int SpaceUsedExcludingSelf()
const;
530 PROTOBUF_DEPRECATED_MSG(
"Please use ByteSizeLong() instead")
532 virtual size_t ByteSizeLong()
const = 0;
533 virtual size_t SpaceUsedLong()
const = 0;
536 virtual void Clear() = 0;
538 virtual bool ReadMessage(
const MessageLite& prototype,
540 #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
543 virtual void WriteMessage(
int number,
548 virtual void UnusedKeyMethod();
612 void SerializeFieldWithCachedSizes(
int number,
614 uint8* InternalSerializeFieldWithCachedSizesToArray(
int number,
616 void SerializeMessageSetItemWithCachedSizes(
618 uint8* InternalSerializeMessageSetItemWithCachedSizesToArray(
625 size_t SpaceUsedExcludingSelfLong()
const;
667 std::pair<Extension*, bool>
Insert(
int key);
671 void GrowCapacity(
size_t minimum_new_capacity);
672 static constexpr
uint16 kMaximumFlatCapacity = 256;
673 bool is_large()
const {
return flat_capacity_ > kMaximumFlatCapacity; }
679 return PROTOBUF_PREDICT_FALSE(is_large()) ? map_.large->size() : flat_size_;
685 template <
typename Iterator,
typename KeyValueFunctor>
687 KeyValueFunctor
func) {
689 return std::move(
func);
693 template <
typename KeyValueFunctor>
695 if (PROTOBUF_PREDICT_FALSE(is_large())) {
696 return ForEach(map_.large->begin(), map_.large->end(), std::move(
func));
698 return ForEach(flat_begin(), flat_end(), std::move(
func));
702 template <
typename KeyValueFunctor>
704 if (PROTOBUF_PREDICT_FALSE(is_large())) {
705 return ForEach(map_.large->begin(), map_.large->end(), std::move(
func));
707 return ForEach(flat_begin(), flat_end(), std::move(
func));
711 void InternalExtensionMergeFrom(
int number,
const Extension& other_extension);
719 bool* was_packed_on_wire);
725 bool FindExtensionInfoFromFieldNumber(
int wire_type,
int field_number,
728 bool* was_packed_on_wire);
734 bool ParseFieldWithExtensionInfo(
int field_number,
bool was_packed_on_wire,
741 bool ParseFieldMaybeLazily(
int wire_type,
int field_number,
766 #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
772 return FindExtensionInfoFromFieldNumber(wire_type,
field, &finder,
775 inline bool FindExtension(
int wire_type,
uint32 field,
776 const Message* containing_type,
778 ExtensionInfo*
extension,
bool* was_packed_on_wire);
780 const char* ParseFieldMaybeLazily(
785 return ParseField(tag, ptr, containing_type,
metadata, ctx);
787 const char* ParseFieldMaybeLazily(
788 uint64 tag,
const char* ptr,
const Message* containing_type,
789 internal::InternalMetadataWithArena*
metadata,
790 internal::ParseContext* ctx);
791 const char* ParseMessageSetItem(
792 const char* ptr,
const MessageLite* containing_type,
793 internal::InternalMetadataWithArenaLite*
metadata,
794 internal::ParseContext* ctx);
795 const char* ParseMessageSetItem(
const char* ptr,
796 const Message* containing_type,
797 internal::InternalMetadataWithArena*
metadata,
798 internal::ParseContext* ctx);
801 template <
typename T>
802 const char* ParseFieldWithExtensionInfo(
int number,
bool was_packed_on_wire,
803 const ExtensionInfo& info,
805 internal::ParseContext* ctx);
806 template <
typename Msg,
typename Metadata>
807 const char* ParseMessageSetItemTmpl(
const char* ptr,
808 const Msg* containing_type,
810 internal::ParseContext* ctx);
811 #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
820 static inline size_t RepeatedMessage_SpaceUsedExcludingSelfLong(
821 RepeatedPtrFieldBase*
field);
833 return map_.flat + flat_size_;
837 return map_.flat + flat_size_;
855 static void DeleteFlatMap(
const KeyValue* flat,
uint16 flat_capacity);
939 template <
typename Type>
950 template <
typename ExtendeeT>
953 type,
false, is_packed);
957 template <
typename Type>
979 template <
typename ExtendeeT>
982 type,
true, is_packed);
988 template <
typename Type>
1000 #define PROTOBUF_DEFINE_PRIMITIVE_TYPE(TYPE, METHOD) \
1002 inline TYPE PrimitiveTypeTraits<TYPE>::Get( \
1003 int number, const ExtensionSet& set, TYPE default_value) { \
1004 return set.Get##METHOD(number, default_value); \
1007 inline void PrimitiveTypeTraits<TYPE>::Set(int number, FieldType field_type, \
1008 TYPE value, ExtensionSet* set) { \
1009 set->Set##METHOD(number, field_type, value, NULL); \
1013 inline TYPE RepeatedPrimitiveTypeTraits<TYPE>::Get( \
1014 int number, const ExtensionSet& set, int index) { \
1015 return set.GetRepeated##METHOD(number, index); \
1018 inline void RepeatedPrimitiveTypeTraits<TYPE>::Set( \
1019 int number, int index, TYPE value, ExtensionSet* set) { \
1020 set->SetRepeated##METHOD(number, index, value); \
1023 inline void RepeatedPrimitiveTypeTraits<TYPE>::Add( \
1024 int number, FieldType field_type, bool is_packed, TYPE value, \
1025 ExtensionSet* set) { \
1026 set->Add##METHOD(number, field_type, is_packed, value, NULL); \
1029 inline const RepeatedField<TYPE>* \
1030 RepeatedPrimitiveTypeTraits<TYPE>::GetDefaultRepeatedField() { \
1031 return &RepeatedPrimitiveDefaults::default_instance() \
1032 ->default_repeated_field_##TYPE##_; \
1035 inline const RepeatedField<TYPE>& \
1036 RepeatedPrimitiveTypeTraits<TYPE>::GetRepeated(int number, \
1037 const ExtensionSet& set) { \
1038 return *reinterpret_cast<const RepeatedField<TYPE>*>( \
1039 set.GetRawRepeatedField(number, GetDefaultRepeatedField())); \
1042 inline RepeatedField<TYPE>* \
1043 RepeatedPrimitiveTypeTraits<TYPE>::MutableRepeated( \
1044 int number, FieldType field_type, bool is_packed, ExtensionSet* set) { \
1045 return reinterpret_cast<RepeatedField<TYPE>*>( \
1046 set->MutableRawRepeatedField(number, field_type, is_packed, NULL)); \
1057 #undef PROTOBUF_DEFINE_PRIMITIVE_TYPE
1070 ConstType default_value) {
1081 template <
typename ExtendeeT>
1084 type,
false, is_packed);
1118 set.GetRawRepeatedField(
number, GetDefaultRepeatedField()));
1127 static const RepeatedFieldType* GetDefaultRepeatedField();
1129 template <
typename ExtendeeT>
1132 type,
true, is_packed);
1136 static void InitializeDefaultRepeatedFields();
1137 static void DestroyDefaultRepeatedFields();
1145 template <
typename Type,
bool IsVal
id(
int)>
1161 template <
typename ExtendeeT>
1164 type,
false, is_packed, IsValid);
1168 template <
typename Type,
bool IsVal
id(
int)>
1218 template <
typename ExtendeeT>
1221 type,
true, is_packed, IsValid);
1231 template <
typename Type>
1244 return static_cast<Type*
>(
set->MutableMessage(
1258 return static_cast<Type*
>(
1264 return static_cast<Type*
>(
1267 template <
typename ExtendeeT>
1276 class RepeatedMessageGenericTypeTraits;
1278 template <
typename Type>
1295 return static_cast<Type*
>(
1317 template <
typename ExtendeeT>
1325 template <
typename Type>
1366 TypeTraits::template Register<ExtendeeType>(
number,
field_type, is_packed);
1387 #define GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(CLASSNAME) \
1389 template <typename _proto_TypeTraits, \
1390 ::PROTOBUF_NAMESPACE_ID::internal::FieldType _field_type, \
1392 inline bool HasExtension( \
1393 const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< \
1394 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) const { \
1395 return _extensions_.Has(id.number()); \
1398 template <typename _proto_TypeTraits, \
1399 ::PROTOBUF_NAMESPACE_ID::internal::FieldType _field_type, \
1401 inline void ClearExtension( \
1402 const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< \
1403 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) { \
1404 _extensions_.ClearExtension(id.number()); \
1407 template <typename _proto_TypeTraits, \
1408 ::PROTOBUF_NAMESPACE_ID::internal::FieldType _field_type, \
1410 inline int ExtensionSize( \
1411 const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< \
1412 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) const { \
1413 return _extensions_.ExtensionSize(id.number()); \
1417 template <typename _proto_TypeTraits, \
1418 ::PROTOBUF_NAMESPACE_ID::internal::FieldType _field_type, \
1420 inline typename _proto_TypeTraits::Singular::ConstType GetExtension( \
1421 const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< \
1422 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) const { \
1423 return _proto_TypeTraits::Get(id.number(), _extensions_, \
1424 id.default_value()); \
1427 template <typename _proto_TypeTraits, \
1428 ::PROTOBUF_NAMESPACE_ID::internal::FieldType _field_type, \
1430 inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( \
1431 const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< \
1432 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) { \
1433 return _proto_TypeTraits::Mutable(id.number(), _field_type, \
1437 template <typename _proto_TypeTraits, \
1438 ::PROTOBUF_NAMESPACE_ID::internal::FieldType _field_type, \
1440 inline void SetExtension( \
1441 const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< \
1442 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \
1443 typename _proto_TypeTraits::Singular::ConstType value) { \
1444 _proto_TypeTraits::Set(id.number(), _field_type, value, &_extensions_); \
1447 template <typename _proto_TypeTraits, \
1448 ::PROTOBUF_NAMESPACE_ID::internal::FieldType _field_type, \
1450 inline void SetAllocatedExtension( \
1451 const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< \
1452 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \
1453 typename _proto_TypeTraits::Singular::MutableType value) { \
1454 _proto_TypeTraits::SetAllocated(id.number(), _field_type, value, \
1457 template <typename _proto_TypeTraits, \
1458 ::PROTOBUF_NAMESPACE_ID::internal::FieldType _field_type, \
1460 inline void UnsafeArenaSetAllocatedExtension( \
1461 const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< \
1462 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \
1463 typename _proto_TypeTraits::Singular::MutableType value) { \
1464 _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, \
1465 value, &_extensions_); \
1467 template <typename _proto_TypeTraits, \
1468 ::PROTOBUF_NAMESPACE_ID::internal::FieldType _field_type, \
1470 inline typename _proto_TypeTraits::Singular::MutableType ReleaseExtension( \
1471 const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< \
1472 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) { \
1473 return _proto_TypeTraits::Release(id.number(), _field_type, \
1476 template <typename _proto_TypeTraits, \
1477 ::PROTOBUF_NAMESPACE_ID::internal::FieldType _field_type, \
1479 inline typename _proto_TypeTraits::Singular::MutableType \
1480 UnsafeArenaReleaseExtension( \
1481 const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< \
1482 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) { \
1483 return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, \
1488 template <typename _proto_TypeTraits, \
1489 ::PROTOBUF_NAMESPACE_ID::internal::FieldType _field_type, \
1491 inline typename _proto_TypeTraits::Repeated::ConstType GetExtension( \
1492 const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< \
1493 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \
1494 int index) const { \
1495 return _proto_TypeTraits::Get(id.number(), _extensions_, index); \
1498 template <typename _proto_TypeTraits, \
1499 ::PROTOBUF_NAMESPACE_ID::internal::FieldType _field_type, \
1501 inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( \
1502 const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< \
1503 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \
1505 return _proto_TypeTraits::Mutable(id.number(), index, &_extensions_); \
1508 template <typename _proto_TypeTraits, \
1509 ::PROTOBUF_NAMESPACE_ID::internal::FieldType _field_type, \
1511 inline void SetExtension( \
1512 const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< \
1513 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \
1514 int index, typename _proto_TypeTraits::Repeated::ConstType value) { \
1515 _proto_TypeTraits::Set(id.number(), index, value, &_extensions_); \
1518 template <typename _proto_TypeTraits, \
1519 ::PROTOBUF_NAMESPACE_ID::internal::FieldType _field_type, \
1521 inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( \
1522 const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< \
1523 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) { \
1524 return _proto_TypeTraits::Add(id.number(), _field_type, &_extensions_); \
1527 template <typename _proto_TypeTraits, \
1528 ::PROTOBUF_NAMESPACE_ID::internal::FieldType _field_type, \
1530 inline void AddExtension( \
1531 const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< \
1532 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \
1533 typename _proto_TypeTraits::Repeated::ConstType value) { \
1534 _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value, \
1538 template <typename _proto_TypeTraits, \
1539 ::PROTOBUF_NAMESPACE_ID::internal::FieldType _field_type, \
1541 inline const typename _proto_TypeTraits::Repeated::RepeatedFieldType& \
1542 GetRepeatedExtension( \
1543 const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< \
1544 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) const { \
1545 return _proto_TypeTraits::GetRepeated(id.number(), _extensions_); \
1548 template <typename _proto_TypeTraits, \
1549 ::PROTOBUF_NAMESPACE_ID::internal::FieldType _field_type, \
1551 inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* \
1552 MutableRepeatedExtension( \
1553 const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< \
1554 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) { \
1555 return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, \
1556 _is_packed, &_extensions_); \
1583 template <
typename ExtendeeType,
typename TypeTraitsType,
1588 const void*
volatile unused = &
extension;
1595 #include <google/protobuf/port_undef.inc>
1597 #endif // GOOGLE_PROTOBUF_EXTENSION_SET_H__
static void Set(int number, FieldType field_type, ConstType value, ExtensionSet *set)
static MutableType Mutable(int number, int index, ExtensionSet *set)
RepeatedField< uint64 > * repeated_uint64_value
unsigned long long int UInt64
static void Set(int number, FieldType field_type, const std::string &value, ExtensionSet *set)
static ConstType Get(int number, const ExtensionSet &set, ConstType default_value)
bool EnumValidityFuncWithArg(const void *arg, int number)
int Find(PyContainer *self, PyObject *item)
std::string * MutableString(int number, FieldType type, desc)
KeyValueFunctor ForEach(KeyValueFunctor func) const
#define GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(TypeName)
ExtensionIdentifier(int number, typename TypeTraits::ConstType default_value)
static const RepeatedPtrField< std::string > & GetRepeated(int number, const ExtensionSet &set)
static void Register(int number, FieldType type, bool is_packed)
const Descriptor::ReservedRange const EnumValueDescriptor const MethodDescriptor extension
MessageLite * message_value
RepeatedField< uint32 > default_repeated_field_uint32_
static void Register(int number, FieldType type, bool is_packed)
zend_class_entry * field_type
static void Register(int number, FieldType type, bool is_packed)
EnumValidityCheck enum_validity_check
static void Register(int number, FieldType type, bool is_packed)
static const RepeatedFieldType * GetDefaultRepeatedField()
std::unique_ptr< Arena > arena_
ExtensionInfo(FieldType type_param, bool isrepeated, bool ispacked)
std::string * MutableType
RepeatedField< uint32 > * repeated_uint32_value
RepeatedPrimitiveTypeTraits< Type > Repeated
static void Set(int number, int index, ConstType value, ExtensionSet *set)
GeneratedExtensionFinder(const MessageLite *containing_type)
#define PROTOBUF_DEFINE_PRIMITIVE_TYPE(TYPE, METHOD)
RepeatedField< bool > * repeated_bool_value
static void UnsafeArenaSetAllocated(int number, FieldType field_type, MutableType message, ExtensionSet *set)
static MutableType UnsafeArenaRelease(int number, FieldType, ExtensionSet *set)
GLsizei const GLchar *const * string
RepeatedMessageTypeTraits< Type > Repeated
static void Register(int number, FieldType type, bool is_packed)
static const Type & default_instance()
static MutableType Release(int number, FieldType, ExtensionSet *set)
static void Set(int number, FieldType field_type, ConstType value, ExtensionSet *set)
static PyObject * UnknownFieldSet(CMessage *self)
TypeWithSize< 4 >::Int Int32
#define T(upbtypeconst, upbtype, ctype, default_value)
static void Register(int number, FieldType type, bool is_packed)
static void Register(int number, FieldType type, bool is_packed)
static const RepeatedFieldType * GetDefaultRepeatedField()
static RepeatedPtrField< Type > * MutableRepeated(int number, FieldType field_type, bool is_packed, ExtensionSet *set)
const FieldDescriptor * descriptor
MessageTypeTraits< Type > Singular
static RepeatedPtrField< std::string > * MutableRepeated(int number, FieldType field_type, bool is_packed, ExtensionSet *set)
const typedef std::string & ConstType
LazyMessageExtension * lazymessage_value
RepeatedField< Type > RepeatedFieldType
FloatingPoint< double > Double
RepeatedPtrField< std::string > * repeated_string_value
virtual ~LazyMessageExtension()
TypeWithSize< 4 >::UInt UInt32
T * OnShutdownDelete(T *p)
zend_class_entry * message_type
RepeatedField< int32 > default_repeated_field_int32_
static PyObject * AddMessage(RepeatedCompositeContainer *self, PyObject *value)
static size_t begin(const upb_table *t)
RepeatedField< double > default_repeated_field_double_
RepeatedPtrField< Type > RepeatedFieldType
static void Add(int number, FieldType field_type, bool is_packed, ConstType value, ExtensionSet *set)
const Collection::value_type::second_type * FindOrNull(const Collection &collection, const typename Collection::value_type::first_type &key)
RepeatedField< int32 > * repeated_int32_value
RepeatedField< double > * repeated_double_value
static const std::string & Get(int number, const ExtensionSet &set, ConstType default_value)
void SetRepeatedString(int number, int index, const std::string &value)
static void Add(int number, FieldType field_type, bool is_packed, Type value, ExtensionSet *set)
RepeatedPtrField< MessageLite > * repeated_message_value
static void RegisterEnumExtension(const MessageLite *containing_type, int number, FieldType type, bool is_repeated, bool is_packed, EnumValidityFunc *is_valid)
WireFormatLite::FieldType field_type(FieldType type)
RepeatedField< bool > default_repeated_field_bool_
RepeatedField< float > * repeated_float_value
static const std::string & Get(int number, const ExtensionSet &set, int index)
std::string * MutableRepeatedString(int number, int index)
static const RepeatedField< ConstType > & GetRepeated(int number, const ExtensionSet &set)
int ToIntSize(size_t size)
FloatingPoint< float > Float
RepeatedField< uint64 > default_repeated_field_uint64_
static KeyValueFunctor ForEach(Iterator begin, Iterator end, KeyValueFunctor func)
StringTypeTraits Singular
const typedef Type & ConstType
static PyObject * New(PyTypeObject *type, PyObject *args, PyObject *kwargs)
void SetString(int number, FieldType type, const std::string &value, desc)
void AddString(int number, FieldType type, const std::string &value, desc)
RepeatedStringTypeTraits Repeated
const typedef Type & ConstType
const MessageLite * prototype
static std::string * Mutable(int number, FieldType field_type, ExtensionSet *set)
Arena * GetArenaNoVirtual() const
void LinkExtensionReflection(const google::protobuf::internal::ExtensionIdentifier< ExtendeeType, TypeTraitsType, field_type, is_packed > &extension)
bool operator()(int key, const KeyValue &rhs) const
static void RegisterExtension(const MessageLite *containing_type, int number, FieldType type, bool is_repeated, bool is_packed)
static const RepeatedFieldType * GetDefaultRepeatedField()
EnumTypeTraits< Type, IsValid > Singular
const FieldDescriptor * descriptor
static ConstType Get(int number, const ExtensionSet &set, int index)
std::string * MutableType
TypeTraits::ConstType default_value() const
const FieldDescriptor * field
static ConstType Get(int number, const ExtensionSet &set, ConstType default_value)
const SETUP_TEARDOWN_TESTCONTEXT char * key
const typedef std::string & ConstType
InternalDescriptorPool * pool
typedef void(APIENTRY *GLDEBUGPROCARB)(GLenum source
std::map< int, Extension > LargeMap
static ConstType Get(int number, const ExtensionSet &set, int index)
static std::string * Add(int number, FieldType field_type, ExtensionSet *set)
static std::string * Mutable(int number, int index, ExtensionSet *set)
RepeatedField< int > * repeated_enum_value
static ConstType Get(int number, const ExtensionSet &set, ConstType default_value)
static MutableType Add(int number, FieldType field_type, ExtensionSet *set)
std::string * string_value
static void Add(int number, FieldType field_type, bool, const std::string &value, ExtensionSet *set)
EnumDescriptorProto * AddEnum(FileDescriptorProto *file, const std::string &name)
virtual ~GeneratedExtensionFinder()
static MutableType Mutable(int number, FieldType field_type, ExtensionSet *set)
RepeatedField< float > default_repeated_field_float_
static Type Get(int number, const ExtensionSet &set, int index)
static void Register(int number, FieldType type, bool is_packed)
RepeatedField< int64 > * repeated_int64_value
bool operator()(const KeyValue &lhs, const KeyValue &rhs) const
static RepeatedField< Type > * MutableRepeated(int number, FieldType field_type, bool is_packed, ExtensionSet *set)
RepeatedEnumTypeTraits< Type, IsValid > Repeated
static void Set(int number, int index, Type value, ExtensionSet *set)
static void RegisterMessageExtension(const MessageLite *containing_type, int number, FieldType type, bool is_repeated, bool is_packed, const MessageLite *prototype)
RepeatedPtrField< std::string > RepeatedFieldType
const MessageLite * containing_type_
const KeyValue * flat_begin() const
static void Register(int number)
TypeTraitsType TypeTraits
static const RepeatedPtrField< Type > & GetRepeated(int number, const ExtensionSet &set)
TypeTraits::ConstType default_value_
RepeatedField< int64 > default_repeated_field_int64_
const char * ReadTag(const char *p, uint32 *out)
static PyObject * Insert(PyObject *pself, PyObject *args)
static const RepeatedField< Type > & GetRepeated(int number, const ExtensionSet &set)
bool EnumValidityFunc(int number)
GLsizei const GLfloat * value
bool operator()(const KeyValue &lhs, int key) const
const upb_json_parsermethod const upb_symtab upb_sink * output
PrimitiveTypeTraits< Type > Singular
static void Set(int number, int index, const std::string &value, ExtensionSet *set)
static void SetAllocated(int number, FieldType field_type, MutableType message, ExtensionSet *set)
KeyValueFunctor ForEach(KeyValueFunctor func)
RepeatedField< Type > RepeatedFieldType
GLenum GLuint GLenum GLsizei const GLchar * message
static RepeatedField< Type > * MutableRepeated(int number, FieldType field_type, bool is_packed, ExtensionSet *set)
#define GOOGLE_PROTOBUF_PARSER_ASSERT(predicate)
const KeyValue * flat_end() const
EnumValidityFuncWithArg * func
libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:51