CMGDK r49-rc2
组合类型 | 宏定义 | 类型定义 | 枚举 | 函数
K:/CMGDKv18/SDK/Source/SQL/MySQL/include/my_tree.h文件参考
#include "my_base.h"

浏览该文件的源代码。

组合类型

struct  st_tree_element
struct  st_tree

宏定义

#define MAX_TREE_HEIGHT   64
#define ELEMENT_KEY(tree, element)
#define tree_set_pointer(element, ptr)   *((uchar **) (element+1))=((uchar*) (ptr))
#define TREE_NO_DUPS   1
#define ELEMENT_CHILD(element, offs)   (*(TREE_ELEMENT**)((char*)element + offs))
#define is_tree_inited(tree)   ((tree)->root != 0)
#define reset_free_element(tree)   (tree)->free= 0
#define TREE_ELEMENT_EXTRA_SIZE   (sizeof(TREE_ELEMENT) + sizeof(void*))

类型定义

typedef uint32 element_count
typedef int(* tree_walk_action )(void *, element_count, void *)
typedef void(* tree_element_free )(void *, TREE_FREE, void *)
typedef struct st_tree_element TREE_ELEMENT
typedef struct st_tree TREE

枚举

enum  TREE_WALK { left_root_right, right_root_left }
enum  TREE_FREE { free_init, free_free, free_end }

函数

void init_tree (TREE *tree, ulong default_alloc_size, ulong memory_limit, int size, qsort_cmp2 compare, my_bool with_delete, tree_element_free free_element, void *custom_arg)
void delete_tree (TREE *)
void reset_tree (TREE *)
TREE_ELEMENTtree_insert (TREE *tree, void *key, uint key_size, void *custom_arg)
void * tree_search (TREE *tree, void *key, void *custom_arg)
int tree_walk (TREE *tree, tree_walk_action action, void *argument, TREE_WALK visit)
int tree_delete (TREE *tree, void *key, uint key_size, void *custom_arg)
void * tree_search_key (TREE *tree, const void *key, TREE_ELEMENT **parents, TREE_ELEMENT ***last_pos, enum ha_rkey_function flag, void *custom_arg)
void * tree_search_edge (TREE *tree, TREE_ELEMENT **parents, TREE_ELEMENT ***last_pos, int child_offs)
void * tree_search_next (TREE *tree, TREE_ELEMENT ***last_pos, int l_offs, int r_offs)
ha_rows tree_record_pos (TREE *tree, const void *key, enum ha_rkey_function search_flag, void *custom_arg)

宏定义文档

#define ELEMENT_CHILD (   element,
  offs 
)    (*(TREE_ELEMENT**)((char*)element + offs))
#define ELEMENT_KEY (   tree,
  element 
)
值:
(tree->offset_to_key ? (void*)((uchar*) element+tree->offset_to_key) :\
            *((void**) (element+1)))
#define is_tree_inited (   tree)    ((tree)->root != 0)
#define MAX_TREE_HEIGHT   64
#define reset_free_element (   tree)    (tree)->free= 0
#define TREE_ELEMENT_EXTRA_SIZE   (sizeof(TREE_ELEMENT) + sizeof(void*))
#define TREE_NO_DUPS   1
#define tree_set_pointer (   element,
  ptr 
)    *((uchar **) (element+1))=((uchar*) (ptr))

类型定义文档

typedef uint32 element_count
typedef struct st_tree TREE
typedef struct st_tree_element TREE_ELEMENT
typedef void(* tree_element_free)(void *, TREE_FREE, void *)
typedef int(* tree_walk_action)(void *, element_count, void *)

枚举类型文档

enum TREE_FREE
枚举值:
free_init 
free_free 
free_end 
enum TREE_WALK
枚举值:
left_root_right 
right_root_left 

函数文档

void delete_tree ( TREE )
void init_tree ( TREE tree,
ulong  default_alloc_size,
ulong  memory_limit,
int  size,
qsort_cmp2  compare,
my_bool  with_delete,
tree_element_free  free_element,
void *  custom_arg 
)
void reset_tree ( TREE )
int tree_delete ( TREE tree,
void *  key,
uint  key_size,
void *  custom_arg 
)
TREE_ELEMENT* tree_insert ( TREE tree,
void *  key,
uint  key_size,
void *  custom_arg 
)
ha_rows tree_record_pos ( TREE tree,
const void *  key,
enum ha_rkey_function  search_flag,
void *  custom_arg 
)
void* tree_search ( TREE tree,
void *  key,
void *  custom_arg 
)
void* tree_search_edge ( TREE tree,
TREE_ELEMENT **  parents,
TREE_ELEMENT ***  last_pos,
int  child_offs 
)
void* tree_search_key ( TREE tree,
const void *  key,
TREE_ELEMENT **  parents,
TREE_ELEMENT ***  last_pos,
enum ha_rkey_function  flag,
void *  custom_arg 
)
void* tree_search_next ( TREE tree,
TREE_ELEMENT ***  last_pos,
int  l_offs,
int  r_offs 
)
int tree_walk ( TREE tree,
tree_walk_action  action,
void *  argument,
TREE_WALK  visit 
)
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义