Zephyr Project API
3.4.0
A Scalable Open Source RTOS
|
Hashmap (Hash Table) API. More...
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <zephyr/sys/hash_function.h>
#include <zephyr/sys/util.h>
Go to the source code of this file.
Data Structures | |
struct | sys_hashmap_iterator |
Generic Hashmap iterator interface. More... | |
struct | sys_hashmap_api |
Generic Hashmap API. More... | |
struct | sys_hashmap_config |
Generic Hashmap configuration. More... | |
struct | sys_hashmap_data |
Generic Hashmap data. More... | |
Macros | |
#define | SYS_HASHMAP_CONFIG(_max_size, _load_factor) |
Initializer for sys_hashmap_config . More... | |
Typedefs | |
typedef void *(* | sys_hashmap_allocator_t) (void *ptr, size_t new_size) |
Allocator interface for sys_hashmap. More... | |
typedef void(* | sys_hashmap_iterator_t) (const struct sys_hashmap *map, struct sys_hashmap_iterator *it) |
In-place iterator constructor for sys_hashmap. More... | |
typedef void(* | sys_hashmap_callback_t) (uint64_t key, uint64_t value, void *cookie) |
Callback interface for sys_hashmap. More... | |
typedef void(* | sys_hashmap_clear_t) (struct sys_hashmap *map, sys_hashmap_callback_t cb, void *cookie) |
Clear all entries contained in a sys_hashmap. More... | |
typedef int(* | sys_hashmap_insert_t) (struct sys_hashmap *map, uint64_t key, uint64_t value, uint64_t *old_value) |
Insert a new entry into a sys_hashmap. More... | |
typedef bool(* | sys_hashmap_remove_t) (struct sys_hashmap *map, uint64_t key, uint64_t *value) |
Remove an entry from a sys_hashmap. More... | |
typedef bool(* | sys_hashmap_get_t) (const struct sys_hashmap *map, uint64_t key, uint64_t *value) |
Get a value from a sys_hashmap. More... | |
Functions | |
static bool | sys_hashmap_iterator_has_next (const struct sys_hashmap_iterator *it) |
Check if a Hashmap iterator has a next entry. More... | |
Hashmap (Hash Table) API.
Hashmaps (a.k.a Hash Tables) sacrifice space for speed. All operations on a Hashmap (insert, delete, search) are O(1) complexity (on average).