upgrade for hashvector ABI changes.
[rrq/rrqmisc.git] / vector / vector.h
index 33cf96a46ce26919d927ca019891c83b5cae5bbb..4dc61f8ee793d2429a7807c56c07a060a8f0bf32 100644 (file)
@@ -67,9 +67,7 @@ enum vector_variant {
  */
 typedef struct {
     /**
-     * The indexing variant. 0 = 8-bit, 1 = 4-bit, and 2 = 2-bit
-     * indexing parts. This gives 256, 16 or 4 slots per index page.
-     * Note that variant should not be changed after initialization.
+     * The indexing variant.
      */
     enum vector_variant variant;
 
@@ -379,4 +377,20 @@ extern vector_index vector_find(vector *pv,void *value);
  */
 extern vector_index vector_next_unused(vector *pv,vector_index index);
 
+/**
+ * \brief Convenience callback function for vector shrinking to free
+ * any existing slot assignment.
+ *
+ * \related vector
+ */
+extern int vector_free_any(vector *pv,vector_index ix,void *item,void *data);
+
+/**
+ * \brief Convenience callback function for vector shrinking to ignore
+ * any existing slot assignment (without free-ing them).
+ *
+ * \related vector
+ */
+extern int vector_clear_any(vector *pv,vector_index ix,void *item,void *data);
+
 #endif