libdict
Data Structure C Library
Loading...
Searching...
No Matches
tree_common.c File Reference
#include "tree_common.h"
#include <string.h>
#include "dict_private.h"
Include dependency graph for tree_common.c:

Go to the source code of this file.

Data Structures

struct  tree_node
 
struct  tree
 
struct  tree_iterator
 

Typedefs

typedef struct tree_node tree_node
 

Functions

void tree_node_rot_left (void *Tree, void *Node)
 
void tree_node_rot_right (void *Tree, void *Node)
 
void * tree_node_prev (void *Node)
 
void * tree_node_next (void *Node)
 
void * tree_node_min (void *Node)
 
void * tree_node_max (void *Node)
 
void * tree_search_node (void *Tree, const void *key)
 
void ** tree_search (void *Tree, const void *key)
 
void * tree_search_le_node (void *Tree, const void *key)
 
void ** tree_search_le (void *Tree, const void *key)
 
void * tree_search_lt_node (void *Tree, const void *key)
 
void ** tree_search_lt (void *Tree, const void *key)
 
void * tree_search_ge_node (void *Tree, const void *key)
 
void ** tree_search_ge (void *Tree, const void *key)
 
void * tree_search_gt_node (void *Tree, const void *key)
 
void ** tree_search_gt (void *Tree, const void *key)
 
size_t tree_traverse (void *Tree, dict_visit_func visit, void *user_data)
 
bool tree_select (void *Tree, size_t n, const void **key, void **datum)
 
size_t tree_count (const void *Tree)
 
size_t tree_clear (void *Tree, dict_delete_func delete_func)
 
size_t tree_free (void *Tree, dict_delete_func delete_func)
 
size_t tree_min_path_length (const void *Tree)
 
size_t tree_max_path_length (const void *Tree)
 
size_t tree_total_path_length (const void *Tree)
 
bool tree_iterator_valid (const void *Iterator)
 
void tree_iterator_invalidate (void *Iterator)
 
void tree_iterator_free (void *Iterator)
 
bool tree_iterator_next (void *Iterator)
 
bool tree_iterator_prev (void *Iterator)
 
bool tree_iterator_nextn (void *Iterator, size_t count)
 
bool tree_iterator_prevn (void *Iterator, size_t count)
 
bool tree_iterator_first (void *Iterator)
 
bool tree_iterator_last (void *Iterator)
 
bool tree_iterator_search (void *Iterator, const void *key)
 
bool tree_iterator_search_le (void *Iterator, const void *key)
 
bool tree_iterator_search_lt (void *Iterator, const void *key)
 
bool tree_iterator_search_ge (void *Iterator, const void *key)
 
bool tree_iterator_search_gt (void *Iterator, const void *key)
 
int tree_iterator_compare (const void *Iterator1, const void *Iterator2)
 
const void * tree_iterator_key (const void *Iterator)
 
void ** tree_iterator_datum (void *Iterator)
 

Typedef Documentation

◆ tree_node

typedef struct tree_node tree_node

Function Documentation

◆ tree_clear()

size_t tree_clear ( void * Tree,
dict_delete_func delete_func )

Definition at line 301 of file tree_common.c.

◆ tree_count()

size_t tree_count ( const void * Tree)

Definition at line 295 of file tree_common.c.

◆ tree_free()

size_t tree_free ( void * Tree,
dict_delete_func delete_func )

Definition at line 324 of file tree_common.c.

Here is the call graph for this function:

◆ tree_iterator_compare()

int tree_iterator_compare ( const void * Iterator1,
const void * Iterator2 )

Definition at line 486 of file tree_common.c.

◆ tree_iterator_datum()

void ** tree_iterator_datum ( void * Iterator)

Definition at line 506 of file tree_common.c.

◆ tree_iterator_first()

bool tree_iterator_first ( void * Iterator)

Definition at line 437 of file tree_common.c.

Here is the call graph for this function:

◆ tree_iterator_free()

void tree_iterator_free ( void * Iterator)

Definition at line 389 of file tree_common.c.

◆ tree_iterator_invalidate()

void tree_iterator_invalidate ( void * Iterator)

Definition at line 383 of file tree_common.c.

◆ tree_iterator_key()

const void * tree_iterator_key ( const void * Iterator)

Definition at line 499 of file tree_common.c.

◆ tree_iterator_last()

bool tree_iterator_last ( void * Iterator)

Definition at line 444 of file tree_common.c.

Here is the call graph for this function:

◆ tree_iterator_next()

bool tree_iterator_next ( void * Iterator)

Definition at line 397 of file tree_common.c.

Here is the call graph for this function:

◆ tree_iterator_nextn()

bool tree_iterator_nextn ( void * Iterator,
size_t count )

Definition at line 419 of file tree_common.c.

Here is the call graph for this function:

◆ tree_iterator_prev()

bool tree_iterator_prev ( void * Iterator)

Definition at line 408 of file tree_common.c.

Here is the call graph for this function:

◆ tree_iterator_prevn()

bool tree_iterator_prevn ( void * Iterator,
size_t count )

Definition at line 428 of file tree_common.c.

Here is the call graph for this function:

◆ tree_iterator_search()

bool tree_iterator_search ( void * Iterator,
const void * key )

Definition at line 451 of file tree_common.c.

Here is the call graph for this function:

◆ tree_iterator_search_ge()

bool tree_iterator_search_ge ( void * Iterator,
const void * key )

Definition at line 472 of file tree_common.c.

Here is the call graph for this function:

◆ tree_iterator_search_gt()

bool tree_iterator_search_gt ( void * Iterator,
const void * key )

Definition at line 479 of file tree_common.c.

Here is the call graph for this function:

◆ tree_iterator_search_le()

bool tree_iterator_search_le ( void * Iterator,
const void * key )

Definition at line 458 of file tree_common.c.

Here is the call graph for this function:

◆ tree_iterator_search_lt()

bool tree_iterator_search_lt ( void * Iterator,
const void * key )

Definition at line 465 of file tree_common.c.

Here is the call graph for this function:

◆ tree_iterator_valid()

bool tree_iterator_valid ( const void * Iterator)

Definition at line 377 of file tree_common.c.

◆ tree_max_path_length()

size_t tree_max_path_length ( const void * Tree)

Definition at line 355 of file tree_common.c.

◆ tree_min_path_length()

size_t tree_min_path_length ( const void * Tree)

Definition at line 340 of file tree_common.c.

◆ tree_node_max()

void * tree_node_max ( void * Node)

Definition at line 117 of file tree_common.c.

◆ tree_node_min()

void * tree_node_min ( void * Node)

Definition at line 106 of file tree_common.c.

◆ tree_node_next()

void * tree_node_next ( void * Node)

Definition at line 92 of file tree_common.c.

Here is the call graph for this function:

◆ tree_node_prev()

void * tree_node_prev ( void * Node)

Definition at line 78 of file tree_common.c.

Here is the call graph for this function:

◆ tree_node_rot_left()

void tree_node_rot_left ( void * Tree,
void * Node )

Definition at line 46 of file tree_common.c.

◆ tree_node_rot_right()

void tree_node_rot_right ( void * Tree,
void * Node )

Definition at line 62 of file tree_common.c.

◆ tree_search()

void ** tree_search ( void * Tree,
const void * key )

Definition at line 144 of file tree_common.c.

Here is the call graph for this function:

◆ tree_search_ge()

void ** tree_search_ge ( void * Tree,
const void * key )

Definition at line 221 of file tree_common.c.

Here is the call graph for this function:

◆ tree_search_ge_node()

void * tree_search_ge_node ( void * Tree,
const void * key )

Definition at line 201 of file tree_common.c.

◆ tree_search_gt()

void ** tree_search_gt ( void * Tree,
const void * key )

Definition at line 245 of file tree_common.c.

Here is the call graph for this function:

◆ tree_search_gt_node()

void * tree_search_gt_node ( void * Tree,
const void * key )

Definition at line 228 of file tree_common.c.

◆ tree_search_le()

void ** tree_search_le ( void * Tree,
const void * key )

Definition at line 170 of file tree_common.c.

Here is the call graph for this function:

◆ tree_search_le_node()

void * tree_search_le_node ( void * Tree,
const void * key )

Definition at line 151 of file tree_common.c.

◆ tree_search_lt()

void ** tree_search_lt ( void * Tree,
const void * key )

Definition at line 194 of file tree_common.c.

Here is the call graph for this function:

◆ tree_search_lt_node()

void * tree_search_lt_node ( void * Tree,
const void * key )

Definition at line 177 of file tree_common.c.

◆ tree_search_node()

void * tree_search_node ( void * Tree,
const void * key )

Definition at line 128 of file tree_common.c.

◆ tree_select()

bool tree_select ( void * Tree,
size_t n,
const void ** key,
void ** datum )

Definition at line 270 of file tree_common.c.

Here is the call graph for this function:

◆ tree_total_path_length()

size_t tree_total_path_length ( const void * Tree)

Definition at line 370 of file tree_common.c.

◆ tree_traverse()

size_t tree_traverse ( void * Tree,
dict_visit_func visit,
void * user_data )

Definition at line 252 of file tree_common.c.

Here is the call graph for this function: