| 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).
See Locking in libavl(3LIB).
| January 27, 2024 | OmniOS |