NCDVal_maptree.h 885 B

123456789101112131415
  1. #define CAVL_PARAM_NAME NCDVal__MapTree
  2. #define CAVL_PARAM_FEATURE_COUNTS 0
  3. #define CAVL_PARAM_FEATURE_KEYS_ARE_INDICES 0
  4. #define CAVL_PARAM_FEATURE_NOKEYS 0
  5. #define CAVL_PARAM_TYPE_ENTRY NCDVal__maptree_entry
  6. #define CAVL_PARAM_TYPE_LINK NCDVal__idx
  7. #define CAVL_PARAM_TYPE_KEY NCDValRef
  8. #define CAVL_PARAM_TYPE_ARG NCDVal__maptree_arg
  9. #define CAVL_PARAM_VALUE_NULL ((NCDVal__idx)-1)
  10. #define CAVL_PARAM_FUN_DEREF(arg, link) ((struct NCDVal__mapelem *)buffer_at((arg), (link)))
  11. #define CAVL_PARAM_FUN_COMPARE_ENTRIES(arg, node1, node2) NCDVal_Compare(make_ref((arg), (node1).ptr->key_idx), make_ref((arg), (node2).ptr->key_idx))
  12. #define CAVL_PARAM_FUN_COMPARE_KEY_ENTRY(arg, key1, node2) NCDVal_Compare((key1), make_ref((arg), (node2).ptr->key_idx))
  13. #define CAVL_PARAM_MEMBER_CHILD tree_child
  14. #define CAVL_PARAM_MEMBER_BALANCE tree_balance
  15. #define CAVL_PARAM_MEMBER_PARENT tree_parent