| 1234567891011121314151617181920212223 |
- #define CAVL_PARAM_NAME MyTree
- #define CAVL_PARAM_FEATURE_COUNTS USE_COUNTS
- #define CAVL_PARAM_FEATURE_KEYS_ARE_INDICES 0
- #define CAVL_PARAM_FEATURE_ASSOC USE_ASSOC
- #define CAVL_PARAM_TYPE_ENTRY struct entry
- #define CAVL_PARAM_TYPE_LINK entry_index
- #define CAVL_PARAM_TYPE_KEY entry_key
- #define CAVL_PARAM_TYPE_ARG entry_ptr
- #define CAVL_PARAM_TYPE_COUNT size_t
- #define CAVL_PARAM_TYPE_ASSOC assoc_sum
- #define CAVL_PARAM_VALUE_COUNT_MAX SIZE_MAX
- #define CAVL_PARAM_VALUE_NULL ((entry_index)-1)
- #define CAVL_PARAM_VALUE_ASSOC_ZERO 0
- #define CAVL_PARAM_FUN_DEREF(arg, link) (&(arg)[(link)])
- #define CAVL_PARAM_FUN_COMPARE_ENTRIES(arg, entry1, entry2) B_COMPARE((entry1).ptr->key, (entry2).ptr->key)
- #define CAVL_PARAM_FUN_COMPARE_KEY_ENTRY(arg, key1, entry2) B_COMPARE((key1), (entry2).ptr->key)
- #define CAVL_PARAM_FUN_ASSOC_VALUE(arg, entry) ((entry).ptr->assoc_value)
- #define CAVL_PARAM_FUN_ASSOC_OPER(arg, value1, value2) ((value1) + (value2))
- #define CAVL_PARAM_MEMBER_CHILD tree_child
- #define CAVL_PARAM_MEMBER_BALANCE tree_balance
- #define CAVL_PARAM_MEMBER_PARENT tree_parent
- #define CAVL_PARAM_MEMBER_COUNT tree_count
- #define CAVL_PARAM_MEMBER_ASSOC assoc_sum
|