#ifndef UPB_MSG_INT_H_
#define UPB_MSG_INT_H_
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include "upb/extension_registry.h"
#include "upb/internal/table.h"
#include "upb/msg.h"
#include "upb/upb.h"
#include "upb/port_def.inc"
#ifdef __cplusplus
extern "C" {
#endif
UPB_INLINE int32_t _upb_Int32_FromI(int v) { … }
UPB_INLINE int64_t _upb_Int64_FromLL(long long v) { … }
UPB_INLINE uint32_t _upb_UInt32_FromU(unsigned v) { … }
UPB_INLINE uint64_t _upb_UInt64_FromULL(unsigned long long v) { … }
upb_MiniTable_Field;
#define kUpb_NoSub …
upb_FieldMode;
#define kUpb_FieldMode_Mask …
upb_LabelFlags;
upb_FieldRep;
UPB_INLINE upb_FieldMode upb_FieldMode_Get(const upb_MiniTable_Field* field) { … }
UPB_INLINE bool upb_IsRepeatedOrMap(const upb_MiniTable_Field* field) { … }
UPB_INLINE bool upb_IsSubMessage(const upb_MiniTable_Field* field) { … }
struct upb_Decoder;
struct upb_MiniTable;
_upb_FieldParser;
_upb_FastTable_Entry;
upb_MiniTable_Enum;
upb_MiniTable_Sub;
upb_ExtMode;
upb_msgext_fieldnum;
struct upb_MiniTable { … };
upb_MiniTable_Extension;
upb_MiniTable_File;
UPB_INLINE uint64_t upb_MiniTable_requiredmask(const upb_MiniTable* l) { … }
bool _upb_extreg_add(upb_ExtensionRegistry* r,
const upb_MiniTable_Extension** e, size_t count);
const upb_MiniTable_Extension* _upb_extreg_get(const upb_ExtensionRegistry* r,
const upb_MiniTable* l,
uint32_t num);
upb_Message_InternalData;
upb_Message_Internal;
extern char _upb_CTypeo_size[12];
UPB_INLINE size_t upb_msg_sizeof(const upb_MiniTable* l) { … }
UPB_INLINE upb_Message* _upb_Message_New_inl(const upb_MiniTable* l,
upb_Arena* a) { … }
upb_Message* _upb_Message_New(const upb_MiniTable* l, upb_Arena* a);
UPB_INLINE upb_Message_Internal* upb_Message_Getinternal(upb_Message* msg) { … }
void _upb_Message_Clear(upb_Message* msg, const upb_MiniTable* l);
void _upb_Message_DiscardUnknown_shallow(upb_Message* msg);
bool _upb_Message_AddUnknown(upb_Message* msg, const char* data, size_t len,
upb_Arena* arena);
upb_Message_Extension;
upb_Message_Extension* _upb_Message_GetOrCreateExtension(
upb_Message* msg, const upb_MiniTable_Extension* ext, upb_Arena* arena);
const upb_Message_Extension* _upb_Message_Getexts(const upb_Message* msg,
size_t* count);
const upb_Message_Extension* _upb_Message_Getext(
const upb_Message* msg, const upb_MiniTable_Extension* ext);
void _upb_Message_Clearext(upb_Message* msg,
const upb_MiniTable_Extension* ext);
void _upb_Message_Clearext(upb_Message* msg,
const upb_MiniTable_Extension* ext);
UPB_INLINE bool _upb_hasbit(const upb_Message* msg, size_t idx) { … }
UPB_INLINE void _upb_sethas(const upb_Message* msg, size_t idx) { … }
UPB_INLINE void _upb_clearhas(const upb_Message* msg, size_t idx) { … }
UPB_INLINE size_t _upb_Message_Hasidx(const upb_MiniTable_Field* f) { … }
UPB_INLINE bool _upb_hasbit_field(const upb_Message* msg,
const upb_MiniTable_Field* f) { … }
UPB_INLINE void _upb_sethas_field(const upb_Message* msg,
const upb_MiniTable_Field* f) { … }
UPB_INLINE void _upb_clearhas_field(const upb_Message* msg,
const upb_MiniTable_Field* f) { … }
UPB_INLINE uint32_t* _upb_oneofcase(upb_Message* msg, size_t case_ofs) { … }
UPB_INLINE uint32_t _upb_getoneofcase(const void* msg, size_t case_ofs) { … }
UPB_INLINE size_t _upb_oneofcase_ofs(const upb_MiniTable_Field* f) { … }
UPB_INLINE uint32_t* _upb_oneofcase_field(upb_Message* msg,
const upb_MiniTable_Field* f) { … }
UPB_INLINE uint32_t _upb_getoneofcase_field(const upb_Message* msg,
const upb_MiniTable_Field* f) { … }
UPB_INLINE bool _upb_has_submsg_nohasbit(const upb_Message* msg, size_t ofs) { … }
upb_Array;
UPB_INLINE const void* _upb_array_constptr(const upb_Array* arr) { … }
UPB_INLINE uintptr_t _upb_array_tagptr(void* ptr, int elem_size_lg2) { … }
UPB_INLINE void* _upb_array_ptr(upb_Array* arr) { … }
UPB_INLINE uintptr_t _upb_tag_arrptr(void* ptr, int elem_size_lg2) { … }
UPB_INLINE upb_Array* _upb_Array_New(upb_Arena* a, size_t init_size,
int elem_size_lg2) { … }
bool _upb_array_realloc(upb_Array* arr, size_t min_size, upb_Arena* arena);
void* _upb_Array_Resize_fallback(upb_Array** arr_ptr, size_t size,
int elem_size_lg2, upb_Arena* arena);
bool _upb_Array_Append_fallback(upb_Array** arr_ptr, const void* value,
int elem_size_lg2, upb_Arena* arena);
UPB_INLINE bool _upb_array_reserve(upb_Array* arr, size_t size,
upb_Arena* arena) { … }
UPB_INLINE bool _upb_Array_Resize(upb_Array* arr, size_t size,
upb_Arena* arena) { … }
UPB_INLINE void _upb_array_detach(const void* msg, size_t ofs) { … }
UPB_INLINE const void* _upb_array_accessor(const void* msg, size_t ofs,
size_t* size) { … }
UPB_INLINE void* _upb_array_mutable_accessor(void* msg, size_t ofs,
size_t* size) { … }
UPB_INLINE void* _upb_Array_Resize_accessor2(void* msg, size_t ofs, size_t size,
int elem_size_lg2,
upb_Arena* arena) { … }
UPB_INLINE bool _upb_Array_Append_accessor2(void* msg, size_t ofs,
int elem_size_lg2,
const void* value,
upb_Arena* arena) { … }
UPB_INLINE int _upb_sizelg2(upb_CType type) { … }
UPB_INLINE void* _upb_Array_Resize_accessor(void* msg, size_t ofs, size_t size,
upb_CType type, upb_Arena* arena) { … }
UPB_INLINE bool _upb_Array_Append_accessor(void* msg, size_t ofs,
size_t elem_size, upb_CType type,
const void* value,
upb_Arena* arena) { … }
upb_Map;
upb_MapEntry;
upb_Map* _upb_Map_New(upb_Arena* a, size_t key_size, size_t value_size);
UPB_INLINE upb_StringView _upb_map_tokey(const void* key, size_t size) { … }
UPB_INLINE void _upb_map_fromkey(upb_StringView key, void* out, size_t size) { … }
UPB_INLINE bool _upb_map_tovalue(const void* val, size_t size,
upb_value* msgval, upb_Arena* a) { … }
UPB_INLINE void _upb_map_fromvalue(upb_value val, void* out, size_t size) { … }
UPB_INLINE size_t _upb_Map_Size(const upb_Map* map) { … }
UPB_INLINE bool _upb_Map_Get(const upb_Map* map, const void* key,
size_t key_size, void* val, size_t val_size) { … }
UPB_INLINE void* _upb_map_next(const upb_Map* map, size_t* iter) { … }
_upb_MapInsertStatus;
UPB_INLINE _upb_MapInsertStatus _upb_Map_Insert(upb_Map* map, const void* key,
size_t key_size, void* val,
size_t val_size, upb_Arena* a) { … }
UPB_INLINE bool _upb_Map_Delete(upb_Map* map, const void* key,
size_t key_size) { … }
UPB_INLINE void _upb_Map_Clear(upb_Map* map) { … }
UPB_INLINE size_t _upb_msg_map_size(const upb_Message* msg, size_t ofs) { … }
UPB_INLINE bool _upb_msg_map_get(const upb_Message* msg, size_t ofs,
const void* key, size_t key_size, void* val,
size_t val_size) { … }
UPB_INLINE void* _upb_msg_map_next(const upb_Message* msg, size_t ofs,
size_t* iter) { … }
UPB_INLINE bool _upb_msg_map_set(upb_Message* msg, size_t ofs, const void* key,
size_t key_size, void* val, size_t val_size,
upb_Arena* arena) { … }
UPB_INLINE bool _upb_msg_map_delete(upb_Message* msg, size_t ofs,
const void* key, size_t key_size) { … }
UPB_INLINE void _upb_msg_map_clear(upb_Message* msg, size_t ofs) { … }
UPB_INLINE void _upb_msg_map_key(const void* msg, void* key, size_t size) { … }
UPB_INLINE void _upb_msg_map_value(const void* msg, void* val, size_t size) { … }
UPB_INLINE void _upb_msg_map_set_value(void* msg, const void* val,
size_t size) { … }
_upb_mapsorter;
_upb_sortedmap;
UPB_INLINE void _upb_mapsorter_init(_upb_mapsorter* s) { … }
UPB_INLINE void _upb_mapsorter_destroy(_upb_mapsorter* s) { … }
bool _upb_mapsorter_pushmap(_upb_mapsorter* s, upb_FieldType key_type,
const upb_Map* map, _upb_sortedmap* sorted);
UPB_INLINE void _upb_mapsorter_popmap(_upb_mapsorter* s,
_upb_sortedmap* sorted) { … }
UPB_INLINE bool _upb_sortedmap_next(_upb_mapsorter* s, const upb_Map* map,
_upb_sortedmap* sorted, upb_MapEntry* ent) { … }
#ifdef __cplusplus
}
#endif
#include "upb/port_undef.inc"
#endif