Lines Matching refs:array
50 heim_array_t array = ptr; in array_dealloc() local
52 for (n = 0; n < array->len; n++) in array_dealloc()
53 heim_release(array->val[n]); in array_dealloc()
54 free(array->val); in array_dealloc()
76 heim_array_t array; in heim_array_create() local
78 array = _heim_alloc_object(&array_object, sizeof(*array)); in heim_array_create()
79 if (array == NULL) in heim_array_create()
82 array->val = NULL; in heim_array_create()
83 array->len = 0; in heim_array_create()
85 return array; in heim_array_create()
110 heim_array_append_value(heim_array_t array, heim_object_t object) in heim_array_append_value() argument
114 ptr = realloc(array->val, (array->len + 1) * sizeof(array->val[0])); in heim_array_append_value()
117 array->val = ptr; in heim_array_append_value()
118 array->val[array->len++] = heim_retain(object); in heim_array_append_value()
132 heim_array_iterate_f(heim_array_t array, heim_array_iterator_f_t fn, void *ctx) in heim_array_iterate_f() argument
135 for (n = 0; n < array->len; n++) in heim_array_iterate_f()
136 fn(array->val[n], ctx); in heim_array_iterate_f()
148 heim_array_iterate(heim_array_t array, void (^fn)(heim_object_t))
151 for (n = 0; n < array->len; n++)
152 fn(array->val[n]);
165 heim_array_get_length(heim_array_t array) in heim_array_get_length() argument
167 return array->len; in heim_array_get_length()
181 heim_array_copy_value(heim_array_t array, size_t idx) in heim_array_copy_value() argument
183 if (idx >= array->len) in heim_array_copy_value()
185 return heim_retain(array->val[idx]); in heim_array_copy_value()
196 heim_array_delete_value(heim_array_t array, size_t idx) in heim_array_delete_value() argument
199 if (idx >= array->len) in heim_array_delete_value()
201 obj = array->val[idx]; in heim_array_delete_value()
203 array->len--; in heim_array_delete_value()
205 if (idx < array->len) in heim_array_delete_value()
206 memmove(&array->val[idx], &array->val[idx + 1], in heim_array_delete_value()
207 (array->len - idx) * sizeof(array->val[0])); in heim_array_delete_value()
221 heim_array_filter(heim_array_t array, int (^block)(heim_object_t))
225 while (n < array->len) {
226 if (block(array->val[n])) {
227 heim_array_delete_value(array, n);