Drizzled Public API Documentation

drizzled::Tree Class Reference

#include <tree.h>

Public Member Functions

void * getCustomArg ()
Tree_ElementgetRoot ()
void setRoot (Tree_Element *root_arg)
uint32_t getElementsInTree ()
void init_tree (size_t default_alloc_size, uint32_t memory_limit, uint32_t size, qsort_cmp2 compare, bool with_delete, tree_element_free free_element, void *custom_arg)
bool is_inited ()
void delete_tree ()
void reset_tree ()
Tree_Elementtree_insert (void *key, uint32_t key_size, void *custom_arg)
int tree_walk (tree_walk_action action, void *argument, TREE_WALK visit)

Private Member Functions

void free_tree (myf free_flags)
void * element_key (Tree_Element *element)
void delete_tree_element (Tree_Element *element)
int tree_walk_left_root_right (Tree_Element *element, tree_walk_action action, void *argument)
int tree_walk_right_root_left (Tree_Element *element, tree_walk_action action, void *argument)
void left_rotate (Tree_Element **parent, Tree_Element *element)
void right_rotate (Tree_Element **parent, Tree_Element *element)
void rb_insert (Tree_Element ***parent, Tree_Element *element)

Private Attributes

Tree_Elementroot
Tree_Element null_element
void * custom_arg
Tree_Element ** parents [MAX_TREE_HEIGHT]
uint32_t offset_to_key
uint32_t elements_in_tree
uint32_t size_of_element
size_t memory_limit
size_t allocated
qsort_cmp2 compare
memory::Root mem_root
bool with_delete
tree_element_free free
uint32_t flag

Detailed Description

red-black binary tree class

NOTE: unused search code removed 11/2011

Definition at line 54 of file tree.h.

Member Function Documentation

void drizzled::Tree::free_tree ( myf  free_flags)
private

Tree class private methods

Definition at line 217 of file tree.cc.

References drizzled::memory::Root::free_root().

void drizzled::Tree::init_tree ( size_t  default_alloc_size,
uint32_t  mem_limit,
uint32_t  size,
qsort_cmp2  compare_callback,
bool  free_with_tree,
tree_element_free  free_callback,
void *  caller_arg 
)

Tree class public methods

Definition at line 75 of file tree.cc.

References drizzled::memory::Root::init(), and drizzled::memory::Root::min_malloc.


The documentation for this class was generated from the following files: