31 typedef xroad_map_entry_t* (*xroad_map_iter_func_t)(xroad_map_entry_t*);
47 xroad_mem_pool_t* pool;
61 #define xroad_map_create(...) \
63 xroad_map_args_t args = {__VA_ARGS__}; \
64 xroad_map_create_ex(args.pool, args.cmp, args.dtor); \
73 #define __xroad_map_dtor__ __dtor__(xroad_map_destructor)
74 void xroad_map_destructor(
void* map);
93 xroad_map_t* map,
const void* key, uint32_t key_size,
const void* value, uint32_t value_size);
Definition: xroad_map.h:46
Definition: xroad_map.h:37
xroad_map_entry_t * entry
inserted or existing entry
Definition: xroad_map.h:38
xroad_errno_t result
result of insertion
Definition: xroad_map.h:39
struct xroad_list_s xroad_list_t
see common/xroad_list.h for deaails
Definition: xroad_common_fwd.h:24
struct xroad_map_s xroad_map_t
see common/xroad_map.h for details
Definition: xroad_common_fwd.h:56
xroad_map_t * xroad_map_create_ex(xroad_mem_pool_t *pool, xroad_map_cmp_func_t cmp, xroad_map_free_func_t dtor)
uint32_t xroad_map_entry_get_key_size(const xroad_map_entry_t *entry)
void * xroad_map_entry_get_value(xroad_map_entry_t *entry)
xroad_map_entry_t * xroad_map_upper_bound(xroad_map_t *map, const void *key, uint32_t size)
void(* xroad_map_free_func_t)(void *, uint32_t)
Definition: xroad_map.h:26
int32_t(* xroad_map_cmp_func_t)(const void *, uint32_t, const void *, uint32_t)
Definition: xroad_map.h:21
xroad_map_entry_t * xroad_map_find(xroad_map_t *map, const void *key, uint32_t size)
xroad_list_t * xroad_map_to_list(xroad_map_t *map)
xroad_map_result_t xroad_map_insert(xroad_map_t *map, const void *key, uint32_t key_size, const void *value, uint32_t value_size)
void xroad_map_delete_min(xroad_map_t *map)
void * xroad_map_entry_get_key(xroad_map_entry_t *entry)
xroad_map_entry_t * xroad_map_get_min(xroad_map_t *map)
uint32_t xroad_map_entry_get_value_size(const xroad_map_entry_t *entry)
void xroad_map_clear(xroad_map_t *map)
xroad_map_entry_t * xroad_map_entry_set_value(xroad_map_entry_t *entry, const void *value, uint32_t value_size, xroad_map_free_func_t dtor)
void xroad_map_destroy(xroad_map_t *map)
xroad_errno_t xroad_map_entry_delete(xroad_map_t *map, xroad_map_entry_t *entry)
xroad_map_entry_t * xroad_map_entry_get_prev(xroad_map_entry_t *e)
xroad_map_entry_t * xroad_map_get_max(xroad_map_t *map)
xroad_map_entry_t * xroad_map_lower_bound(xroad_map_t *map, const void *key, uint32_t size)
xroad_errno_t xroad_map_delete(xroad_map_t *map, const void *key, uint32_t size)
void xroad_map_delete_max(xroad_map_t *map)
uint32_t xroad_map_get_size(xroad_map_t *map)
xroad_map_entry_t * xroad_map_entry_get_next(xroad_map_entry_t *e)