LeOS-Genesis/external/badvpn/examples/cavl_test_tree.h

24 lines
1.1 KiB
C
Raw Normal View History

2020-10-05 13:12:00 +02:00
#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