Jeff King | 902bb36 | 2011-05-19 17:34:33 -0400 | [diff] [blame] | 1 | #ifndef SHA1_ARRAY_H |
| 2 | #define SHA1_ARRAY_H |
| 3 | |
brian m. carlson | 910650d | 2017-03-31 01:40:00 +0000 | [diff] [blame] | 4 | struct oid_array { |
brian m. carlson | ee3051b | 2017-03-26 16:01:37 +0000 | [diff] [blame] | 5 | struct object_id *oid; |
Jeff King | 902bb36 | 2011-05-19 17:34:33 -0400 | [diff] [blame] | 6 | int nr; |
| 7 | int alloc; |
| 8 | int sorted; |
| 9 | }; |
| 10 | |
brian m. carlson | 910650d | 2017-03-31 01:40:00 +0000 | [diff] [blame] | 11 | #define OID_ARRAY_INIT { NULL, 0, 0, 0 } |
Jeff King | 902bb36 | 2011-05-19 17:34:33 -0400 | [diff] [blame] | 12 | |
brian m. carlson | 910650d | 2017-03-31 01:40:00 +0000 | [diff] [blame] | 13 | void oid_array_append(struct oid_array *array, const struct object_id *oid); |
| 14 | int oid_array_lookup(struct oid_array *array, const struct object_id *oid); |
| 15 | void oid_array_clear(struct oid_array *array); |
Jeff King | 902bb36 | 2011-05-19 17:34:33 -0400 | [diff] [blame] | 16 | |
brian m. carlson | 1b7ba79 | 2017-03-31 01:39:59 +0000 | [diff] [blame] | 17 | typedef int (*for_each_oid_fn)(const struct object_id *oid, |
| 18 | void *data); |
brian m. carlson | 910650d | 2017-03-31 01:40:00 +0000 | [diff] [blame] | 19 | int oid_array_for_each_unique(struct oid_array *array, |
brian m. carlson | 1b7ba79 | 2017-03-31 01:39:59 +0000 | [diff] [blame] | 20 | for_each_oid_fn fn, |
Jeff King | 16ddcd4 | 2016-09-26 08:00:29 -0400 | [diff] [blame] | 21 | void *data); |
Jeff King | cff38a5 | 2011-05-19 17:34:46 -0400 | [diff] [blame] | 22 | |
Jeff King | 902bb36 | 2011-05-19 17:34:33 -0400 | [diff] [blame] | 23 | #endif /* SHA1_ARRAY_H */ |