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) |