8#ifndef UPB_MINI_TABLE_INTERNAL_FIELD_H_
9#define UPB_MINI_TABLE_INTERNAL_FIELD_H_
36#define kUpb_NoSub ((uint16_t)-1)
45#define kUpb_FieldMode_Mask 3
71#define kUpb_FieldRep_Shift 6
135 return f->presence > 0;
141 const uint16_t
index = f->presence;
142 return (
char)(1 << (
index % 8));
148 const uint16_t
index = f->presence;
184 return f->UPB_ONLYBITS(offset);
190 return ~(ptrdiff_t)f->presence;
#define UPB_API_INLINE
Definition def.inc:163
#define UPB_SIZE(size32, size64)
Definition def.inc:112
#define UPB_ASSUME(expr)
Definition def.inc:319
#define UPB_ASSERT(expr)
Definition def.inc:329
#define UPB_PRIVATE(x)
Definition def.inc:393
#define UPB_INLINE
Definition def.inc:144
upb_CType
Definition descriptor_constants.h:18
upb_FieldType
Definition descriptor_constants.h:40
@ kUpb_FieldType_Group
Definition descriptor_constants.h:50
@ kUpb_FieldType_String
Definition descriptor_constants.h:49
@ kUpb_FieldType_Enum
Definition descriptor_constants.h:54
@ kUpb_FieldType_Message
Definition descriptor_constants.h:51
@ kUpb_FieldType_Int32
Definition descriptor_constants.h:45
@ kUpb_FieldType_Bytes
Definition descriptor_constants.h:52
UPB_INLINE upb_CType upb_FieldType_CType(upb_FieldType field_type)
Definition descriptor_constants.h:68
UPB_API_INLINE upb_FieldType upb_MiniTableField_Type(const upb_MiniTableField *f)
UPB_API_INLINE uint32_t upb_MiniTableField_Number(const upb_MiniTableField *f)
UPB_API_INLINE bool upb_MiniTableField_IsScalar(const upb_MiniTableField *f)
UPB_API_INLINE bool upb_MiniTableField_IsSubMessage(const upb_MiniTableField *f)
UPB_API_INLINE bool upb_MiniTableField_IsInOneof(const upb_MiniTableField *f)
UPB_API_INLINE bool upb_MiniTableField_IsPacked(const upb_MiniTableField *f)
UPB_API_INLINE bool upb_MiniTableField_HasPresence(const upb_MiniTableField *f)
UPB_API_INLINE upb_CType upb_MiniTableField_CType(const upb_MiniTableField *f)
UPB_API_INLINE bool upb_MiniTableField_IsMap(const upb_MiniTableField *f)
UPB_API_INLINE bool upb_MiniTableField_IsClosedEnum(const upb_MiniTableField *f)
UPB_API_INLINE bool upb_MiniTableField_IsExtension(const upb_MiniTableField *f)
UPB_API_INLINE bool upb_MiniTableField_IsArray(const upb_MiniTableField *f)
UPB_INLINE bool UPB_PRIVATE _upb_MiniTableField_HasHasbit(const struct upb_MiniTableField *f)
Definition field.h:133
UPB_INLINE char UPB_PRIVATE _upb_MiniTableField_HasbitMask(const struct upb_MiniTableField *f)
Definition field.h:138
UPB_INLINE bool UPB_PRIVATE _upb_MiniTableField_IsAlternate(const struct upb_MiniTableField *f)
Definition field.h:102
upb_LabelFlags
Definition field.h:48
@ kUpb_LabelFlags_IsAlternate
Definition field.h:56
@ kUpb_LabelFlags_IsPacked
Definition field.h:49
@ kUpb_LabelFlags_IsExtension
Definition field.h:50
#define kUpb_FieldRep_Shift
Definition field.h:71
UPB_INLINE upb_FieldMode UPB_PRIVATE _upb_MiniTableField_Mode(const struct upb_MiniTableField *f)
Definition field.h:78
UPB_INLINE size_t UPB_PRIVATE _upb_MiniTableField_ElemSizeLg2(const struct upb_MiniTableField *f)
Definition field.h:209
UPB_INLINE size_t UPB_PRIVATE _upb_MiniTableField_OneofOffset(const struct upb_MiniTableField *f)
Definition field.h:187
#define kUpb_FieldMode_Mask
Definition field.h:45
UPB_INLINE void UPB_PRIVATE _upb_MiniTableField_CheckIsArray(const struct upb_MiniTableField *f)
Definition field.h:193
UPB_INLINE upb_FieldRep UPB_PRIVATE _upb_MiniTableField_GetRep(const struct upb_MiniTableField *f)
Definition field.h:83
UPB_INLINE uint16_t UPB_PRIVATE _upb_MiniTableField_HasbitOffset(const struct upb_MiniTableField *f)
Definition field.h:145
upb_FieldRep
Definition field.h:60
@ kUpb_FieldRep_1Byte
Definition field.h:61
@ kUpb_FieldRep_NativePointer
Definition field.h:66
@ kUpb_FieldRep_StringView
Definition field.h:63
@ kUpb_FieldRep_Max
Definition field.h:68
@ kUpb_FieldRep_8Byte
Definition field.h:64
@ kUpb_FieldRep_4Byte
Definition field.h:62
UPB_INLINE void UPB_PRIVATE _upb_MiniTableField_CheckIsMap(const struct upb_MiniTableField *f)
Definition field.h:201
UPB_INLINE uint16_t UPB_PRIVATE _upb_MiniTableField_Offset(const struct upb_MiniTableField *f)
Definition field.h:183
upb_FieldMode
Definition field.h:38
@ kUpb_FieldMode_Map
Definition field.h:39
@ kUpb_FieldMode_Array
Definition field.h:40
@ kUpb_FieldMode_Scalar
Definition field.h:41
UPB_INLINE int UPB_PRIVATE _upb_FieldType_SizeLg2(upb_FieldType field_type)
Definition size_log2.h:45
uint8_t UPB_PRIVATE(descriptortype)
uint32_t UPB_ONLYBITS(number)
int16_t presence
Definition field.h:24
uint16_t UPB_PRIVATE(submsg_index)
uint8_t UPB_ONLYBITS(mode)
uint16_t UPB_ONLYBITS(offset)