2 * This file is part of fastq-tools.
4 * Copyright (c) 2011 by Daniel C. Jones <dcjones@cs.washington.edu>
7 * A quick and simple all-purpose hash table.
12 #ifndef FASTQ_TOOLS_HASH_H
13 #define FASTQ_TOOLS_HASH_H
19 typedef struct hashed_value_
24 struct hashed_value_* next;
30 hashed_value** A; /* table proper */
31 size_t n; /* table size */
32 size_t m; /* hashed items */
33 size_t max_m; /* max hashed items before rehash */
37 hash_table* create_hash_table();
39 void destroy_hash_table(hash_table*);
41 void inc_hash_table(hash_table*, const char* value, size_t len);
43 hashed_value** dump_hash_table(hash_table*);