AVL_UPDATE(3AVL) AVL Tree Library Functions AVL_UPDATE(3AVL)
avl_update, avl_update_gt, avl_update_lt - reinsert a node if its order
has changed
AVL Tree Library (libavl, -lavl)
#include <sys/avl.h>
boolean_t
avl_update(avl_tree_t *tree, void *node);
boolean_t
avl_update_gt(avl_tree_t *tree, void *node);
boolean_t
avl_update_lt(avl_tree_t *tree, void *node);
The avl_update() function re-inserts node into tree only if its order
has changed relative to its nearest neighbors. To optimize
performance, avl_update_lt() checks only the previous node and
avl_update_gt() checks only the next node. Use avl_update_lt() and
avl_update_gt() only if you know the direction in which the order of
the node may change.
The avl_update(), avl_update_lt() and avl_update_gt() functions return
B_TRUE if it was necessary to relocate the node due its order having
changed relative to its nearest neighbors and B_FALSE otherwise.
See the EXAMPLES section in libavl(3LIB).
Committed
MT-Level
See Locking in libavl(3LIB).
libavl(3LIB)
illumos January 27, 2024 illumos
NAME
avl_update, avl_update_gt, avl_update_lt - reinsert a node if its order
has changed
SYNOPSIS
AVL Tree Library (libavl, -lavl)
#include <sys/avl.h>
boolean_t
avl_update(avl_tree_t *tree, void *node);
boolean_t
avl_update_gt(avl_tree_t *tree, void *node);
boolean_t
avl_update_lt(avl_tree_t *tree, void *node);
DESCRIPTION
The avl_update() function re-inserts node into tree only if its order
has changed relative to its nearest neighbors. To optimize
performance, avl_update_lt() checks only the previous node and
avl_update_gt() checks only the next node. Use avl_update_lt() and
avl_update_gt() only if you know the direction in which the order of
the node may change.
RETURN VALUES
The avl_update(), avl_update_lt() and avl_update_gt() functions return
B_TRUE if it was necessary to relocate the node due its order having
changed relative to its nearest neighbors and B_FALSE otherwise.
EXAMPLES
See the EXAMPLES section in libavl(3LIB).
INTERFACE STABILITY
Committed
MT-Level
See Locking in libavl(3LIB).
SEE ALSO
libavl(3LIB)
illumos January 27, 2024 illumos