php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
avl.c File Reference
#include "lexbor/core/avl.h"

Go to the source code of this file.

Functions

lxb_inline short lexbor_avl_node_height (lexbor_avl_node_t *node)
 
lxb_inline short lexbor_avl_node_balance_factor (lexbor_avl_node_t *node)
 
lxb_inline void lexbor_avl_node_set_height (lexbor_avl_node_t *node)
 
lxb_inline lexbor_avl_node_tlexbor_avl_find_min (lexbor_avl_node_t *node)
 
lxb_inline void lexbor_avl_rotate_for_delete (lexbor_avl_node_t *delete_node, lexbor_avl_node_t *node, lexbor_avl_node_t **root)
 
lexbor_avl_tlexbor_avl_create (void)
 
lxb_status_t lexbor_avl_init (lexbor_avl_t *avl, size_t chunk_len, size_t struct_size)
 
void lexbor_avl_clean (lexbor_avl_t *avl)
 
lexbor_avl_tlexbor_avl_destroy (lexbor_avl_t *avl, bool self_destroy)
 
lexbor_avl_node_tlexbor_avl_node_make (lexbor_avl_t *avl, size_t type, void *value)
 
void lexbor_avl_node_clean (lexbor_avl_node_t *node)
 
lexbor_avl_node_tlexbor_avl_node_destroy (lexbor_avl_t *avl, lexbor_avl_node_t *node, bool self_destroy)
 
lexbor_avl_node_tlexbor_avl_insert (lexbor_avl_t *avl, lexbor_avl_node_t **scope, size_t type, void *value)
 
voidlexbor_avl_remove (lexbor_avl_t *avl, lexbor_avl_node_t **scope, size_t type)
 
void lexbor_avl_remove_by_node (lexbor_avl_t *avl, lexbor_avl_node_t **root, lexbor_avl_node_t *node)
 
lexbor_avl_node_tlexbor_avl_search (lexbor_avl_t *avl, lexbor_avl_node_t *node, size_t type)
 
lxb_status_t lexbor_avl_foreach (lexbor_avl_t *avl, lexbor_avl_node_t **scope, lexbor_avl_node_f cb, void *ctx)
 
void lexbor_avl_foreach_recursion (lexbor_avl_t *avl, lexbor_avl_node_t *scope, lexbor_avl_node_f callback, void *ctx)
 

Function Documentation

◆ lexbor_avl_clean()

void lexbor_avl_clean ( lexbor_avl_t * avl)

Definition at line 68 of file avl.c.

◆ lexbor_avl_create()

lexbor_avl_t * lexbor_avl_create ( void )

Definition at line 39 of file avl.c.

◆ lexbor_avl_destroy()

lexbor_avl_t * lexbor_avl_destroy ( lexbor_avl_t * avl,
bool self_destroy )

Definition at line 76 of file avl.c.

◆ lexbor_avl_find_min()

lxb_inline lexbor_avl_node_t * lexbor_avl_find_min ( lexbor_avl_node_t * node)

Definition at line 314 of file avl.c.

◆ lexbor_avl_foreach()

lxb_status_t lexbor_avl_foreach ( lexbor_avl_t * avl,
lexbor_avl_node_t ** scope,
lexbor_avl_node_f cb,
void * ctx )

Definition at line 455 of file avl.c.

◆ lexbor_avl_foreach_recursion()

void lexbor_avl_foreach_recursion ( lexbor_avl_t * avl,
lexbor_avl_node_t * scope,
lexbor_avl_node_f callback,
void * ctx )

Definition at line 557 of file avl.c.

◆ lexbor_avl_init()

lxb_status_t lexbor_avl_init ( lexbor_avl_t * avl,
size_t chunk_len,
size_t struct_size )

Definition at line 45 of file avl.c.

◆ lexbor_avl_insert()

lexbor_avl_node_t * lexbor_avl_insert ( lexbor_avl_t * avl,
lexbor_avl_node_t ** scope,
size_t type,
void * value )

Definition at line 258 of file avl.c.

◆ lexbor_avl_node_balance_factor()

lxb_inline short lexbor_avl_node_balance_factor ( lexbor_avl_node_t * node)

Definition at line 132 of file avl.c.

◆ lexbor_avl_node_clean()

void lexbor_avl_node_clean ( lexbor_avl_node_t * node)

Definition at line 105 of file avl.c.

◆ lexbor_avl_node_destroy()

lexbor_avl_node_t * lexbor_avl_node_destroy ( lexbor_avl_t * avl,
lexbor_avl_node_t * node,
bool self_destroy )

Definition at line 111 of file avl.c.

◆ lexbor_avl_node_height()

lxb_inline short lexbor_avl_node_height ( lexbor_avl_node_t * node)

Definition at line 126 of file avl.c.

◆ lexbor_avl_node_make()

lexbor_avl_node_t * lexbor_avl_node_make ( lexbor_avl_t * avl,
size_t type,
void * value )

Definition at line 91 of file avl.c.

◆ lexbor_avl_node_set_height()

lxb_inline void lexbor_avl_node_set_height ( lexbor_avl_node_t * node)

Definition at line 139 of file avl.c.

◆ lexbor_avl_remove()

void * lexbor_avl_remove ( lexbor_avl_t * avl,
lexbor_avl_node_t ** scope,
size_t type )

Definition at line 399 of file avl.c.

◆ lexbor_avl_remove_by_node()

void lexbor_avl_remove_by_node ( lexbor_avl_t * avl,
lexbor_avl_node_t ** root,
lexbor_avl_node_t * node )

Definition at line 426 of file avl.c.

◆ lexbor_avl_rotate_for_delete()

lxb_inline void lexbor_avl_rotate_for_delete ( lexbor_avl_node_t * delete_node,
lexbor_avl_node_t * node,
lexbor_avl_node_t ** root )

Definition at line 328 of file avl.c.

◆ lexbor_avl_search()

lexbor_avl_node_t * lexbor_avl_search ( lexbor_avl_t * avl,
lexbor_avl_node_t * node,
size_t type )

Definition at line 437 of file avl.c.