*
* \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
*
* \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
*
* \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
*
* \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
*
* \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