ucx
UAP Common Extensions
Loading...
Searching...
No Matches
Data Fields
cx_tree_s Struct Reference

Structure for holding the base data of a tree. More...

#include <tree.h>

Data Fields

const cx_tree_classcl
 The tree class definition.
 
const CxAllocatorallocator
 Allocator to allocate new nodes.
 
void * root
 A pointer to the root node.
 
cx_tree_node_create_func node_create
 A function to create new nodes.
 
cx_destructor_func simple_destructor
 An optional simple destructor for the tree nodes.
 
cx_destructor_func2 advanced_destructor
 An optional advanced destructor for the tree nodes.
 
void * destructor_data
 The pointer to additional data that is passed to the advanced destructor.
 
cx_tree_search_func search
 A function to compare two nodes.
 
cx_tree_search_data_func search_data
 A function to compare a node with data.
 
size_t size
 The number of currently stored elements.
 
ptrdiff_t loc_parent
 Offset in the node struct for the parent pointer.
 
ptrdiff_t loc_children
 Offset in the node struct for the children linked list.
 
ptrdiff_t loc_last_child
 Optional offset in the node struct for the pointer to the last child in the linked list (negative if there is no such pointer).
 
ptrdiff_t loc_prev
 Offset in the node struct for the previous sibling pointer.
 
ptrdiff_t loc_next
 Offset in the node struct for the next sibling pointer.
 

Detailed Description

Structure for holding the base data of a tree.

Field Documentation

◆ node_create

cx_tree_node_create_func cx_tree_s::node_create

A function to create new nodes.

Invocations to this function will receive a pointer to this tree structure as second argument.

Nodes MAY use cx_tree_node_base_s as base layout, but do not need to.

◆ root

void* cx_tree_s::root

A pointer to the root node.

Will be NULL when size is 0.


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