summaryrefslogtreecommitdiff
path: root/hash.h
diff options
context:
space:
mode:
authorKarsten Blees <karsten.blees@gmail.com>2013-11-14 19:23:12 (GMT)
committerJunio C Hamano <gitster@pobox.com>2013-11-18 21:04:25 (GMT)
commitefc684245b81ae0fb8f0afbd06dc1c3101c4e5a0 (patch)
treedf9c2df21f55b0b0d89ed7ac37b71c2d0bd4851a /hash.h
parent419a597f6408d5b5cffe3e278258f58b47d15ad3 (diff)
downloadgit-efc684245b81ae0fb8f0afbd06dc1c3101c4e5a0.zip
git-efc684245b81ae0fb8f0afbd06dc1c3101c4e5a0.tar.gz
git-efc684245b81ae0fb8f0afbd06dc1c3101c4e5a0.tar.bz2
remove old hash.[ch] implementation
Signed-off-by: Karsten Blees <blees@dcon.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'hash.h')
-rw-r--r--hash.h50
1 files changed, 0 insertions, 50 deletions
diff --git a/hash.h b/hash.h
deleted file mode 100644
index 1d43ac0..0000000
--- a/hash.h
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef HASH_H
-#define HASH_H
-
-/*
- * These are some simple generic hash table helper functions.
- * Not necessarily suitable for all users, but good for things
- * where you want to just keep track of a list of things, and
- * have a good hash to use on them.
- *
- * It keeps the hash table at roughly 50-75% free, so the memory
- * cost of the hash table itself is roughly
- *
- * 3 * 2*sizeof(void *) * nr_of_objects
- *
- * bytes.
- *
- * FIXME: on 64-bit architectures, we waste memory. It would be
- * good to have just 32-bit pointers, requiring a special allocator
- * for hashed entries or something.
- */
-struct hash_table_entry {
- unsigned int hash;
- void *ptr;
-};
-
-struct hash_table {
- unsigned int size, nr;
- struct hash_table_entry *array;
-};
-
-extern void *lookup_hash(unsigned int hash, const struct hash_table *table);
-extern void **insert_hash(unsigned int hash, void *ptr, struct hash_table *table);
-extern int for_each_hash(const struct hash_table *table, int (*fn)(void *, void *), void *data);
-extern void free_hash(struct hash_table *table);
-
-static inline void init_hash(struct hash_table *table)
-{
- table->size = 0;
- table->nr = 0;
- table->array = NULL;
-}
-
-static inline void preallocate_hash(struct hash_table *table, unsigned int elts)
-{
- assert(table->size == 0 && table->nr == 0 && table->array == NULL);
- table->size = elts * 2;
- table->array = xcalloc(sizeof(struct hash_table_entry), table->size);
-}
-
-#endif