git/sha1-array.h
Stefan Beller 161b1cf3bd sha1-array: provide oid_array_filter
Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-12-05 11:42:31 +09:00

30 lines
782 B
C

#ifndef SHA1_ARRAY_H
#define SHA1_ARRAY_H
struct oid_array {
struct object_id *oid;
int nr;
int alloc;
int sorted;
};
#define OID_ARRAY_INIT { NULL, 0, 0, 0 }
void oid_array_append(struct oid_array *array, const struct object_id *oid);
int oid_array_lookup(struct oid_array *array, const struct object_id *oid);
void oid_array_clear(struct oid_array *array);
typedef int (*for_each_oid_fn)(const struct object_id *oid,
void *data);
int oid_array_for_each(struct oid_array *array,
for_each_oid_fn fn,
void *data);
int oid_array_for_each_unique(struct oid_array *array,
for_each_oid_fn fn,
void *data);
void oid_array_filter(struct oid_array *array,
for_each_oid_fn want,
void *cbdata);
#endif /* SHA1_ARRAY_H */