Lines Matching refs:array

28 This associative array implementation is an object container with the following
36 (2) Objects do not need to contain linkage blocks for use by the array. This
38 Rather, the array is made up of metadata blocks that point to objects.
40 (3) Objects require index keys to locate them within the array.
43 already in the array will replace the old object.
50 (7) Index keys can include a hash to scatter objects throughout the array.
52 (8) The array can iterated over. The objects will not necessarily come out in
55 (9) The array can be iterated over whilst it is being modified, provided the
61 (10) Objects in the array can be looked up by means of their index key.
63 (11) Objects can be looked up whilst the array is being modified, provided the
78 The public API can be found in <linux/assoc_array.h>. The associative array is
153 As the previous function, but gets its data from an object in the array
185 There are a number of functions for manipulating an associative array:
187 (1) Initialise an associative array.
189 void assoc_array_init(struct assoc_array *array);
191 This initialises the base structure for an associative array. It can't
195 (2) Insert/replace an object in an associative array.
198 assoc_array_insert(struct assoc_array *array,
203 This inserts the given object into the array. Note that the least
213 This function makes no alteration to the array itself, but rather returns
217 The caller should lock exclusively against other modifiers of the array.
220 (3) Delete an object from an associative array.
223 assoc_array_delete(struct assoc_array *array,
227 This deletes an object that matches the specified data from the array.
232 This function makes no alteration to the array itself, but rather returns
235 not found within the array.
237 The caller should lock exclusively against other modifiers of the array.
240 (4) Delete all objects from an associative array.
243 assoc_array_clear(struct assoc_array *array,
246 This deletes all the objects from an associative array and leaves it
249 This function makes no alteration to the array itself, but rather returns
253 The caller should lock exclusively against other modifiers of the array.
256 (5) Destroy an associative array, deleting all objects.
258 void assoc_array_destroy(struct assoc_array *array,
261 This destroys the contents of the associative array and leaves it
263 the array under the RCU read lock at the same time as this function is
268 of the array.
271 (6) Garbage collect an associative array.
273 int assoc_array_gc(struct assoc_array *array,
278 This iterates over the objects in an associative array and passes each one
293 It is possible for other threads to iterate over or search the array under
295 lock exclusively against other modifiers of the array.
301 There are two functions for accessing an associative array:
303 (1) Iterate over all the objects in an associative array.
305 int assoc_array_iterate(const struct assoc_array *array,
310 This passes each object in the array to the iterator callback function.
313 This may be used on an array at the same time as the array is being
319 The function will return 0 if no objects were in the array or else it will
325 (2) Find an object in an associative array.
327 void *assoc_array_find(const struct assoc_array *array,
331 This walks through the array's internal tree directly to the object
334 This may be used on an array at the same time as the array is being
371 The associative array data structure has an internal tree. This tree is
374 A node is an array of slots. Each slot can contain one of four things: