38 #ifndef GOOGLE_PROTOBUF_EXTENSION_SET_H__ 39 #define GOOGLE_PROTOBUF_EXTENSION_SET_H__ 63 class UnknownFieldSet;
65 class CodedInputStream;
66 class CodedOutputStream;
94 inline ExtensionInfo(FieldType type_param,
bool isrepeated,
bool ispacked)
95 :
type(type_param), is_repeated(isrepeated), is_packed(ispacked),
133 : containing_type_(containing_type) {}
173 bool is_repeated,
bool is_packed);
174 static void RegisterEnumExtension(
const MessageLite* containing_type,
175 int number, FieldType type,
176 bool is_repeated,
bool is_packed,
178 static void RegisterMessageExtension(
const MessageLite* containing_type,
179 int number, FieldType type,
180 bool is_repeated,
bool is_packed,
187 void AppendToList(
const Descriptor* containing_type,
189 std::vector<const FieldDescriptor*>*
output)
const;
221 bool Has(
int number)
const;
222 int ExtensionSize(
int number)
const;
223 int NumExtensions()
const;
229 int32 GetInt32 (
int number,
int32 default_value)
const;
230 int64 GetInt64 (
int number,
int64 default_value)
const;
231 uint32 GetUInt32(
int number,
uint32 default_value)
const;
232 uint64 GetUInt64(
int number,
uint64 default_value)
const;
233 float GetFloat (
int number,
float default_value)
const;
234 double GetDouble(
int number,
double default_value)
const;
235 bool GetBool (
int number,
bool default_value)
const;
236 int GetEnum (
int number,
int default_value)
const;
237 const string &
GetString (
int number,
const string& default_value)
const;
246 #define desc const FieldDescriptor* descriptor // avoid line wrapping 248 void SetInt64 (
int number, FieldType type,
int64 value,
desc);
249 void SetUInt32(
int number, FieldType type,
uint32 value,
desc);
250 void SetUInt64(
int number, FieldType type,
uint64 value,
desc);
251 void SetFloat (
int number, FieldType type,
float value,
desc);
252 void SetDouble(
int number, FieldType type,
double value,
desc);
253 void SetBool (
int number, FieldType type,
bool value,
desc);
254 void SetEnum (
int number, FieldType type,
int value,
desc);
255 void SetString(
int number, FieldType type,
const string& value,
desc);
256 string * MutableString (
int number, FieldType type,
desc);
257 MessageLite* MutableMessage(
int number, FieldType type,
264 void SetAllocatedMessage(
int number, FieldType type,
267 void UnsafeArenaSetAllocatedMessage(
int number, FieldType type,
284 const void* GetRawRepeatedField(
int number,
const void* default_value)
const;
288 void* MutableRawRepeatedField(
int number, FieldType
field_type,
295 void* MutableRawRepeatedField(
int number);
297 int32 GetRepeatedInt32 (
int number,
int index)
const;
298 int64 GetRepeatedInt64 (
int number,
int index)
const;
299 uint32 GetRepeatedUInt32(
int number,
int index)
const;
300 uint64 GetRepeatedUInt64(
int number,
int index)
const;
301 float GetRepeatedFloat (
int number,
int index)
const;
302 double GetRepeatedDouble(
int number,
int index)
const;
303 bool GetRepeatedBool (
int number,
int index)
const;
304 int GetRepeatedEnum (
int number,
int index)
const;
305 const string & GetRepeatedString (
int number,
int index)
const;
306 const MessageLite& GetRepeatedMessage(
int number,
int index)
const;
308 void SetRepeatedInt32 (
int number,
int index,
int32 value);
309 void SetRepeatedInt64 (
int number,
int index,
int64 value);
310 void SetRepeatedUInt32(
int number,
int index,
uint32 value);
311 void SetRepeatedUInt64(
int number,
int index,
uint64 value);
312 void SetRepeatedFloat (
int number,
int index,
float value);
313 void SetRepeatedDouble(
int number,
int index,
double value);
314 void SetRepeatedBool (
int number,
int index,
bool value);
315 void SetRepeatedEnum (
int number,
int index,
int value);
316 void SetRepeatedString(
int number,
int index,
const string& value);
317 string * MutableRepeatedString (
int number,
int index);
318 MessageLite* MutableRepeatedMessage(
int number,
int index);
320 #define desc const FieldDescriptor* descriptor // avoid line wrapping 321 void AddInt32 (
int number, FieldType type,
bool packed,
int32 value, desc);
322 void AddInt64 (
int number, FieldType type,
bool packed,
int64 value, desc);
323 void AddUInt32(
int number, FieldType type,
bool packed,
uint32 value, desc);
324 void AddUInt64(
int number, FieldType type,
bool packed,
uint64 value, desc);
325 void AddFloat (
int number, FieldType type,
bool packed,
float value, desc);
326 void AddDouble(
int number, FieldType type,
bool packed,
double value, desc);
327 void AddBool (
int number, FieldType type,
bool packed,
bool value, desc);
328 void AddEnum (
int number, FieldType type,
bool packed,
int value, desc);
329 void AddString(
int number, FieldType type,
const string& value, desc);
330 string * AddString (
int number, FieldType type, desc);
331 MessageLite*
AddMessage(
int number, FieldType type,
332 const MessageLite& prototype, desc);
334 MessageFactory* factory);
336 MessageLite* new_entry);
339 void RemoveLast(
int number);
340 MessageLite* ReleaseLast(
int number);
341 void SwapElements(
int number,
int index1,
int index2);
353 void MergeFrom(
const ExtensionSet& other);
354 void Swap(ExtensionSet* other);
355 void SwapExtension(ExtensionSet* other,
int number);
361 ExtensionFinder* extension_finder,
362 FieldSkipper* field_skipper);
371 const MessageLite* containing_type);
373 const Message* containing_type,
374 UnknownFieldSet* unknown_fields);
376 const MessageLite* containing_type,
377 io::CodedOutputStream* unknown_fields);
381 bool ParseMessageSet(io::CodedInputStream*
input,
382 ExtensionFinder* extension_finder,
383 MessageSetFieldSkipper* field_skipper);
387 bool ParseMessageSet(io::CodedInputStream*
input,
388 const MessageLite* containing_type);
389 bool ParseMessageSet(io::CodedInputStream*
input,
390 const Message* containing_type,
391 UnknownFieldSet* unknown_fields);
397 void SerializeWithCachedSizes(
int start_field_number,
398 int end_field_number,
399 io::CodedOutputStream* output)
const;
406 uint8* SerializeWithCachedSizesToArray(
int start_field_number,
407 int end_field_number,
411 void SerializeMessageSetWithCachedSizes(io::CodedOutputStream* output)
const;
418 int MessageSetByteSize()
const;
427 int SpaceUsedExcludingSelf()
const;
434 LazyMessageExtension() {}
435 virtual ~LazyMessageExtension() {}
438 virtual const MessageLite& GetMessage(
439 const MessageLite& prototype)
const = 0;
440 virtual MessageLite* MutableMessage(
const MessageLite& prototype) = 0;
441 virtual void SetAllocatedMessage(MessageLite *message) = 0;
442 virtual void UnsafeArenaSetAllocatedMessage(MessageLite *message) = 0;
443 virtual MessageLite*
ReleaseMessage(
const MessageLite& prototype) = 0;
444 virtual MessageLite* UnsafeArenaReleaseMessage(
445 const MessageLite& prototype) = 0;
449 virtual int SpaceUsed()
const = 0;
451 virtual void MergeFrom(
const LazyMessageExtension& other) = 0;
452 virtual void Clear() = 0;
454 virtual bool ReadMessage(
const MessageLite& prototype,
455 io::CodedInputStream*
input) = 0;
456 virtual void WriteMessage(
int number,
457 io::CodedOutputStream* output)
const = 0;
474 string* string_value;
475 MessageLite* message_value;
476 LazyMessageExtension* lazymessage_value;
486 RepeatedPtrField<string >* repeated_string_value;
487 RepeatedPtrField<MessageLite>* repeated_message_value;
514 mutable int cached_size;
522 void SerializeFieldWithCachedSizes(
524 io::CodedOutputStream* output)
const;
525 uint8* SerializeFieldWithCachedSizesToArray(
528 void SerializeMessageSetItemWithCachedSizes(
530 io::CodedOutputStream* output)
const;
531 uint8* SerializeMessageSetItemWithCachedSizesToArray(
539 int SpaceUsedExcludingSelf()
const;
544 void InternalExtensionMergeFrom(
int number,
const Extension& other_extension);
550 bool FindExtensionInfoFromTag(
uint32 tag, ExtensionFinder* extension_finder,
552 bool* was_packed_on_wire);
558 bool FindExtensionInfoFromFieldNumber(
int wire_type,
int field_number,
559 ExtensionFinder* extension_finder,
561 bool* was_packed_on_wire);
568 bool was_packed_on_wire,
570 io::CodedInputStream*
input,
571 FieldSkipper* field_skipper);
575 bool ParseFieldMaybeLazily(
int wire_type,
int field_number,
576 io::CodedInputStream*
input,
577 ExtensionFinder* extension_finder,
578 MessageSetFieldSkipper* field_skipper);
587 Extension* MaybeNewRepeatedExtension(
const FieldDescriptor* descriptor);
591 bool ParseMessageSetItem(io::CodedInputStream*
input,
592 ExtensionFinder* extension_finder,
593 MessageSetFieldSkipper* field_skipper);
602 static inline int RepeatedMessage_SpaceUsedExcludingSelf(
603 RepeatedPtrFieldBase*
field);
611 std::map<int, Extension> extensions_;
620 MutableString(number, type, descriptor)->assign(value);
623 const string&
value) {
624 MutableRepeatedString(number, index)->assign(value);
629 AddString(number, type, descriptor)->assign(value);
691 template <
typename Type>
699 ConstType default_value);
700 static inline void Set(
int number, FieldType
field_type,
704 template <
typename Type>
715 static inline void Add(
int number, FieldType
field_type,
721 MutableRepeated(
int number, FieldType
field_type,
724 static const RepeatedFieldType* GetDefaultRepeatedField();
732 static void InitializeDefaultRepeatedFields();
733 static void DestroyDefaultRepeatedFields();
743 #define PROTOBUF_DEFINE_PRIMITIVE_TYPE(TYPE, METHOD) \ 744 template<> inline TYPE PrimitiveTypeTraits<TYPE>::Get( \ 745 int number, const ExtensionSet& set, TYPE default_value) { \ 746 return set.Get##METHOD(number, default_value); \ 748 template<> inline void PrimitiveTypeTraits<TYPE>::Set( \ 749 int number, FieldType field_type, TYPE value, ExtensionSet* set) { \ 750 set->Set##METHOD(number, field_type, value, NULL); \ 753 template<> inline TYPE RepeatedPrimitiveTypeTraits<TYPE>::Get( \ 754 int number, const ExtensionSet& set, int index) { \ 755 return set.GetRepeated##METHOD(number, index); \ 757 template<> inline void RepeatedPrimitiveTypeTraits<TYPE>::Set( \ 758 int number, int index, TYPE value, ExtensionSet* set) { \ 759 set->SetRepeated##METHOD(number, index, value); \ 761 template<> inline void RepeatedPrimitiveTypeTraits<TYPE>::Add( \ 762 int number, FieldType field_type, bool is_packed, \ 763 TYPE value, ExtensionSet* set) { \ 764 set->Add##METHOD(number, field_type, is_packed, value, NULL); \ 766 template<> inline const RepeatedField<TYPE>* \ 767 RepeatedPrimitiveTypeTraits<TYPE>::GetDefaultRepeatedField() { \ 768 ::google::protobuf::GoogleOnceInit( \ 769 &repeated_primitive_generic_type_traits_once_init_, \ 770 &RepeatedPrimitiveGenericTypeTraits::InitializeDefaultRepeatedFields); \ 771 return RepeatedPrimitiveGenericTypeTraits:: \ 772 default_repeated_field_##TYPE##_; \ 774 template<> inline const RepeatedField<TYPE>& \ 775 RepeatedPrimitiveTypeTraits<TYPE>::GetRepeated(int number, \ 776 const ExtensionSet& set) { \ 777 return *reinterpret_cast<const RepeatedField<TYPE>*>( \ 778 set.GetRawRepeatedField( \ 779 number, GetDefaultRepeatedField())); \ 781 template<> inline RepeatedField<TYPE>* \ 782 RepeatedPrimitiveTypeTraits<TYPE>::MutableRepeated(int number, \ 783 FieldType field_type, \ 785 ExtensionSet* set) { \ 786 return reinterpret_cast<RepeatedField<TYPE>*>( \ 787 set->MutableRawRepeatedField(number, field_type, is_packed, NULL)); \ 798 #undef PROTOBUF_DEFINE_PRIMITIVE_TYPE 811 ConstType default_value) {
812 return set.GetString(number, default_value);
816 set->SetString(number, field_type, value,
NULL);
820 return set->MutableString(number, field_type,
NULL);
836 return set.GetRepeatedString(number, index);
840 set->SetRepeatedString(number, index, value);
843 return set->MutableRepeatedString(number, index);
846 bool ,
const string& value,
848 set->AddString(number, field_type, value,
NULL);
852 return set->AddString(number, field_type,
NULL);
857 set.GetRawRepeatedField(number, GetDefaultRepeatedField()));
864 set->MutableRawRepeatedField(number, field_type,
870 &InitializeDefaultRepeatedFields);
871 return default_repeated_field_;
875 static void InitializeDefaultRepeatedFields();
876 static void DestroyDefaultRepeatedFields();
877 static const RepeatedFieldType *default_repeated_field_;
885 template <
typename Type,
bool IsVal
id(
int)>
893 ConstType default_value) {
894 return static_cast<Type>(
set.GetEnum(number, default_value));
899 set->SetEnum(number, field_type, value,
NULL);
903 template <
typename Type,
bool IsVal
id(
int)>
913 return static_cast<Type>(
set.GetRepeatedEnum(number, index));
918 set->SetRepeatedEnum(number, index, value);
923 set->AddEnum(number, field_type, is_packed, value,
NULL);
933 set.GetRawRepeatedField(number, GetDefaultRepeatedField()));
941 set->MutableRawRepeatedField(number, field_type, is_packed,
NULL));
962 template <
typename Type>
970 ConstType default_value) {
971 return static_cast<const Type&
>(
972 set.GetMessage(number, default_value));
976 return static_cast<Type*
>(
981 set->SetAllocatedMessage(number, field_type,
NULL, message);
983 static inline MutableType
Release(
int number, FieldType ,
985 return static_cast<Type*
>(
set->ReleaseMessage(
993 template <
typename Type>
1003 return static_cast<const Type&
>(
set.GetRepeatedMessage(number, index));
1006 return static_cast<Type*
>(
set->MutableRepeatedMessage(number, index));
1010 return static_cast<Type*
>(
1022 set.GetRawRepeatedField(number, GetDefaultRepeatedField()));
1029 set->MutableRawRepeatedField(number, field_type, is_packed,
NULL));
1032 static const RepeatedFieldType* GetDefaultRepeatedField();
1044 static void InitializeDefaultRepeatedFields();
1045 static void DestroyDefaultRepeatedFields();
1046 static const RepeatedFieldType* default_repeated_field_;
1049 template<
typename Type>
inline 1053 &repeated_message_generic_type_traits_once_init_,
1054 &RepeatedMessageGenericTypeTraits::InitializeDefaultRepeatedFields);
1056 RepeatedMessageGenericTypeTraits::default_repeated_field_);
1076 template <
typename ExtendeeType,
typename TypeTraitsType,
1084 : number_(number), default_value_(default_value) {}
1085 inline int number()
const {
return number_; }
1087 return default_value_;
1092 typename TypeTraits::ConstType default_value_;
1108 #define GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(CLASSNAME) \ 1110 template <typename _proto_TypeTraits, \ 1111 ::google::protobuf::internal::FieldType _field_type, \ 1113 inline bool HasExtension( \ 1114 const ::google::protobuf::internal::ExtensionIdentifier< \ 1115 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) const { \ 1116 return _extensions_.Has(id.number()); \ 1119 template <typename _proto_TypeTraits, \ 1120 ::google::protobuf::internal::FieldType _field_type, \ 1122 inline void ClearExtension( \ 1123 const ::google::protobuf::internal::ExtensionIdentifier< \ 1124 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) { \ 1125 _extensions_.ClearExtension(id.number()); \ 1128 template <typename _proto_TypeTraits, \ 1129 ::google::protobuf::internal::FieldType _field_type, \ 1131 inline int ExtensionSize( \ 1132 const ::google::protobuf::internal::ExtensionIdentifier< \ 1133 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) const { \ 1134 return _extensions_.ExtensionSize(id.number()); \ 1138 template <typename _proto_TypeTraits, \ 1139 ::google::protobuf::internal::FieldType _field_type, \ 1141 inline typename _proto_TypeTraits::Singular::ConstType GetExtension( \ 1142 const ::google::protobuf::internal::ExtensionIdentifier< \ 1143 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) const { \ 1144 return _proto_TypeTraits::Get(id.number(), _extensions_, \ 1145 id.default_value()); \ 1148 template <typename _proto_TypeTraits, \ 1149 ::google::protobuf::internal::FieldType _field_type, \ 1151 inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( \ 1152 const ::google::protobuf::internal::ExtensionIdentifier< \ 1153 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) { \ 1154 return _proto_TypeTraits::Mutable(id.number(), _field_type, \ 1158 template <typename _proto_TypeTraits, \ 1159 ::google::protobuf::internal::FieldType _field_type, \ 1161 inline void SetExtension( \ 1162 const ::google::protobuf::internal::ExtensionIdentifier< \ 1163 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \ 1164 typename _proto_TypeTraits::Singular::ConstType value) { \ 1165 _proto_TypeTraits::Set(id.number(), _field_type, value, &_extensions_); \ 1168 template <typename _proto_TypeTraits, \ 1169 ::google::protobuf::internal::FieldType _field_type, \ 1171 inline void SetAllocatedExtension( \ 1172 const ::google::protobuf::internal::ExtensionIdentifier< \ 1173 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \ 1174 typename _proto_TypeTraits::Singular::MutableType value) { \ 1175 _proto_TypeTraits::SetAllocated(id.number(), _field_type, \ 1176 value, &_extensions_); \ 1178 template <typename _proto_TypeTraits, \ 1179 ::google::protobuf::internal::FieldType _field_type, \ 1181 inline typename _proto_TypeTraits::Singular::MutableType ReleaseExtension( \ 1182 const ::google::protobuf::internal::ExtensionIdentifier< \ 1183 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) { \ 1184 return _proto_TypeTraits::Release(id.number(), _field_type, \ 1189 template <typename _proto_TypeTraits, \ 1190 ::google::protobuf::internal::FieldType _field_type, \ 1192 inline typename _proto_TypeTraits::Repeated::ConstType GetExtension( \ 1193 const ::google::protobuf::internal::ExtensionIdentifier< \ 1194 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \ 1195 int index) const { \ 1196 return _proto_TypeTraits::Get(id.number(), _extensions_, index); \ 1199 template <typename _proto_TypeTraits, \ 1200 ::google::protobuf::internal::FieldType _field_type, \ 1202 inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( \ 1203 const ::google::protobuf::internal::ExtensionIdentifier< \ 1204 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \ 1206 return _proto_TypeTraits::Mutable(id.number(), index, &_extensions_); \ 1209 template <typename _proto_TypeTraits, \ 1210 ::google::protobuf::internal::FieldType _field_type, \ 1212 inline void SetExtension( \ 1213 const ::google::protobuf::internal::ExtensionIdentifier< \ 1214 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \ 1215 int index, typename _proto_TypeTraits::Repeated::ConstType value) { \ 1216 _proto_TypeTraits::Set(id.number(), index, value, &_extensions_); \ 1219 template <typename _proto_TypeTraits, \ 1220 ::google::protobuf::internal::FieldType _field_type, \ 1222 inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( \ 1223 const ::google::protobuf::internal::ExtensionIdentifier< \ 1224 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) { \ 1225 return _proto_TypeTraits::Add(id.number(), _field_type, &_extensions_); \ 1228 template <typename _proto_TypeTraits, \ 1229 ::google::protobuf::internal::FieldType _field_type, \ 1231 inline void AddExtension( \ 1232 const ::google::protobuf::internal::ExtensionIdentifier< \ 1233 CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \ 1234 typename _proto_TypeTraits::Repeated::ConstType value) { \ 1235 _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, \ 1236 value, &_extensions_); \ 1239 template <typename _proto_TypeTraits, \ 1240 ::google::protobuf::internal::FieldType _field_type, \ 1242 inline const typename _proto_TypeTraits::Repeated::RepeatedFieldType& \ 1243 GetRepeatedExtension( \ 1244 const ::google::protobuf::internal::ExtensionIdentifier< \ 1245 CLASSNAME, _proto_TypeTraits, _field_type, \ 1246 _is_packed>& id) const { \ 1247 return _proto_TypeTraits::GetRepeated(id.number(), _extensions_); \ 1250 template <typename _proto_TypeTraits, \ 1251 ::google::protobuf::internal::FieldType _field_type, \ 1253 inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* \ 1254 MutableRepeatedExtension( \ 1255 const ::google::protobuf::internal::ExtensionIdentifier< \ 1256 CLASSNAME, _proto_TypeTraits, _field_type, \ 1257 _is_packed>& id) { \ 1258 return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, \ 1259 _is_packed, &_extensions_); \ 1266 #endif // GOOGLE_PROTOBUF_EXTENSION_SET_H__ #define PROTOBUF_DEFINE_PRIMITIVE_TYPE(TYPE, METHOD)
Definition: extension_set.h:743
void SetString(int number, FieldType type, const string &value, desc)
Definition: extension_set.h:617
TypeTraitsType TypeTraits
Definition: extension_set.h:1080
void AddString(int number, FieldType type, const string &value, desc)
EnumTypeTraits< Type, IsValid > Singular
Definition: extension_set.h:890
static const string & Get(int number, const ExtensionSet &set, int index)
Definition: extension_set.h:834
Definition: extension_set.h:92
FieldType type
Definition: extension_set.h:98
const FieldDescriptor * field
Definition: parser_unittest.cc:2279
static const RepeatedPtrField< Type > & GetRepeated(int number, const ExtensionSet &set)
Definition: extension_set.h:1013
Definition: extension_set.h:904
RepeatedMessageTypeTraits< Type > Repeated
Definition: extension_set.h:998
static void Set(int number, int index, ConstType value, ExtensionSet *set)
Definition: extension_set.h:915
static MutableType Mutable(int number, FieldType field_type, ExtensionSet *set)
Definition: extension_set.h:974
Type MutableType
Definition: extension_set.h:907
static ConstType Get(int number, const ExtensionSet &set, ConstType default_value)
Definition: extension_set.h:892
static RepeatedPtrField< string > * MutableRepeated(int number, FieldType field_type, bool is_packed, ExtensionSet *set)
Definition: extension_set.h:861
static void Set(int number, int index, const string &value, ExtensionSet *set)
Definition: extension_set.h:838
static RepeatedField< Type > * MutableRepeated(int number, FieldType field_type, bool is_packed, ExtensionSet *set)
Definition: extension_set.h:936
#define GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(TypeName)
Definition: macros.h:40
Type * MutableType
Definition: extension_set.h:997
Type MutableType
Definition: extension_set.h:708
Definition: xmlparse.c:181
EGLContext EGLenum target
Definition: eglext.h:192
Type ConstType
Definition: extension_set.h:694
Definition: extension_set.h:826
Definition: extension_set.h:160
const Descriptor * descriptor
Definition: descriptor.cc:271
static const RepeatedFieldType * GetDefaultRepeatedField()
Definition: extension_set.h:868
const Type & ConstType
Definition: extension_set.h:996
uint8_t uint8
Definition: port.h:133
ExtensionIdentifier(int number, typename TypeTraits::ConstType default_value)
Definition: extension_set.h:1083
GeneratedExtensionFinder(const MessageLite *containing_type)
Definition: extension_set.h:132
void GoogleOnceInit(ProtobufOnceType *once, void(*init_func)())
Definition: once.cc:65
static void Set(int number, FieldType field_type, ConstType value, ExtensionSet *set)
Definition: extension_set.h:896
static const RepeatedField< Type > & GetRepeated(int number, const ExtensionSet &set)
Definition: extension_set.h:925
static const RepeatedFieldType * GetDefaultRepeatedField()
Definition: extension_set.h:944
Definition: extension_set.h:804
Message
Definition: peerconnection_unittest.cc:105
unsigned char uint8
Definition: basic_types.h:62
Definition: descriptor.h:172
string * MutableType
Definition: extension_set.h:829
LIBPROTOBUF_EXPORT ProtobufOnceType repeated_message_generic_type_traits_once_init_
static ConstType Get(int number, const ExtensionSet &set, int index)
Definition: extension_set.h:1002
Definition: extension_set.h:692
Type MutableType
Definition: extension_set.h:889
Type ConstType
Definition: extension_set.h:707
void SetRepeatedString(int number, int index, const string &value)
Definition: extension_set.h:622
const MessageLite * message_prototype
Definition: extension_set.h:109
static void Add(int number, FieldType field_type, bool is_packed, ConstType value, ExtensionSet *set)
Definition: extension_set.h:920
static const Type & default_instance()
Definition: type.pb.cc:346
Definition: AirOpcode.h:13
#define desc
Definition: extension_set.h:320
bool EnumValidityFunc(int number)
Definition: extension_set.h:85
Type MutableType
Definition: extension_set.h:695
Definition: descriptor.h:439
ClearExtension
Definition: python_message.py:899
uint64_t uint64
Definition: angle_config.h:30
int64_t int64
Definition: angle_config.h:29
const string & ConstType
Definition: extension_set.h:828
Definition: protobuf.h:85
RegisterExtension
Definition: python_message.py:776
int32_t int32
Definition: port.h:130
Definition: extension_set.h:705
Type ConstType
Definition: extension_set.h:906
const Type & ConstType
Definition: extension_set.h:965
RepeatedStringTypeTraits Repeated
Definition: extension_set.h:830
static MutableType Mutable(int number, int index, ExtensionSet *set)
Definition: extension_set.h:1005
static void Set(int number, FieldType field_type, const string &value, ExtensionSet *set)
Definition: extension_set.h:814
static const string & Get(int number, const ExtensionSet &set, ConstType default_value)
Definition: extension_set.h:810
Definition: protobuf.h:347
FloatingPoint< float > Float
Definition: gtest-internal.h:481
RepeatedPtrField< ::google::protobuf::MessageLite * > RepeatedFieldType
Definition: extension_set.h:1041
FloatingPoint< double > Double
Definition: gtest-internal.h:482
IsInitialized
Definition: python_message.py:1169
RepeatedField< Type > RepeatedFieldType
Definition: extension_set.h:711
int Find(PyContainer *self, PyObject *item)
Definition: descriptor_containers.cc:613
rtc::scoped_refptr< PeerConnectionFactoryInterface > factory(webrtc::CreatePeerConnectionFactory(network_thread.get(), worker_thread.get(), signaling_thread.get(), nullptr, encoder_factory, decoder_factory))
Definition: peerconnection_jni.cc:1838
PrimitiveTypeTraits< Type > Singular
Definition: extension_set.h:696
GLuint index
Definition: gl2.h:383
int number() const
Definition: extension_set.h:1085
static MutableType Add(int number, FieldType field_type, ExtensionSet *set)
Definition: extension_set.h:1008
RepeatedEnumTypeTraits< Type, IsValid > Repeated
Definition: extension_set.h:908
EGLAttrib * value
Definition: eglext.h:120
Definition: extension_set.h:886
Definition: message.h:158
Definition: gtest_pred_impl_unittest.cc:56
static ConstType Get(int number, const ExtensionSet &set, ConstType default_value)
Definition: extension_set.h:969
string * MutableType
Definition: extension_set.h:807
Definition: extension_set.h:729
uint8 FieldType
Definition: extension_set.h:80
Type * MutableType
Definition: extension_set.h:966
static void Add(int number, FieldType field_type, bool, const string &value, ExtensionSet *set)
Definition: extension_set.h:845
Definition: protobuf.h:64
virtual ~GeneratedExtensionFinder()
Definition: extension_set.h:134
Definition: message_lite.h:78
uint32_t uint32
Definition: port.h:135
Definition: __init__.py:1
static MutableType Release(int number, FieldType, ExtensionSet *set)
Definition: extension_set.h:983
uint64_t uint64
Definition: port.h:136
static string * Mutable(int number, FieldType field_type, ExtensionSet *set)
Definition: extension_set.h:818
TypeTraits::ConstType default_value() const
Definition: extension_set.h:1086
RepeatedPtrField< string > RepeatedFieldType
Definition: extension_set.h:832
ExtendeeType Extendee
Definition: extension_set.h:1081
WireFormatLite::FieldType field_type(FieldType type)
Definition: extension_set_heavy.cc:133
Definition: type.pb.h:133
static void SetAllocated(int number, FieldType field_type, MutableType message, ExtensionSet *set)
Definition: extension_set.h:979
RepeatedField< Type > RepeatedFieldType
Definition: extension_set.h:910
Definition: extension_set.h:120
Definition: extension_set.h:130
static ConstType Get(int number, const ExtensionSet &set, int index)
Definition: extension_set.h:912
EGLenum type
Definition: eglext.h:63
Definition: extension_set.h:102
const void * arg
Definition: extension_set.h:104
Definition: extension_set.h:1039
Definition: document.h:393
result
Definition: target-blank-opener-post-window.php:5
BigEndianULong UInt32
Definition: OpenTypeTypes.h:64
Definition: extension_set.h:994
static string * Mutable(int number, int index, ExtensionSet *set)
Definition: extension_set.h:842
bool is_packed
Definition: extension_set.h:100
#define GOOGLE_DCHECK
Definition: logging.h:192
Definition: descriptor.h:1355
static RepeatedPtrField< Type > * MutableRepeated(int number, FieldType field_type, bool is_packed, ExtensionSet *set)
Definition: extension_set.h:1024
StringTypeTraits Singular
Definition: extension_set.h:808
LIBPROTOBUF_EXPORT ProtobufOnceType repeated_primitive_generic_type_traits_once_init_
EnumValidityCheck enum_validity_check
Definition: extension_set.h:108
int64_t int64
Definition: port.h:131
LIBPROTOBUF_EXPORT ProtobufOnceType repeated_string_type_traits_once_init_
Definition: AirOpcode.h:12
#define NULL
Definition: common_types.h:41
bool is_repeated
Definition: extension_set.h:99
containing_type
Definition: descriptor_pb2.py:1563
BigEndianLong Int32
Definition: OpenTypeTypes.h:63
TypeWithSize< 8 >::UInt UInt64
Definition: gtest-port.h:1493
const FieldDescriptor * descriptor
Definition: extension_set.h:115
::google::protobuf::Arena * GetArenaNoVirtual() const
Definition: extension_set.h:277
#define LIBPROTOBUF_EXPORT
Definition: port.h:97
EnumValidityFuncWithArg * func
Definition: extension_set.h:103
RepeatedPtrField< Type > RepeatedFieldType
Definition: extension_set.h:1000
uint32_t uint32
Definition: angle_config.h:28
static const RepeatedPtrField< string > & GetRepeated(int number, const ExtensionSet &set)
Definition: extension_set.h:855
Definition: gflags_completions.h:115
string input
Definition: tokenizer_unittest.cc:198
Type ConstType
Definition: extension_set.h:888
Definition: extension_set.h:963
ByteSize
Definition: python_message.py:1040
Definition: extension_set.h:1078
ExtensionInfo(FieldType type_param, bool isrepeated, bool ispacked)
Definition: extension_set.h:94
const string & ConstType
Definition: extension_set.h:806
ExtensionInfo()
Definition: extension_set.h:93
Definition: extension_set_heavy.cc:52
TypeWithSize< 8 >::Int Int64
Definition: gtest-port.h:1492
extension
Definition: descriptor.h:1666
RepeatedPrimitiveTypeTraits< Type > Repeated
Definition: extension_set.h:709
Definition: message.h:1006
EnumDescriptorProto * AddEnum(FileDescriptorProto *file, const string &name)
Definition: descriptor_unittest.cc:81
DescriptorProto * AddMessage(FileDescriptorProto *file, const string &name)
Definition: descriptor_unittest.cc:69
bool EnumValidityFuncWithArg(const void *arg, int number)
Definition: extension_set.h:89
GLuint GLsizei const GLchar * message
Definition: gl2ext.h:137
static string * Add(int number, FieldType field_type, ExtensionSet *set)
Definition: extension_set.h:850
MessageTypeTraits< Type > Singular
Definition: extension_set.h:967
Definition: GetPutInfo.h:232
std::string ExtensionType()
Definition: bwe_rtp.cc:32
MergeFrom
Definition: python_message.py:1259
int32_t int32
Definition: angle_config.h:27
Definition: protobuf.h:70
message_type
Definition: descriptor_pb2.py:1556
Message * ReleaseMessage(CMessage *self, const Descriptor *descriptor, const FieldDescriptor *field_descriptor)
Definition: message.cc:1556
ANGLE_EXPORT const GLubyte *GL_APIENTRY GetString(GLenum name)
Definition: entry_points_gles_2_0.cpp:1660