Lines Matching refs:an

8 This associative array implementation is an object container with the following
19 permits an object to be located in multiple arrays simultaneously.
24 4. Index keys must be unique. Inserting an object with the same key as one
52 pack leaf object pointers into spare space in the node rather than making an
53 extra branch until as such time an object needs to be added to a full node.
74 The insertion and deletion functions produce an 'edit script' that can later be
82 after an RCU grace period has passed - thus allowing access functions to
91 1. Apply an edit script::
100 2. Cancel an edit script::
132 2. Get a chunk of an object's index key::
136 As the previous function, but gets its data from an object in the array
144 Compare the object against an index key and return ``true`` if it matches and
156 5. Free an object::
160 Free the specified object. Note that this may be called an RCU grace period
168 There are a number of functions for manipulating an associative array:
170 1. Initialise an associative array::
174 This initialises the base structure for an associative array. It can't fail.
177 2. Insert/replace an object in an associative array::
189 If an object already exists for that key then it will be replaced with the
196 an edit script that must be applied. ``-ENOMEM`` is returned in the case of
197 an out-of-memory error.
202 3. Delete an object from an associative array::
209 This deletes an object that matches the specified data from the array.
215 an edit script that must be applied. ``-ENOMEM`` is returned in the case of
216 an out-of-memory error. ``NULL`` will be returned if the specified object is
222 4. Delete all objects from an associative array::
228 This deletes all the objects from an associative array and leaves it
232 an edit script that must be applied. ``-ENOMEM`` is returned in the case of
233 an out-of-memory error.
238 5. Destroy an associative array, deleting all objects::
253 6. Garbage collect an associative array::
260 This iterates over the objects in an associative array and passes each one to
283 There are two functions for accessing an associative array:
285 1. Iterate over all the objects in an associative array::
295 This may be used on an array at the same time as the array is being
307 2. Find an object in an associative array::
316 This may be used on an array at the same time as the array is being
328 very early on before any variation due to the length would have an effect on
352 The associative array data structure has an internal tree. This tree is
355 A node is an array of slots. Each slot can contain one of four things:
358 * A pointer to an object (a leaf).
512 2. Simple delete. This involves just clearing an old matching leaf. The
552 Obsolete blocks and leaves are freed up after an RCU grace period has passed,