|
C Container Collection (CCC)
|
The Adaptive Map Private Interface. More...


Go to the source code of this file.
The Adaptive Map Private Interface.
The adaptive map is currently implemented as a Splay Tree. A Splay Tree is a self-optimizing data structure that "adapts" the usage pattern of the user by moving frequently accessed elements to the root. In the process, the trees height is also reduced through rotations.
Adaptive, is the word used for this container because there are many self-optimizing data structures that could take over this implementation. It is best not to tie the naming to any one type of tree or data structure.
Data Structures | |
| struct | CCC_Adaptive_map_node |
| struct | CCC_Adaptive_map |
| struct | CCC_Adaptive_map_entry |
| union | CCC_Adaptive_map_entry_wrap |
Macros | |
| #define | CCC_private_adaptive_map_initialize( private_struct_name, private_node_node_field, private_key_node_field, private_key_comparator, private_allocate, private_context_data) |
| #define | CCC_private_adaptive_map_from( private_type_intruder_field_name, private_key_field_name, private_compare, private_allocate, private_destroy, private_context_data, private_compound_literal_array...) |
| #define | CCC_private_adaptive_map_new(adaptive_map_entry) |
| #define | CCC_private_adaptive_map_insert_key_val(adaptive_map_entry, new_data, type_compound_literal...) |
| #define | CCC_private_adaptive_map_insert_and_copy_key( om_insert_entry, om_insert_entry_ret, key, type_compound_literal...) |
| #define | CCC_private_adaptive_map_and_modify_with(adaptive_map_entry_pointer, type_name, closure_over_T...) |
| #define | CCC_private_adaptive_map_or_insert_with(adaptive_map_entry_pointer, type_compound_literal...) |
| #define | CCC_private_adaptive_map_insert_entry_with(adaptive_map_entry_pointer, type_compound_literal...) |
| #define | CCC_private_adaptive_map_try_insert_with(adaptive_map_pointer, key, type_compound_literal...) |
| #define | CCC_private_adaptive_map_insert_or_assign_with( adaptive_map_pointer, key, type_compound_literal...) |
Functions | |
| void * | CCC_private_adaptive_map_key_in_slot (struct CCC_Adaptive_map const *, void const *) |
| struct CCC_Adaptive_map_node * | CCC_private_adaptive_map_node_in_slot (struct CCC_Adaptive_map const *, void const *) |
| struct CCC_Adaptive_map_entry | CCC_private_adaptive_map_entry (struct CCC_Adaptive_map *, void const *) |
| void * | CCC_private_adaptive_map_insert (struct CCC_Adaptive_map *, struct CCC_Adaptive_map_node *) |
| #define CCC_private_adaptive_map_and_modify_with | ( | adaptive_map_entry_pointer, | |
| type_name, | |||
| closure_over_T... | |||
| ) |
| #define CCC_private_adaptive_map_from | ( | private_type_intruder_field_name, | |
| private_key_field_name, | |||
| private_compare, | |||
| private_allocate, | |||
| private_destroy, | |||
| private_context_data, | |||
| private_compound_literal_array... | |||
| ) |
| #define CCC_private_adaptive_map_initialize | ( | private_struct_name, | |
| private_node_node_field, | |||
| private_key_node_field, | |||
| private_key_comparator, | |||
| private_allocate, | |||
| private_context_data | |||
| ) |
| #define CCC_private_adaptive_map_insert_and_copy_key | ( | om_insert_entry, | |
| om_insert_entry_ret, | |||
| key, | |||
| type_compound_literal... | |||
| ) |
| #define CCC_private_adaptive_map_insert_entry_with | ( | adaptive_map_entry_pointer, | |
| type_compound_literal... | |||
| ) |
| #define CCC_private_adaptive_map_insert_key_val | ( | adaptive_map_entry, | |
| new_data, | |||
| type_compound_literal... | |||
| ) |
| #define CCC_private_adaptive_map_insert_or_assign_with | ( | adaptive_map_pointer, | |
| key, | |||
| type_compound_literal... | |||
| ) |
| #define CCC_private_adaptive_map_new | ( | adaptive_map_entry | ) |
| #define CCC_private_adaptive_map_or_insert_with | ( | adaptive_map_entry_pointer, | |
| type_compound_literal... | |||
| ) |
| #define CCC_private_adaptive_map_try_insert_with | ( | adaptive_map_pointer, | |
| key, | |||
| type_compound_literal... | |||
| ) |
| struct CCC_Adaptive_map_entry CCC_private_adaptive_map_entry | ( | struct CCC_Adaptive_map * | , |
| void const * | |||
| ) |
| void * CCC_private_adaptive_map_insert | ( | struct CCC_Adaptive_map * | , |
| struct CCC_Adaptive_map_node * | |||
| ) |
| void * CCC_private_adaptive_map_key_in_slot | ( | struct CCC_Adaptive_map const * | , |
| void const * | |||
| ) |
| struct CCC_Adaptive_map_node * CCC_private_adaptive_map_node_in_slot | ( | struct CCC_Adaptive_map const * | , |
| void const * | |||
| ) |