Changed a lot of non-const pointers to const.
[pspp-builds.git] / src / libpspp / hash.h
index 06e4d084ed77feb31f16496cb2b6312d5b643b54..c0bc5687ea67ca320d81d0cd0323af5e0e3b1ddd 100644 (file)
@@ -87,4 +87,109 @@ size_t hsh_count (struct hsh_table *);
 void hsh_dump (struct hsh_table *);
 #endif
 
+
+/* Const Wrappers for the above */
+
+static inline struct const_hsh_table *
+const_hsh_create (int m,
+                 hsh_compare_func *hcf,
+                 hsh_hash_func *hhf, hsh_free_func *hff,
+                 const void *aux)
+{
+  return (struct const_hsh_table *) hsh_create (m, hcf, hhf, hff, aux);
+}
+
+
+
+static inline struct const_hsh_table *
+const_hsh_create_pool (struct pool *pool, int m,
+                      hsh_compare_func *cf,
+                      hsh_hash_func *hf, hsh_free_func *ff,
+                      const void *aux)
+{
+  return (struct const_hsh_table *) hsh_create_pool (pool, m, cf, hf, ff, aux);
+}
+
+
+static inline void
+const_hsh_clear (struct const_hsh_table *h)
+{
+  hsh_clear ( (struct hsh_table *) h);
+}
+
+static inline void
+const_hsh_destroy (struct const_hsh_table *h)
+{
+  hsh_destroy ( (struct hsh_table *) h);
+}
+
+static inline void *const *
+const_hsh_sort (struct const_hsh_table *h)
+{
+  return hsh_sort ( (struct hsh_table *) h);
+}
+
+static inline void *const *
+const_hsh_data (struct const_hsh_table *h)
+{
+  return hsh_data ( (struct hsh_table *) h);
+}
+
+static inline void **
+const_hsh_sort_copy (struct const_hsh_table *h)
+{
+  return hsh_sort_copy ( (struct hsh_table *) h);
+}
+
+static inline void **
+const_hsh_data_copy (struct const_hsh_table *h)
+{
+  return hsh_data_copy ( (struct hsh_table *) h);
+}
+
+
+static inline size_t
+const_hsh_count (struct const_hsh_table *h)
+{
+  return hsh_count ( (struct hsh_table *) h);
+}
+
+static inline void *
+const_hsh_insert (struct const_hsh_table *h, const void *item)
+{
+  return hsh_insert ( (struct hsh_table *) h, (void *) item);
+}
+
+static inline void *
+const_hsh_replace (struct const_hsh_table *h, const void *item)
+{
+  return hsh_replace ( (struct hsh_table *) h, (void *) item);
+}
+
+static inline void *
+const_hsh_find (struct const_hsh_table *h, const void *item)
+{
+  return hsh_find ( (struct hsh_table *) h, (void *) item);
+}
+
+static inline bool
+const_hsh_delete (struct const_hsh_table *h, const void *item)
+{
+  return hsh_delete ( (struct hsh_table *)h, (void *) item);
+}
+
+
+static inline void *
+const_hsh_first (struct const_hsh_table *h, struct hsh_iterator *i)
+{
+  return hsh_first ( (struct hsh_table *) h, i);
+}
+
+static inline void *
+const_hsh_next (struct const_hsh_table *h, struct hsh_iterator *i)
+{
+  return hsh_next ( (struct hsh_table *) h, i);
+}
+
+
 #endif /* hash_h */