Data Structures | |
| struct | cucon_rbmap |
Functions | |
| void | cucon_rbmap_init (cucon_rbmap_t map, cu_clop(cmp, int, void *, void *)) |
| cucon_rbmap_t | cucon_rbmap_new (cu_clop(cmp, int, void *, void *)) |
| size_t | cucon_rbmap_size (cucon_rbmap_t map) |
| void * | cucon_rbmap_find_mem (cucon_rbmap_t map, void *key) |
| void * | cucon_rbmap_find_ptr (cucon_rbmap_t map, void *key) |
| cu_bool_t | cucon_rbmap_insert_mem (cucon_rbmap_t map, void *key, size_t slot_size, cu_ptr_ptr_t slot) |
| cu_bool_t | cucon_rbmap_insert_ptr (cucon_rbmap_t map, void *key, void *val) |
| cu_bool_t | cucon_rbmap_erase (cucon_rbmap_t map, void *key) |
| cu_bool_t | cucon_rbmap_conj_mem (cucon_rbmap_t map, cu_clop(cb, cu_bool_t, void *key, void *val)) |
| cu_bool_t | cucon_rbmap_conj_ptr (cucon_rbmap_t map, cu_clop(cb, cu_bool_t, void *key, void *val)) |
| cu_bool_t cucon_rbmap_conj_mem | ( | cucon_rbmap_t | map, | |
| cu_clop(cb, cu_bool_t, void *key, void *val) | ||||
| ) |
Sequentially conjunct cb over (key, slotptr)-pairs of map in order as given by the ordering operator of map.
| cu_bool_t cucon_rbmap_conj_ptr | ( | cucon_rbmap_t | map, | |
| cu_clop(cb, cu_bool_t, void *key, void *val) | ||||
| ) |
Sequantially conjunct cb over pairs of keys and defererenced pointer slots of map in order as given by the ordering operator of map.
| cu_bool_t cucon_rbmap_erase | ( | cucon_rbmap_t | map, | |
| void * | key | |||
| ) |
If key is in map, erase it and return true, else return false.
| void* cucon_rbmap_find_mem | ( | cucon_rbmap_t | map, | |
| void * | key | |||
| ) |
Return the slot for key in map, or NULL if not found.
| void* cucon_rbmap_find_ptr | ( | cucon_rbmap_t | map, | |
| void * | key | |||
| ) |
Return the pointer value of the slot of key in map, or NULL if not found.
| void cucon_rbmap_init | ( | cucon_rbmap_t | map, | |
| cu_clop(cmp, int, void *, void *) | ||||
| ) |
Construct map as an empty map where keps are totally ordered according to cmp, where cmp(x, y) shall return
| cu_bool_t cucon_rbmap_insert_mem | ( | cucon_rbmap_t | map, | |
| void * | key, | |||
| size_t | slot_size, | |||
| cu_ptr_ptr_t | slot | |||
| ) |
If key is not in map, then insert it with an associated slot of slot_size bytes. Returns true iff key was inserted. In any case, return the slot in *slot.
| cu_bool_t cucon_rbmap_insert_ptr | ( | cucon_rbmap_t | map, | |
| void * | key, | |||
| void * | val | |||
| ) |
If key is not in map, then insert it with a pointer-valued slot set to val. Returns true iff key was inserted.
| cucon_rbmap_t cucon_rbmap_new | ( | cu_clop(cmp, int, void *, void *) | ) |
Return a map where keys are ordered according to cmp.
| size_t cucon_rbmap_size | ( | cucon_rbmap_t | map | ) |
The number of elements in map.