BRL-CAD

#include <rb.h>

Collaboration diagram for bu_rb_tree:
[legend]

Data Fields

uint32_t rbt_magic
 
int rbt_nm_nodes
 
void(* rbt_print )(void *)
 
int rbt_debug
 
const char * rbt_description
 
int rbt_nm_orders
 
int(** rbt_compar )(const void *, const void *)
 
struct bu_rb_node ** rbt_root
 
char * rbt_unique
 
struct bu_rb_noderbt_current
 
struct bu_rb_list rbt_nodes
 
struct bu_rb_list rbt_packages
 
struct bu_rb_noderbt_empty_node
 

Detailed Description

This is the only data structure used in the red-black tree package to which application software need make any explicit reference.

The members of this structure are grouped into three classes:

Class I: Reading is appropriate, when necessary, but applications should not modify. Class II: Reading and modifying are both appropriate, when necessary. Class III: All access should be through routines provided in the package. Touch these at your own risk!

Definition at line 109 of file rb.h.

Field Documentation

uint32_t rbt_magic

Magic no. for integrity check

Definition at line 111 of file rb.h.

Referenced by bu_rb_create().

int rbt_nm_nodes

Number of nodes

Definition at line 112 of file rb.h.

Referenced by bu_rb_delete(), bu_rb_insert(), bu_rb_select(), and bu_rb_summarize_tree().

void(* rbt_print) (void *)

Data pretty-print function

Definition at line 115 of file rb.h.

Referenced by _rb_describe_node(), and bu_rb_create().

int rbt_debug
const char* rbt_description

Comment for diagnostics

Definition at line 117 of file rb.h.

Referenced by bu_rb_create(), bu_rb_diagnose_tree(), and bu_rb_summarize_tree().

int rbt_nm_orders

Number of simultaneous orders

Definition at line 120 of file rb.h.

Referenced by _rb_set_uniq_all(), bu_rb_create(), bu_rb_delete(), bu_rb_diagnose_tree(), bu_rb_insert(), bu_rb_set_uniqv(), and bu_rb_summarize_tree().

int(** rbt_compar) (const void *, const void *)

Comparison functions

Definition at line 121 of file rb.h.

Referenced by bu_rb_create().

struct bu_rb_node** rbt_root

The actual trees

Definition at line 122 of file rb.h.

Referenced by bu_rb_create(), and bu_rb_free().

char* rbt_unique

Uniqueness flags

Definition at line 123 of file rb.h.

Referenced by bu_rb_create(), and bu_rb_free().

struct bu_rb_node* rbt_current

Current node

Definition at line 124 of file rb.h.

Referenced by bu_rb_create(), bu_rb_diagnose_tree(), and bu_rb_summarize_tree().

struct bu_rb_list rbt_nodes

All nodes

Definition at line 125 of file rb.h.

Referenced by bu_rb_create(), bu_rb_free(), and bu_rb_insert().

struct bu_rb_list rbt_packages

All packages

Definition at line 126 of file rb.h.

Referenced by bu_rb_create(), bu_rb_free(), and bu_rb_insert().

struct bu_rb_node* rbt_empty_node

Sentinel representing nil

Definition at line 127 of file rb.h.

Referenced by bu_rb_diagnose_tree(), bu_rb_free(), and bu_rb_summarize_tree().


The documentation for this struct was generated from the following file: