Data Structures |
| struct | cucon_umap |
| struct | cucon_umap_node |
| struct | cucon_umap_it_t |
Defines |
|
#define | CUCON_UMAP_NODE_INIT(key) { key } |
|
#define | cucon_umap_node_alloc(slot_size) cu_galloc(CU_ALIGNED_SIZEOF(struct cucon_umap_node) + slot_size) |
|
#define | cucon_umap_node_get_mem(node) CU_ALIGNED_MARG_END(cucon_umap_node_t, node) |
|
#define | cucon_umap_it_eq(it0, it1) ((it0.node) == (it1.node)) |
|
#define | cucon_umap_it_key(it) ((it).node->key) |
|
#define | cucon_umap_it_value_mem(it) ((void*)CU_ALIGNED_PTR_END((it).node)) |
|
#define | cucon_umap_it_value_ptr(it) (*(void**)CU_ALIGNED_PTR_END((it).node)) |
| #define | cucon_umap_cct cucon_umap_init |
| #define | cucon_umap_cct_copy_void cucon_umap_init_copy_void |
| #define | cucon_umap_cct_copy_mem cucon_umap_init_copy_mem |
| #define | cucon_umap_cct_copy_mem_ctor cucon_umap_init_copy_mem_ctor |
| #define | cucon_umap_cct_copy_node cucon_umap_init_copy_node |
Typedefs |
|
typedef struct cucon_umap_node * | cucon_umap_node_t |
Functions |
|
cu_uintptr_t | cucon_umap_node_key (cucon_umap_node_t node) |
| void | cucon_umap_init (cucon_umap_t map) |
| cucon_umap_t | cucon_umap_new (void) |
| void | cucon_umap_init_copy_void (cucon_umap_t dst, cucon_umap_t src) |
| cucon_umap_t | cucon_umap_new_copy_void (cucon_umap_t src) |
| void | cucon_umap_init_copy_mem (cucon_umap_t dst, cucon_umap_t src, size_t slot_size) |
| cucon_umap_t | cucon_umap_new_copy_mem (cucon_umap_t src, size_t slot_size) |
| void | cucon_umap_init_copy_mem_ctor (cucon_umap_t dst, cucon_umap_t src, size_t slot_size, cu_clop(value_init_copy, void, void *dst_slot, void *src_slot, uintptr_t key)) |
| void | cucon_umap_init_copy_node (cucon_umap_t dst, cucon_umap_t src, cu_clop(node_alloc_copy, cucon_umap_node_t, void *src_slot, uintptr_t key)) |
| void | cucon_umap_swap (cucon_umap_t map0, cucon_umap_t map1) |
| cu_bool_t | cucon_umap_insert_init_node (cucon_umap_t map, cucon_umap_node_t node) |
| cu_bool_t | cucon_umap_insert_new_node (cucon_umap_t map, uintptr_t key, size_t node_size, cu_ptr_ptr_t node_out) |
| cu_bool_t | cucon_umap_insert_mem (cucon_umap_t map, uintptr_t key, size_t slot_size, cu_ptr_ptr_t slot) |
| cu_bool_t | cucon_umap_insert_void (cucon_umap_t map, uintptr_t key) |
| cu_bool_t | cucon_umap_insert_ptr (cucon_umap_t map, uintptr_t key, void *ptr) |
| cu_bool_t | cucon_umap_insert_int (cucon_umap_t map, uintptr_t key, int val) |
| cu_bool_t | cucon_umap_insert_general (cucon_umap_t map, uintptr_t key, cu_clop0(alloc_node, cucon_umap_node_t), cucon_umap_node_t *node_out) |
| void * | cucon_umap_replace_ptr (cucon_umap_t map, uintptr_t key, void *ptr) |
| int | cucon_umap_replace_int (cucon_umap_t map, uintptr_t key, int val) |
| cu_bool_t | cucon_umap_erase (cucon_umap_t map, uintptr_t key) |
| void * | cucon_umap_erase_ptr (cucon_umap_t map, uintptr_t key) |
| int | cucon_umap_erase_int (cucon_umap_t map, uintptr_t key) |
| cu_bool_t | cucon_umap_erase_keep_cap (cucon_umap_t map, uintptr_t key) |
| cucon_umap_node_t | cucon_umap_pop_any_node (cucon_umap_t map) |
| uintptr_t | cucon_umap_pop_any_key (cucon_umap_t map) |
| void | cucon_umap_update_cap (cucon_umap_t map) |
| cucon_umap_node_t | cucon_umap_find_node (cucon_umap_t map, uintptr_t key) |
| void * | cucon_umap_find_mem (cucon_umap_t map, uintptr_t key) |
| void * | cucon_umap_find_ptr (cucon_umap_t map, uintptr_t key) |
| int | cucon_umap_find_int (cucon_umap_t map, uintptr_t key) |
| cu_bool_t | cucon_umap_find_void (cucon_umap_t map, uintptr_t key) |
| void | cucon_umap_iter_mem (cucon_umap_t map, cu_clop(cb, void, uintptr_t key, void *value)) |
|
cu_bool_t | cucon_umap_conj_general (cucon_umap_t map, size_t node_offset, cu_clop(cb, cu_bool_t, uintptr_t, void *)) |
| cu_bool_t | cucon_umap_conj_mem (cucon_umap_t map, cu_clop(cb, cu_bool_t, uintptr_t, void *)) |
| void | cucon_umap_iter_keys (cucon_umap_t map, cu_clop(cb, void, uintptr_t)) |
| void | cucon_umap_iter_increasing_keys (cucon_umap_t map, cu_clop(cb, void, uintptr_t)) |
| cu_bool_t | cucon_umap_conj_keys (cucon_umap_t map, cu_clop(cb, cu_bool_t, uintptr_t)) |
| cu_bool_t | cucon_umap_conj_node (cucon_umap_t map, cu_clop(cb, cu_bool_t, cucon_umap_node_t node)) |
| void | cucon_umap_assign_isecn_union (cucon_umap_t map0, cucon_umap_t map1) |
| void | cucon_umap_move_isecn (cucon_umap_t dst, cucon_umap_t src0, cucon_umap_t src1) |
| void | cucon_umap_assign_isecn (cucon_umap_t dst, cucon_umap_t src) |
| void | cucon_umap_assign_union_void (cucon_umap_t dst, cucon_umap_t src) |
| void | cucon_umap_dump_stats (cucon_umap_t map, FILE *out) |
| size_t | cucon_umap_size (cucon_umap_t map) |
| cu_bool_t | cucon_umap_is_empty (cucon_umap_t map) |
| cu_bool_t | cucon_umap_eq_keys (cucon_umap_t map0, cucon_umap_t map1) |
| cu_bool_t | cucon_umap_eq_mem (cucon_umap_t map0, cucon_umap_t map1, size_t slot_size) |
| cu_bool_t | cucon_umap_eq_ptr (cucon_umap_t map0, cucon_umap_t map1) |
| cu_hash_t | cucon_umap_hash_keys (cucon_umap_t map) |
| cu_hash_t | cucon_umap_hash_mem (cucon_umap_t map, size_t slot_size) |
| cu_hash_t | cucon_umap_hash_ptr (cucon_umap_t map) |
| void | cucon_umap_print_keys (cucon_umap_t map, FILE *out) |
|
cucon_umap_it_t | cucon_umap_begin (cucon_umap_t map) |
|
cucon_umap_it_t | cucon_umap_end (cucon_umap_t map) |
|
cu_bool_t | cucon_umap_end_eq (cucon_umap_t map, cucon_umap_it_t it) |
|
cucon_umap_it_t | cucon_umap_it_next (cucon_umap_it_t it) |