| AVL_FIRST(3AVL) | AVL Tree Library Functions | AVL_FIRST(3AVL) | 
avl_first,
    AVL_NEXT, AVL_PREV,
    avl_last — get the first,
    next, previous, and last entries from an AVL tree
AVL Tree Library (libavl, -lavl)
  
  #include <sys/avl.h>
void *
  
  avl_first(avl_tree_t *tree);
void *
  
  avl_last(avl_tree_t *tree);
void *
  
  AVL_NEXT(avl_tree_t *tree,
    void *node);
void *
  
  AVL_PREV(avl_tree_t *tree,
    void *node);
The
    avl_first()
    and
    avl_last()
    respectively return the first and last entry in the tree specified by
    tree. Order in the tree is determined by the
    comparison function that was specified at the time the tree was created with
    avl_create(3AVL). If
    tree is empty, then
    avl_first() and avl_last()
    return NULL.
The
    AVL_NEXT()
    and
    AVL_PREV()
    functions are macros that may be used to obtain the next and previous entry
    following node in the AVL tree
    tree. If there is no next or previous node, for
    example, if one was at the beginning or end of the tree, then
    NULL is returned.
These constructs are generally used as part of loops to iterate the tree. See the examples section in libavl(3LIB) for more information on using this interface.
The avl_first() function returns a pointer
    to the first entry in the AVL tree tree or
    NULL if the AVL tree is empty.
The avl_last() function returns a pointer
    to the last entry in the AVL tree tree or
    NULL if the AVL tree is empty.
The AVL_NEXT() macro returns a pointer to
    the object in the tree that follows node. If
    node is the last entry in the tree,
    NULL is returned instead.
The AVL_PREV() macro returns a pointer to
    the object in the tree that precedes node. If
    node is the first entry in the tree,
    NULL is returned instead.
See the EXAMPLES section in libavl(3LIB).
See Locking in libavl(3LIB).
| May 7, 2015 | OmniOS |