|
libcproject
C static library easier to use than libc (C standard library).
|
#include <errno.h>#include <stdbool.h>#include <stdint.h>#include <stdlib.h>#include <string.h>#include "linked_list.h"#include "types.h"

Go to the source code of this file.
Data Structures | |
| struct | hash_map |
| Hash map data structure. More... | |
| struct | hash_map_item |
| Hash map item data structure. More... | |
Macros | |
| #define | HASH_MAP_INITIAL_CAPACITY 10 |
Functions | |
| uint64_t | hash (string_t key, size_t capacity) |
| Hash function (using SipHash 1-3 algorithm). More... | |
| struct hash_map * | hash_map_initialization () |
| Hash map initialization. More... | |
| void | hash_map_add (struct hash_map *hash_map, string_t key, void *data) |
| Add an item to the hash map. More... | |
| void | hash_map_remove (struct hash_map *hash_map, string_t key) |
| Remove an item from the hash map. More... | |
| void * | hash_map_get (struct hash_map *hash_map, string_t key) |
| Get an item from the hash map. More... | |
| bool | hash_map_contains_key (struct hash_map *hash_map, string_t key) |
| Check if the hash map contains a key. More... | |
| string_t * | hash_map_get_keys (struct hash_map *hash_map) |
| Get the hash map keys. More... | |
| void | hash_map_free (struct hash_map *hash_map) |
| Frees the hash map. More... | |
| struct hash_map |

| Data Fields | ||
|---|---|---|
| struct linked_list ** | items | |
| size_t | length | |
| size_t | capacity | |
| struct hash_map_item |
| Data Fields | ||
|---|---|---|
| void * | data | |
| string_t | key | |
| #define HASH_MAP_INITIAL_CAPACITY 10 |
Definition at line 14 of file hash_map.h.
| uint64_t hash | ( | string_t | key, |
| size_t | capacity | ||
| ) |
Hash function (using SipHash 1-3 algorithm).
| key | |
| capacity |
| struct hash_map* hash_map_initialization | ( | ) |
Hash map initialization.