RTEMS: cpukit/include/rtems/rbtree.h File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Macros | Typedefs | Functions
rbtree.h File Reference

Constants and Structures Associated with the RBTree API in RTEMS. More...

`#include <rtems/score/rbtree.h>`

Go to the source code of this file.

## Macros
#define | RTEMS_RBTREE_INITIALIZER_EMPTY(name) RBTREE_INITIALIZER_EMPTY(name)
| RBTree initializer for an empty rbtree with designator name.
#define | RTEMS_RBTREE_DEFINE_EMPTY(name) RBTREE_DEFINE_EMPTY(name)
| RBTree definition for an empty rbtree with designator name.

## Typedefs
typedef RBTree_Node | rtems_rbtree_node
typedef RBTree_Control | rtems_rbtree_control
typedef long | rtems_rbtree_compare_result
| Integer type for compare results.
typedef rtems_rbtree_compare_result(* | rtems_rbtree_compare) (const RBTree_Node *first, const RBTree_Node *second)
| Compares two red-black tree nodes.

## Functions
void | rtems_rbtree_initialize (rtems_rbtree_control *the_rbtree, rtems_rbtree_compare compare, void *starting_address, size_t number_nodes, size_t node_size, bool is_unique)
| Initialize a RBTree header.
RTEMS_INLINE_ROUTINE void | rtems_rbtree_initialize_empty (rtems_rbtree_control *the_rbtree)
| Initialize this RBTree as Empty.
RTEMS_INLINE_ROUTINE void | rtems_rbtree_set_off_tree (rtems_rbtree_node *node)
| Set off RBtree.
RTEMS_INLINE_ROUTINE bool | rtems_rbtree_is_node_off_tree (const rtems_rbtree_node *node)
| Is the Node off RBTree.
RTEMS_INLINE_ROUTINE rtems_rbtree_node * | rtems_rbtree_root (const rtems_rbtree_control *the_rbtree)
| Return pointer to RBTree root.
RTEMS_INLINE_ROUTINE rtems_rbtree_node * | rtems_rbtree_min (const rtems_rbtree_control *the_rbtree)
| Returns the minimum node of the red-black tree.
RTEMS_INLINE_ROUTINE rtems_rbtree_node * | rtems_rbtree_max (const rtems_rbtree_control *the_rbtree)
| Returns the maximum node of the red-black tree.
RTEMS_INLINE_ROUTINE rtems_rbtree_node * | rtems_rbtree_left (const rtems_rbtree_node *the_node)
| Return pointer to the left child node from this node.
RTEMS_INLINE_ROUTINE rtems_rbtree_node * | rtems_rbtree_right (const rtems_rbtree_node *the_node)
| Return pointer to the right child node from this node.
RTEMS_INLINE_ROUTINE rtems_rbtree_node * | rtems_rbtree_parent (const rtems_rbtree_node *the_node)
| Returns a pointer to the parent of this node.
RTEMS_INLINE_ROUTINE bool | rtems_rbtree_is_empty (const rtems_rbtree_control *the_rbtree)
| Is the RBTree empty.
RTEMS_INLINE_ROUTINE bool | rtems_rbtree_is_min (const rtems_rbtree_control *the_rbtree, const rtems_rbtree_node *the_node)
| Is this the minimum node on the RBTree.
RTEMS_INLINE_ROUTINE bool | rtems_rbtree_is_max (const rtems_rbtree_control *the_rbtree, const rtems_rbtree_node *the_node)
| Is this the maximum node on the RBTree.
RTEMS_INLINE_ROUTINE bool | rtems_rbtree_is_root (const rtems_rbtree_node *the_node)
| Checks if this node is the root node of a red-black tree.
RTEMS_INLINE_ROUTINE bool | rtems_rbtree_is_equal (rtems_rbtree_compare_result compare_result)
RTEMS_INLINE_ROUTINE bool | rtems_rbtree_is_greater (rtems_rbtree_compare_result compare_result)
RTEMS_INLINE_ROUTINE bool | rtems_rbtree_is_lesser (rtems_rbtree_compare_result compare_result)
rtems_rbtree_node * | rtems_rbtree_find (const rtems_rbtree_control *the_rbtree, const rtems_rbtree_node *the_node, rtems_rbtree_compare compare, bool is_unique)
| Tries to find a node for the specified key in the tree.
RTEMS_INLINE_ROUTINE rtems_rbtree_node * | rtems_rbtree_predecessor (const rtems_rbtree_node *node)
| Returns the predecessor of a node.
RTEMS_INLINE_ROUTINE rtems_rbtree_node * | rtems_rbtree_successor (const rtems_rbtree_node *node)
| Returns the successor of a node.
RTEMS_INLINE_ROUTINE void | rtems_rbtree_extract (rtems_rbtree_control *the_rbtree, rtems_rbtree_node *the_node)
| Extracts (removes) the node from the red-black tree.
RTEMS_INLINE_ROUTINE rtems_rbtree_node * | rtems_rbtree_get_min (rtems_rbtree_control *the_rbtree)
| Gets a node with the minimum key value from the red-black tree.
RTEMS_INLINE_ROUTINE rtems_rbtree_node * | rtems_rbtree_get_max (rtems_rbtree_control *the_rbtree)
| Gets a node with the maximal key value from the red-black tree.
RTEMS_INLINE_ROUTINE rtems_rbtree_node * | rtems_rbtree_peek_min (const rtems_rbtree_control *the_rbtree)
| Peek at the min node on a rbtree.
RTEMS_INLINE_ROUTINE rtems_rbtree_node * | rtems_rbtree_peek_max (const rtems_rbtree_control *the_rbtree)
| Peek at the max node on a rbtree.
rtems_rbtree_node * | rtems_rbtree_insert (RBTree_Control *the_rbtree, RBTree_Node *the_node, rtems_rbtree_compare compare, bool is_unique)
| Inserts the node into the red-black tree.

## Detailed Description

Constants and Structures Associated with the RBTree API in RTEMS.

This include file contains all the constants and structures associated with the RBTree API in RTEMS. The rbtree is a Red Black Tree that is part of the Super Core. This is the published interface to that code.