Lines Matching defs:arr

372 static bool decode_reserve(upb_decstate *d, upb_array *arr, size_t elem) {
373 bool need_realloc = arr->size - arr->len < elem;
374 if (need_realloc && !_upb_array_realloc(arr, arr->len + elem, d->arena)) {
495 upb_array *arr = *arrp;
498 if (!arr) {
500 arr = _upb_array_new(d->arena, type);
501 if (!arr) decode_err(d);
502 *arrp = arr;
505 decode_reserve(d, arr, 1);
512 mem = UPB_PTR_AT(_upb_array_ptr(arr), arr->len << op, void);
513 arr->len++;
522 UPB_PTR_AT(_upb_array_ptr(arr), arr->len * sizeof(upb_strview), void);
523 arr->len++;
529 *UPB_PTR_AT(_upb_array_ptr(arr), arr->len * sizeof(void *), upb_msg *) =
531 arr->len++;
548 decode_reserve(d, arr, count);
549 mem = UPB_PTR_AT(_upb_array_ptr(arr), arr->len << lg2, void);
550 arr->len += count;
562 char *out = UPB_PTR_AT(_upb_array_ptr(arr), arr->len << lg2, void);
567 if (decode_reserve(d, arr, 1)) {
568 out = UPB_PTR_AT(_upb_array_ptr(arr), arr->len << lg2, void);
570 arr->len++;
906 static bool upb_put_fixedarray(upb_encstate *e, const upb_array *arr,
908 size_t bytes = arr->len * elem_size;
909 const char* data = _upb_array_constptr(arr);
1005 const upb_array *arr = *(const upb_array**)field_mem;
1008 if (arr == NULL || arr->len == 0) {
1014 const ctype *start = _upb_array_constptr(arr); \
1015 const ctype *ptr = start + arr->len; \
1034 CHK(upb_put_fixedarray(e, arr, sizeof(double), TAG(UPB_WIRE_TYPE_64BIT)));
1037 CHK(upb_put_fixedarray(e, arr, sizeof(float), TAG(UPB_WIRE_TYPE_32BIT)));
1041 CHK(upb_put_fixedarray(e, arr, sizeof(uint64_t), TAG(UPB_WIRE_TYPE_64BIT)));
1045 CHK(upb_put_fixedarray(e, arr, sizeof(uint32_t), TAG(UPB_WIRE_TYPE_32BIT)));
1063 const upb_strview *start = _upb_array_constptr(arr);
1064 const upb_strview *ptr = start + arr->len;
1074 const void *const*start = _upb_array_constptr(arr);
1075 const void *const*ptr = start + arr->len;
1087 const void *const*start = _upb_array_constptr(arr);
1088 const void *const*ptr = start + arr->len;
1302 upb_array *arr = upb_arena_malloc(a, sizeof(upb_array));
1304 if (!arr) {
1308 arr->data = tag_arrptr(NULL, _upb_fieldtype_to_sizelg2[type]);
1309 arr->len = 0;
1310 arr->size = 0;
1312 return arr;
1315 bool _upb_array_realloc(upb_array *arr, size_t min_size, upb_arena *arena) {
1316 size_t new_size = UPB_MAX(arr->size, 4);
1317 int elem_size_lg2 = arr->data & 7;
1318 size_t old_bytes = arr->size << elem_size_lg2;
1320 void* ptr = _upb_array_ptr(arr);
1332 arr->data = tag_arrptr(ptr, elem_size_lg2);
1333 arr->size = new_size;
1339 upb_array *arr = *arr_ptr;
1340 if (!arr) {
1341 arr = _upb_array_new(arena, type);
1342 if (!arr) return NULL;
1343 *arr_ptr = arr;
1345 return arr;
1350 upb_array *arr = getorcreate_array(arr_ptr, type, arena);
1351 return arr && _upb_array_resize(arr, size, arena) ? _upb_array_ptr(arr) : NULL;
1356 upb_array *arr = getorcreate_array(arr_ptr, type, arena);
1357 size_t elem = arr->len;
1361 if (!arr || !_upb_array_resize(arr, elem + 1, arena)) return false;
1363 data = _upb_array_ptr(arr);
1995 size_t arr_size = max[size_lg2] + 1; /* +1 so arr[max] will fit. */
5851 const upb_array *arr = val.array_val;
5852 size_t i, n = upb_array_size(arr);
5854 upb_msgval elem = upb_array_get(arr, i);
5879 size_t upb_array_size(const upb_array *arr) {
5880 return arr->len;
5883 upb_msgval upb_array_get(const upb_array *arr, size_t i) {
5885 const char* data = _upb_array_constptr(arr);
5886 int lg2 = arr->data & 7;
5887 UPB_ASSERT(i < arr->len);
5892 void upb_array_set(upb_array *arr, size_t i, upb_msgval val) {
5893 char* data = _upb_array_ptr(arr);
5894 int lg2 = arr->data & 7;
5895 UPB_ASSERT(i < arr->len);
5899 bool upb_array_append(upb_array *arr, upb_msgval val, upb_arena *arena) {
5900 if (!_upb_array_realloc(arr, arr->len + 1, arena)) {
5903 arr->len++;
5904 upb_array_set(arr, arr->len - 1, val);
5908 bool upb_array_resize(upb_array *arr, size_t size, upb_arena *arena) {
5909 return _upb_array_resize(arr, size, arena);
6814 upb_array *arr = upb_msg_mutable(msg, f, d->arena).array;
6819 upb_array_append(arr, elem, d->arena);
7217 upb_array *arr = upb_msg_mutable(msg, paths_f, d->arena).array;
7232 upb_array_append(arr, val, d->arena);
7993 static void jsonenc_array(jsonenc *e, const upb_array *arr,
7996 size_t size = upb_array_size(arr);
8003 jsonenc_scalar(e, upb_array_get(arr, i), f);