avl.h File Reference

#include <stddef.h>

Include dependency graph for avl.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  libavl_allocator
struct  avl_table
struct  avl_node
struct  avl_traverser

Defines

#define AVL_H   1
#define AVL_MAX_HEIGHT   32
#define avl_count(table)   ((size_t) (table)->avl_count)

Typedefs

typedef int avl_comparison_func (const void *avl_a, const void *avl_b, void *avl_param)
typedef void avl_item_func (void *avl_item, void *avl_param)
typedef void * avl_copy_func (void *avl_item, void *avl_param)

Functions

void * avl_malloc (struct libavl_allocator *, size_t)
void avl_free (struct libavl_allocator *, void *)
struct avl_tableavl_create (avl_comparison_func *, void *, struct libavl_allocator *)
struct avl_tableavl_copy (const struct avl_table *, avl_copy_func *, avl_item_func *, struct libavl_allocator *)
void avl_destroy (struct avl_table *, avl_item_func *)
void ** avl_probe (struct avl_table *, void *)
void * avl_insert (struct avl_table *, void *)
void * avl_replace (struct avl_table *, void *)
void * avl_delete (struct avl_table *, const void *)
void * avl_find (const struct avl_table *, const void *)
void avl_assert_insert (struct avl_table *, void *)
void * avl_assert_delete (struct avl_table *, void *)
void avl_t_init (struct avl_traverser *, struct avl_table *)
void * avl_t_first (struct avl_traverser *, struct avl_table *)
void * avl_t_last (struct avl_traverser *, struct avl_table *)
void * avl_t_find (struct avl_traverser *, struct avl_table *, void *)
void * avl_t_insert (struct avl_traverser *, struct avl_table *, void *)
void * avl_t_copy (struct avl_traverser *, const struct avl_traverser *)
void * avl_t_next (struct avl_traverser *)
void * avl_t_prev (struct avl_traverser *)
void * avl_t_cur (struct avl_traverser *)
void * avl_t_replace (struct avl_traverser *, void *)

Variables

struct libavl_allocator avl_allocator_default


Define Documentation

#define avl_count ( table   )     ((size_t) (table)->avl_count)

Definition at line 101 of file avl.h.

#define AVL_H   1

Definition at line 27 of file avl.h.

#define AVL_MAX_HEIGHT   32


Typedef Documentation

typedef int avl_comparison_func(const void *avl_a, const void *avl_b, void *avl_param)

Definition at line 32 of file avl.h.

typedef void* avl_copy_func(void *avl_item, void *avl_param)

Definition at line 35 of file avl.h.

typedef void avl_item_func(void *avl_item, void *avl_param)

Definition at line 34 of file avl.h.


Function Documentation

void* avl_assert_delete ( struct avl_table ,
void *   
)

Definition at line 884 of file avl.c.

References avl_delete.

void avl_assert_insert ( struct avl_table ,
void *   
)

Definition at line 875 of file avl.c.

References avl_probe.

struct avl_table* avl_copy ( const struct avl_table ,
avl_copy_func ,
avl_item_func ,
struct libavl_allocator  
) [read]

struct avl_table* avl_create ( avl_comparison_func ,
void *  ,
struct libavl_allocator  
) [read]

void* avl_delete ( struct avl_table ,
const void *   
)

void avl_destroy ( struct avl_table ,
avl_item_func  
)

void* avl_find ( const struct avl_table ,
const void *   
)

void avl_free ( struct libavl_allocator ,
void *   
)

Definition at line 857 of file avl.c.

void* avl_insert ( struct avl_table ,
void *   
)

Definition at line 201 of file avl.c.

References avl_probe.

void* avl_malloc ( struct libavl_allocator ,
size_t   
)

Definition at line 849 of file avl.c.

void** avl_probe ( struct avl_table ,
void *   
)

void* avl_replace ( struct avl_table ,
void *   
)

Definition at line 212 of file avl.c.

References avl_probe.

void* avl_t_copy ( struct avl_traverser ,
const struct avl_traverser  
)

void* avl_t_cur ( struct avl_traverser  ) 

Definition at line 685 of file avl.c.

References avl_node::avl_data, and avl_traverser::avl_node.

void* avl_t_find ( struct avl_traverser ,
struct avl_table ,
void *   
)

void* avl_t_first ( struct avl_traverser ,
struct avl_table  
)

void avl_t_init ( struct avl_traverser ,
struct avl_table  
)

void* avl_t_insert ( struct avl_traverser ,
struct avl_table ,
void *   
)

void* avl_t_last ( struct avl_traverser ,
struct avl_table  
)

void* avl_t_next ( struct avl_traverser  ) 

void* avl_t_prev ( struct avl_traverser  ) 

void* avl_t_replace ( struct avl_traverser ,
void *   
)

Definition at line 696 of file avl.c.

References avl_node::avl_data, and avl_traverser::avl_node.


Variable Documentation

Definition at line 864 of file avl.c.

Referenced by avl_create().


Generated on Sun Apr 6 17:32:45 2008 for GRASS by  doxygen 1.5.5