sha1-array.hon commit Fourth batch (bc12974)
   1#ifndef SHA1_ARRAY_H
   2#define SHA1_ARRAY_H
   3
   4struct oid_array {
   5        struct object_id *oid;
   6        int nr;
   7        int alloc;
   8        int sorted;
   9};
  10
  11#define OID_ARRAY_INIT { NULL, 0, 0, 0 }
  12
  13void oid_array_append(struct oid_array *array, const struct object_id *oid);
  14int oid_array_lookup(struct oid_array *array, const struct object_id *oid);
  15void oid_array_clear(struct oid_array *array);
  16
  17typedef int (*for_each_oid_fn)(const struct object_id *oid,
  18                               void *data);
  19int oid_array_for_each(struct oid_array *array,
  20                       for_each_oid_fn fn,
  21                       void *data);
  22int oid_array_for_each_unique(struct oid_array *array,
  23                              for_each_oid_fn fn,
  24                              void *data);
  25void oid_array_filter(struct oid_array *array,
  26                      for_each_oid_fn want,
  27                      void *cbdata);
  28
  29#endif /* SHA1_ARRAY_H */