|
static size_t | gen_string_hash (union HashKey key, size_t num_elems) |
| Generate a hash from a string - Implements hash_gen_hash_t -. More...
|
|
static int | cmp_string_key (union HashKey a, union HashKey b) |
| Compare two string keys - Implements hash_cmp_key_t -. More...
|
|
static size_t | gen_case_string_hash (union HashKey key, size_t num_elems) |
| Generate a hash from a string (ignore the case) - Implements hash_gen_hash_t -. More...
|
|
static int | cmp_case_string_key (union HashKey a, union HashKey b) |
| Compare two string keys (ignore case) - Implements hash_cmp_key_t -. More...
|
|
static size_t | gen_int_hash (union HashKey key, size_t num_elems) |
| Generate a hash from an integer - Implements hash_gen_hash_t -. More...
|
|
static int | cmp_int_key (union HashKey a, union HashKey b) |
| Compare two integer keys - Implements hash_cmp_key_t -. More...
|
|
static struct HashTable * | hash_new (size_t num_elems) |
| Create a new Hash Table. More...
|
|
static struct HashElem * | union_hash_insert (struct HashTable *table, union HashKey key, int type, void *data) |
| Insert into a hash table using a union as a key. More...
|
|
static struct HashElem * | union_hash_find_elem (const struct HashTable *table, union HashKey key) |
| Find a HashElem in a Hash Table element using a key. More...
|
|
static void * | union_hash_find (const struct HashTable *table, union HashKey key) |
| Find the HashElem data in a Hash Table element using a key. More...
|
|
static void | union_hash_delete (struct HashTable *table, union HashKey key, const void *data) |
| Remove an element from a Hash Table. More...
|
|
struct HashTable * | mutt_hash_new (size_t num_elems, HashFlags flags) |
| Create a new Hash Table (with string keys) More...
|
|
struct HashTable * | mutt_hash_int_new (size_t num_elems, HashFlags flags) |
| Create a new Hash Table (with integer keys) More...
|
|
void | mutt_hash_set_destructor (struct HashTable *table, hash_hdata_free_t fn, intptr_t fn_data) |
| Set the destructor for a Hash Table. More...
|
|
struct HashElem * | mutt_hash_typed_insert (struct HashTable *table, const char *strkey, int type, void *data) |
| Insert a string with type info into a Hash Table. More...
|
|
struct HashElem * | mutt_hash_insert (struct HashTable *table, const char *strkey, void *data) |
| Add a new element to the Hash Table (with string keys) More...
|
|
struct HashElem * | mutt_hash_int_insert (struct HashTable *table, unsigned int intkey, void *data) |
| Add a new element to the Hash Table (with integer keys) More...
|
|
void * | mutt_hash_find (const struct HashTable *table, const char *strkey) |
| Find the HashElem data in a Hash Table element using a key. More...
|
|
struct HashElem * | mutt_hash_find_elem (const struct HashTable *table, const char *strkey) |
| Find the HashElem in a Hash Table element using a key. More...
|
|
void * | mutt_hash_int_find (const struct HashTable *table, unsigned int intkey) |
| Find the HashElem data in a Hash Table element using a key. More...
|
|
struct HashElem * | mutt_hash_find_bucket (const struct HashTable *table, const char *strkey) |
| Find the HashElem in a Hash Table element using a key. More...
|
|
void | mutt_hash_delete (struct HashTable *table, const char *strkey, const void *data) |
| Remove an element from a Hash Table. More...
|
|
void | mutt_hash_int_delete (struct HashTable *table, unsigned int intkey, const void *data) |
| Remove an element from a Hash Table. More...
|
|
void | mutt_hash_free (struct HashTable **ptr) |
| Free a hash table. More...
|
|
struct HashElem * | mutt_hash_walk (const struct HashTable *table, struct HashWalkState *state) |
| Iterate through all the HashElem's in a Hash Table. More...
|
|
Hash Table data structure.
- Authors
- Michael R. Elkins
- Richard Russon
- Copyright
- This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Definition in file hash.c.