GRASS GIS 8 Programmer's Manual  8.5.0dev(2024)-60f67276fb
tree.h File Reference
#include "tavl.h"
Include dependency graph for tree.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _dglTreeNode
 
struct  _dglTreeNode2
 
struct  _dglTreeEdge
 
struct  _dglTreeTouchI32
 
struct  _dglTreePredist
 
struct  _dglTreeNodePri32
 
struct  _dglTreeEdgePri32
 

Macros

#define USE_THREADED_AVL
 
#define avl_table   tavl_table
 
#define avl_traverser   tavl_traverser
 
#define avl_create   tavl_create
 
#define avl_copy   tavl_copy
 
#define avl_destroy   tavl_destroy
 
#define avl_probe   tavl_probe
 
#define avl_insert   tavl_insert
 
#define avl_replace   tavl_replace
 
#define avl_delete   tavl_delete
 
#define avl_find   tavl_find
 
#define avl_assert_insert   tavl_assert_insert
 
#define avl_assert_delete   tavl_assert_delete
 
#define avl_t_init   tavl_t_init
 
#define avl_t_first   tavl_t_first
 
#define avl_t_last   tavl_t_last
 
#define avl_t_find   tavl_t_find
 
#define avl_t_insert   tavl_t_insert
 
#define avl_t_copy   tavl_t_copy
 
#define avl_t_next   tavl_t_next
 
#define avl_t_prev   tavl_t_prev
 
#define avl_t_cur   tavl_t_cur
 
#define avl_t_replace   tavl_t_replace
 

Typedefs

typedef struct _dglTreeNode dglTreeNode_s
 
typedef struct _dglTreeNode2 dglTreeNode2_s
 
typedef struct _dglTreeEdge dglTreeEdge_s
 
typedef struct _dglTreeTouchI32 dglTreeTouchI32_s
 
typedef struct _dglTreePredist dglTreePredist_s
 
typedef struct _dglTreeNodePri32 dglTreeNodePri32_s
 
typedef struct _dglTreeEdgePri32 dglTreeEdgePri32_s
 

Functions

void * dglTreeGetAllocator (void)
 
dglTreeNode_sdglTreeNodeAlloc (void)
 
void dglTreeNodeCancel (void *pvNode, void *pvParam)
 
int dglTreeNodeCompare (const void *pvNodeA, const void *pvNodeB, void *pvParam)
 
dglTreeNode_sdglTreeNodeAdd (void *pvAVL, dglInt32_t nKey)
 
dglTreeNode2_sdglTreeNode2Alloc (void)
 
void dglTreeNode2Cancel (void *pvNode, void *pvParam)
 
int dglTreeNode2Compare (const void *pvNodeA, const void *pvNodeB, void *pvParam)
 
dglTreeNode2_sdglTreeNode2Add (void *pvAVL, dglInt32_t nKey)
 
dglTreeEdge_sdglTreeEdgeAlloc (void)
 
void dglTreeEdgeCancel (void *pvEdge, void *pvParam)
 
int dglTreeEdgeCompare (const void *pvEdgeA, const void *pvEdgeB, void *pvParam)
 
dglTreeEdge_sdglTreeEdgeAdd (void *pvAVL, dglInt32_t nKey)
 
dglTreeTouchI32_sdglTreeTouchI32Alloc (void)
 
void dglTreeTouchI32Cancel (void *pvTouchI32, void *pvParam)
 
int dglTreeTouchI32Compare (const void *pvTouchI32A, const void *pvTouchI32B, void *pvParam)
 
dglTreeTouchI32_sdglTreeTouchI32Add (void *pvAVL, dglInt32_t nKey)
 
dglTreePredist_sdglTreePredistAlloc (void)
 
void dglTreePredistCancel (void *pvPredist, void *pvParam)
 
int dglTreePredistCompare (const void *pvPredistA, const void *pvPredistB, void *pvParam)
 
dglTreePredist_sdglTreePredistAdd (void *pvAVL, dglInt32_t nKey)
 
dglTreeNodePri32_sdglTreeNodePri32Alloc (void)
 
void dglTreeNodePri32Cancel (void *pvNodePri32, void *pvParam)
 
int dglTreeNodePri32Compare (const void *pvNodePri32A, const void *pvNodePri32B, void *pvParam)
 
dglTreeNodePri32_sdglTreeNodePri32Add (void *pvAVL, dglInt32_t nKey)
 
dglTreeEdgePri32_sdglTreeEdgePri32Alloc (void)
 
void dglTreeEdgePri32Cancel (void *pvEdgePri32, void *pvParam)
 
int dglTreeEdgePri32Compare (const void *pvEdgePri32A, const void *pvEdgePri32B, void *pvParam)
 
dglTreeEdgePri32_sdglTreeEdgePri32Add (void *pvAVL, dglInt32_t nKey)
 

Macro Definition Documentation

◆ avl_assert_delete

#define avl_assert_delete   tavl_assert_delete

Definition at line 40 of file tree.h.

◆ avl_assert_insert

#define avl_assert_insert   tavl_assert_insert

Definition at line 39 of file tree.h.

◆ avl_copy

#define avl_copy   tavl_copy

Definition at line 32 of file tree.h.

◆ avl_create

#define avl_create   tavl_create

Definition at line 31 of file tree.h.

◆ avl_delete

#define avl_delete   tavl_delete

Definition at line 37 of file tree.h.

◆ avl_destroy

#define avl_destroy   tavl_destroy

Definition at line 33 of file tree.h.

◆ avl_find

#define avl_find   tavl_find

Definition at line 38 of file tree.h.

◆ avl_insert

#define avl_insert   tavl_insert

Definition at line 35 of file tree.h.

◆ avl_probe

#define avl_probe   tavl_probe

Definition at line 34 of file tree.h.

◆ avl_replace

#define avl_replace   tavl_replace

Definition at line 36 of file tree.h.

◆ avl_t_copy

#define avl_t_copy   tavl_t_copy

Definition at line 46 of file tree.h.

◆ avl_t_cur

#define avl_t_cur   tavl_t_cur

Definition at line 49 of file tree.h.

◆ avl_t_find

#define avl_t_find   tavl_t_find

Definition at line 44 of file tree.h.

◆ avl_t_first

#define avl_t_first   tavl_t_first

Definition at line 42 of file tree.h.

◆ avl_t_init

#define avl_t_init   tavl_t_init

Definition at line 41 of file tree.h.

◆ avl_t_insert

#define avl_t_insert   tavl_t_insert

Definition at line 45 of file tree.h.

◆ avl_t_last

#define avl_t_last   tavl_t_last

Definition at line 43 of file tree.h.

◆ avl_t_next

#define avl_t_next   tavl_t_next

Definition at line 47 of file tree.h.

◆ avl_t_prev

#define avl_t_prev   tavl_t_prev

Definition at line 48 of file tree.h.

◆ avl_t_replace

#define avl_t_replace   tavl_t_replace

Definition at line 50 of file tree.h.

◆ avl_table

#define avl_table   tavl_table

Definition at line 29 of file tree.h.

◆ avl_traverser

Definition at line 30 of file tree.h.

◆ USE_THREADED_AVL

#define USE_THREADED_AVL

Definition at line 25 of file tree.h.

Typedef Documentation

◆ dglTreeEdge_s

typedef struct _dglTreeEdge dglTreeEdge_s

◆ dglTreeEdgePri32_s

◆ dglTreeNode2_s

typedef struct _dglTreeNode2 dglTreeNode2_s

◆ dglTreeNode_s

typedef struct _dglTreeNode dglTreeNode_s

◆ dglTreeNodePri32_s

◆ dglTreePredist_s

◆ dglTreeTouchI32_s

Function Documentation

◆ dglTreeEdgeAdd()

dglTreeEdge_s* dglTreeEdgeAdd ( void *  pvAVL,
dglInt32_t  nKey 
)

Definition at line 171 of file tree.c.

References avl_probe, dglTreeEdgeAlloc(), free(), _dglTreeEdge::nKey, and NULL.

Referenced by DGL_ADD_EDGE_FUNC().

◆ dglTreeEdgeAlloc()

dglTreeEdge_s* dglTreeEdgeAlloc ( void  )

Definition at line 143 of file tree.c.

References malloc().

Referenced by dglTreeEdgeAdd().

◆ dglTreeEdgeCancel()

void dglTreeEdgeCancel ( void *  pvEdge,
void *  pvParam 
)

◆ dglTreeEdgeCompare()

int dglTreeEdgeCompare ( const void *  pvEdgeA,
const void *  pvEdgeB,
void *  pvParam 
)

◆ dglTreeEdgePri32Add()

dglTreeEdgePri32_s* dglTreeEdgePri32Add ( void *  pvAVL,
dglInt32_t  nKey 
)

Definition at line 373 of file tree.c.

References avl_probe, dglTreeEdgePri32Alloc(), free(), _dglTreeEdgePri32::nKey, and NULL.

Referenced by dgl_edge_prioritizer_add().

◆ dglTreeEdgePri32Alloc()

dglTreeEdgePri32_s* dglTreeEdgePri32Alloc ( void  )

Definition at line 343 of file tree.c.

References malloc().

Referenced by dglTreeEdgePri32Add().

◆ dglTreeEdgePri32Cancel()

void dglTreeEdgePri32Cancel ( void *  pvEdgePri32,
void *  pvParam 
)

◆ dglTreeEdgePri32Compare()

int dglTreeEdgePri32Compare ( const void *  pvEdgePri32A,
const void *  pvEdgePri32B,
void *  pvParam 
)

◆ dglTreeGetAllocator()

◆ dglTreeNode2Add()

dglTreeNode2_s* dglTreeNode2Add ( void *  pvAVL,
dglInt32_t  nKey 
)

Definition at line 120 of file tree.c.

References avl_probe, dglTreeNode2Alloc(), free(), _dglTreeNode2::nKey, and NULL.

◆ dglTreeNode2Alloc()

dglTreeNode2_s* dglTreeNode2Alloc ( void  )

Definition at line 89 of file tree.c.

References malloc().

Referenced by dglTreeNode2Add().

◆ dglTreeNode2Cancel()

void dglTreeNode2Cancel ( void *  pvNode,
void *  pvParam 
)

◆ dglTreeNode2Compare()

int dglTreeNode2Compare ( const void *  pvNodeA,
const void *  pvNodeB,
void *  pvParam 
)

◆ dglTreeNodeAdd()

dglTreeNode_s* dglTreeNodeAdd ( void *  pvAVL,
dglInt32_t  nKey 
)

Definition at line 66 of file tree.c.

References avl_probe, dglTreeNodeAlloc(), free(), _dglTreeNode::nKey, and NULL.

Referenced by DGL_SPAN_DEPTHFIRST_SPANNING_FUNC().

◆ dglTreeNodeAlloc()

dglTreeNode_s* dglTreeNodeAlloc ( void  )

Definition at line 36 of file tree.c.

References malloc().

Referenced by dglTreeNodeAdd().

◆ dglTreeNodeCancel()

void dglTreeNodeCancel ( void *  pvNode,
void *  pvParam 
)

◆ dglTreeNodeCompare()

int dglTreeNodeCompare ( const void *  pvNodeA,
const void *  pvNodeB,
void *  pvParam 
)

◆ dglTreeNodePri32Add()

dglTreeNodePri32_s* dglTreeNodePri32Add ( void *  pvAVL,
dglInt32_t  nKey 
)

Definition at line 320 of file tree.c.

References avl_probe, dglTreeNodePri32Alloc(), free(), _dglTreeNodePri32::nKey, and NULL.

◆ dglTreeNodePri32Alloc()

dglTreeNodePri32_s* dglTreeNodePri32Alloc ( void  )

Definition at line 293 of file tree.c.

References malloc().

Referenced by dglTreeNodePri32Add().

◆ dglTreeNodePri32Cancel()

void dglTreeNodePri32Cancel ( void *  pvNodePri32,
void *  pvParam 
)

◆ dglTreeNodePri32Compare()

int dglTreeNodePri32Compare ( const void *  pvNodePri32A,
const void *  pvNodePri32B,
void *  pvParam 
)

◆ dglTreePredistAdd()

dglTreePredist_s* dglTreePredistAdd ( void *  pvAVL,
dglInt32_t  nKey 
)

Definition at line 270 of file tree.c.

References avl_probe, dglTreePredistAlloc(), free(), _dglTreePredist::nKey, and NULL.

◆ dglTreePredistAlloc()

dglTreePredist_s* dglTreePredistAlloc ( void  )

Definition at line 243 of file tree.c.

References malloc().

Referenced by dglTreePredistAdd().

◆ dglTreePredistCancel()

void dglTreePredistCancel ( void *  pvPredist,
void *  pvParam 
)

◆ dglTreePredistCompare()

int dglTreePredistCompare ( const void *  pvPredistA,
const void *  pvPredistB,
void *  pvParam 
)

◆ dglTreeTouchI32Add()

dglTreeTouchI32_s* dglTreeTouchI32Add ( void *  pvAVL,
dglInt32_t  nKey 
)

Definition at line 220 of file tree.c.

References avl_probe, dglTreeTouchI32Alloc(), free(), _dglTreeTouchI32::nKey, and NULL.

◆ dglTreeTouchI32Alloc()

dglTreeTouchI32_s* dglTreeTouchI32Alloc ( void  )

Definition at line 194 of file tree.c.

References malloc(), and _dglTreeTouchI32::nKey.

Referenced by dglTreeTouchI32Add().

◆ dglTreeTouchI32Cancel()

void dglTreeTouchI32Cancel ( void *  pvTouchI32,
void *  pvParam 
)

◆ dglTreeTouchI32Compare()

int dglTreeTouchI32Compare ( const void *  pvTouchI32A,
const void *  pvTouchI32B,
void *  pvParam 
)