X-Git-Url: https://git.rrq.au/?a=blobdiff_plain;f=vector%2Fhashvector.h;h=1c3f387443bda77cd212479d3dc56a74c50532d5;hb=e47e7f1e366224e9e514e28f172afa65c732db21;hp=d0f9e12f23114f0ec5aecac85c289e9641d49c85;hpb=c1aae73b1fafd372c4f38a1a205e20a9f22a2fa0;p=rrq%2Frrqmisc.git diff --git a/vector/hashvector.h b/vector/hashvector.h index d0f9e12..1c3f387 100644 --- a/vector/hashvector.h +++ b/vector/hashvector.h @@ -77,7 +77,7 @@ typedef struct { * * \related hashvector */ -int hashvector_find(hashvector *hv,void *key,void **x); +extern int hashvector_find(hashvector *hv,void *key,void **x); /** * Add the given item into the hashvector, growing the hashvector as @@ -89,7 +89,7 @@ int hashvector_find(hashvector *hv,void *key,void **x); * * \related hashvector */ -int hashvector_add(hashvector *hv,void *item); +extern int hashvector_add(hashvector *hv,void *item); /** * Delete the given item, and shrink the hashvector so that its size @@ -100,7 +100,7 @@ int hashvector_add(hashvector *hv,void *item); * * \related hashvector */ -int hashvector_delete(hashvector *hv,void *item); +extern int hashvector_delete(hashvector *hv,void *item); /** * Copy content items into a vector, which must be empty. The @@ -111,7 +111,7 @@ int hashvector_delete(hashvector *hv,void *item); * * \related hashvector */ -int hashvector_contents(hashvector *hv,vector *pv); +extern int hashvector_contents(hashvector *hv,vector *pv); /** * This is a utility function to compute and return a hashcode for a @@ -119,6 +119,11 @@ int hashvector_contents(hashvector *hv,vector *pv); * * \related hashvector */ -unsigned long hashvector_hashcode(unsigned char *key,unsigned long n); +extern unsigned long hashvector_hashcode(unsigned char *key,unsigned long n); + +/** + * Create a hashvector for of given variant for given itemkeyfun* + */ +extern hashvector *hashvector_create(int variant,itemkeyfun *type); #endif