array->nr = ++nr;
}
+void object_array_filter(struct object_array *array,
+ object_array_each_func_t want, void *cb_data)
+{
+ unsigned nr = array->nr, src, dst;
+ struct object_array_entry *objects = array->objects;
+
+ for (src = dst = 0; src < nr; src++) {
+ if (want(&objects[src], cb_data)) {
+ if (src != dst)
+ objects[dst] = objects[src];
+ dst++;
+ }
+ }
+ array->nr = dst;
+}
+
void object_array_remove_duplicates(struct object_array *array)
{
unsigned int ref, src, dst;