From: brian m. carlson Date: Tue, 19 Feb 2019 00:04:53 +0000 (+0000) Subject: khash: move oid hash table definition X-Git-Tag: v2.22.0-rc0~58^2~33 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/5a8643eff1e59f1cf96da9875d5716e88f480710 khash: move oid hash table definition Move the oid khash table definition to khash.h and define a typedef for it, similar to the one we have for unsigned char pointers. Define variants that are maps as well. Signed-off-by: brian m. carlson Signed-off-by: Junio C Hamano --- diff --git a/khash.h b/khash.h index 532109c87f..a09163b3e3 100644 --- a/khash.h +++ b/khash.h @@ -332,4 +332,22 @@ typedef kh_sha1_t khash_sha1; KHASH_INIT(sha1_pos, const unsigned char *, int, 1, sha1hash, __kh_oid_cmp) typedef kh_sha1_pos_t khash_sha1_pos; +static inline unsigned int oid_hash(struct object_id oid) +{ + return sha1hash(oid.hash); +} + +static inline int oid_equal(struct object_id a, struct object_id b) +{ + return oideq(&a, &b); +} + +KHASH_INIT(oid, struct object_id, int, 0, oid_hash, oid_equal) + +KHASH_INIT(oid_map, struct object_id, void *, 1, oid_hash, oid_equal) +typedef kh_oid_t khash_oid_map; + +KHASH_INIT(oid_pos, struct object_id, int, 1, oid_hash, oid_equal) +typedef kh_oid_pos_t khash_oid_pos; + #endif /* __AC_KHASH_H */ diff --git a/oidset.h b/oidset.h index c9d0f6d3cc..14f18f791f 100644 --- a/oidset.h +++ b/oidset.h @@ -16,18 +16,6 @@ * table overhead. */ -static inline unsigned int oid_hash(struct object_id oid) -{ - return sha1hash(oid.hash); -} - -static inline int oid_equal(struct object_id a, struct object_id b) -{ - return oideq(&a, &b); -} - -KHASH_INIT(oid, struct object_id, int, 0, oid_hash, oid_equal) - /** * A single oidset; should be zero-initialized (or use OIDSET_INIT). */