File indexing completed on 2026-09-11 09:29:20
0001
0002
0003
0004
0005
0006
0007
0008 #ifndef UPB_MESSAGE_ARRAY_H_
0009 #define UPB_MESSAGE_ARRAY_H_
0010
0011 #include <stddef.h>
0012
0013 #include "upb/base/descriptor_constants.h"
0014 #include "upb/mem/arena.h"
0015 #include "upb/message/internal/array.h"
0016 #include "upb/message/internal/types.h"
0017 #include "upb/message/value.h"
0018 #include "upb/mini_table/message.h"
0019
0020
0021 #include "upb/port/def.inc"
0022
0023 typedef struct upb_Array upb_Array;
0024
0025 #ifdef __cplusplus
0026 extern "C" {
0027 #endif
0028
0029
0030 UPB_API upb_Array* upb_Array_New(upb_Arena* a, upb_CType type);
0031
0032
0033 UPB_API_INLINE size_t upb_Array_Size(const upb_Array* arr);
0034
0035
0036 UPB_API_INLINE size_t upb_Array_Capacity(const upb_Array* arr);
0037
0038
0039 UPB_API upb_MessageValue upb_Array_Get(const upb_Array* arr, size_t i);
0040
0041
0042
0043 UPB_API struct upb_Message* upb_Array_GetMutable(upb_Array* arr, size_t i);
0044
0045
0046 UPB_API void upb_Array_Set(upb_Array* arr, size_t i, upb_MessageValue val);
0047
0048
0049 UPB_API bool upb_Array_Append(upb_Array* array, upb_MessageValue val,
0050 upb_Arena* arena);
0051
0052
0053
0054 UPB_API void upb_Array_Move(upb_Array* array, size_t dst_idx, size_t src_idx,
0055 size_t count);
0056
0057
0058
0059
0060
0061 UPB_API bool upb_Array_Insert(upb_Array* array, size_t i, size_t count,
0062 upb_Arena* arena);
0063
0064
0065
0066
0067 UPB_API void upb_Array_Delete(upb_Array* array, size_t i, size_t count);
0068
0069
0070 UPB_API_INLINE bool upb_Array_Reserve(struct upb_Array* array, size_t size,
0071 upb_Arena* arena);
0072
0073
0074
0075 UPB_API bool upb_Array_Resize(upb_Array* array, size_t size, upb_Arena* arena);
0076
0077
0078 UPB_API_INLINE const void* upb_Array_DataPtr(const upb_Array* arr);
0079
0080
0081 UPB_API_INLINE void* upb_Array_MutableDataPtr(upb_Array* arr);
0082
0083
0084
0085
0086 UPB_API void upb_Array_Freeze(upb_Array* arr, const upb_MiniTable* m);
0087
0088
0089 UPB_API_INLINE bool upb_Array_IsFrozen(const upb_Array* arr);
0090
0091 #ifdef __cplusplus
0092 }
0093 #endif
0094
0095 #include "upb/port/undef.inc"
0096
0097 #endif