Lines Matching refs:array

38  * Grow the size of the array.
41 _eglGrowArray(_EGLArray *array)
46 new_size = array->MaxSize;
47 while (new_size <= array->Size)
50 elems = realloc(array->Elements, new_size * sizeof(array->Elements[0]));
52 _eglLog(_EGL_DEBUG, "failed to grow %s array to %d",
53 array->Name, new_size);
57 array->Elements = elems;
58 array->MaxSize = new_size;
65 * Create an array.
70 _EGLArray *array;
72 array = calloc(1, sizeof(*array));
73 if (array) {
74 array->Name = name;
75 array->MaxSize = (init_size > 0) ? init_size : 1;
76 if (!_eglGrowArray(array)) {
77 free(array);
78 array = NULL;
82 return array;
87 * Destroy an array, optionally free the data.
90 _eglDestroyArray(_EGLArray *array, void (*free_cb)(void *))
94 for (i = 0; i < array->Size; i++)
95 free_cb(array->Elements[i]);
97 free(array->Elements);
98 free(array);
103 * Append a element to an array.
106 _eglAppendArray(_EGLArray *array, void *elem)
108 if (array->Size >= array->MaxSize && !_eglGrowArray(array))
111 array->Elements[array->Size++] = elem;
116 * Erase an element from an array.
119 _eglEraseArray(_EGLArray *array, EGLint i, void (*free_cb)(void *))
122 free_cb(array->Elements[i]);
123 if (i < array->Size - 1) {
124 memmove(&array->Elements[i], &array->Elements[i + 1],
125 (array->Size - i - 1) * sizeof(array->Elements[0]));
127 array->Size--;
132 * Find in an array for the given element.
135 _eglFindArray(_EGLArray *array, void *elem)
139 if (!array)
142 for (i = 0; i < array->Size; i++)
143 if (array->Elements[i] == elem)
150 * Filter an array and return the number of filtered elements.
153 _eglFilterArray(_EGLArray *array, void **data, EGLint size,
158 if (!array)
162 for (i = 0; i < array->Size; i++) {
163 if (filter(array->Elements[i], filter_data)) {
165 data[count] = array->Elements[i];
177 * Flatten an array by converting array elements into another form and store
181 _eglFlattenArray(_EGLArray *array, void *buffer, EGLint elem_size, EGLint size,
186 if (!array)
189 count = array->Size;
198 flatten(array->Elements[i],