php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
zend_llist.c File Reference
#include "zend.h"
#include "zend_llist.h"
#include "zend_sort.h"

Go to the source code of this file.

Macros

#define DEL_LLIST_ELEMENT(current, l)
 

Functions

ZEND_API void zend_llist_init (zend_llist *l, size_t size, llist_dtor_func_t dtor, unsigned char persistent)
 
ZEND_API void zend_llist_add_element (zend_llist *l, const void *element)
 
ZEND_API void zend_llist_prepend_element (zend_llist *l, const void *element)
 
ZEND_API void zend_llist_del_element (zend_llist *l, void *element, int(*compare)(void *element1, void *element2))
 
ZEND_API void zend_llist_destroy (zend_llist *l)
 
ZEND_API void zend_llist_clean (zend_llist *l)
 
ZEND_API void zend_llist_remove_tail (zend_llist *l)
 
ZEND_API void zend_llist_copy (zend_llist *dst, zend_llist *src)
 
ZEND_API void zend_llist_apply_with_del (zend_llist *l, int(*func)(void *data))
 
ZEND_API void zend_llist_apply (zend_llist *l, llist_apply_func_t func)
 
ZEND_API void zend_llist_sort (zend_llist *l, llist_compare_func_t comp_func)
 
ZEND_API void zend_llist_apply_with_argument (zend_llist *l, llist_apply_with_arg_func_t func, void *arg)
 
ZEND_API void zend_llist_apply_with_arguments (zend_llist *l, llist_apply_with_args_func_t func, int num_args,...)
 
ZEND_API size_t zend_llist_count (zend_llist *l)
 
ZEND_API voidzend_llist_get_first_ex (zend_llist *l, zend_llist_position *pos)
 
ZEND_API voidzend_llist_get_last_ex (zend_llist *l, zend_llist_position *pos)
 
ZEND_API voidzend_llist_get_next_ex (zend_llist *l, zend_llist_position *pos)
 
ZEND_API voidzend_llist_get_prev_ex (zend_llist *l, zend_llist_position *pos)
 

Macro Definition Documentation

◆ DEL_LLIST_ELEMENT

#define DEL_LLIST_ELEMENT ( current,
l )
Value:
if ((current)->prev) {\
(current)->prev->next = (current)->next;\
} else {\
(l)->head = (current)->next;\
}\
if ((current)->next) {\
(current)->next->prev = (current)->prev;\
} else {\
(l)->tail = (current)->prev;\
}\
if ((l)->dtor) {\
(l)->dtor((current)->data);\
}\
pefree((current), (l)->persistent);\
--l->count;
prev(array|object &$array)
ffi persistent
Definition ffi.c:3633
#define next(ls)
Definition minilua.c:2661
struct php_pcntl_pending_signal * head
Definition php_pcntl.h:47
struct php_pcntl_pending_signal * tail
Definition php_pcntl.h:47
zend_constant * data
zval * current
Definition session.c:1024

Definition at line 70 of file zend_llist.c.

Function Documentation

◆ zend_llist_add_element()

ZEND_API void zend_llist_add_element ( zend_llist * l,
const void * element )

Definition at line 34 of file zend_llist.c.

◆ zend_llist_apply()

ZEND_API void zend_llist_apply ( zend_llist * l,
llist_apply_func_t func )

Definition at line 179 of file zend_llist.c.

◆ zend_llist_apply_with_argument()

ZEND_API void zend_llist_apply_with_argument ( zend_llist * l,
llist_apply_with_arg_func_t func,
void * arg )

Definition at line 231 of file zend_llist.c.

◆ zend_llist_apply_with_arguments()

ZEND_API void zend_llist_apply_with_arguments ( zend_llist * l,
llist_apply_with_args_func_t func,
int num_args,
... )

Definition at line 241 of file zend_llist.c.

◆ zend_llist_apply_with_del()

ZEND_API void zend_llist_apply_with_del ( zend_llist * l,
int(* func )(void *data) )

Definition at line 164 of file zend_llist.c.

◆ zend_llist_clean()

ZEND_API void zend_llist_clean ( zend_llist * l)

Definition at line 121 of file zend_llist.c.

◆ zend_llist_copy()

ZEND_API void zend_llist_copy ( zend_llist * dst,
zend_llist * src )

Definition at line 151 of file zend_llist.c.

◆ zend_llist_count()

ZEND_API size_t zend_llist_count ( zend_llist * l)

Definition at line 254 of file zend_llist.c.

◆ zend_llist_del_element()

ZEND_API void zend_llist_del_element ( zend_llist * l,
void * element,
int(* compare )(void *element1, void *element2) )

Definition at line 88 of file zend_llist.c.

◆ zend_llist_destroy()

ZEND_API void zend_llist_destroy ( zend_llist * l)

Definition at line 102 of file zend_llist.c.

◆ zend_llist_get_first_ex()

ZEND_API void * zend_llist_get_first_ex ( zend_llist * l,
zend_llist_position * pos )

Definition at line 260 of file zend_llist.c.

◆ zend_llist_get_last_ex()

ZEND_API void * zend_llist_get_last_ex ( zend_llist * l,
zend_llist_position * pos )

Definition at line 273 of file zend_llist.c.

◆ zend_llist_get_next_ex()

ZEND_API void * zend_llist_get_next_ex ( zend_llist * l,
zend_llist_position * pos )

Definition at line 286 of file zend_llist.c.

◆ zend_llist_get_prev_ex()

ZEND_API void * zend_llist_get_prev_ex ( zend_llist * l,
zend_llist_position * pos )

Definition at line 300 of file zend_llist.c.

◆ zend_llist_init()

ZEND_API void zend_llist_init ( zend_llist * l,
size_t size,
llist_dtor_func_t dtor,
unsigned char persistent )

Definition at line 24 of file zend_llist.c.

◆ zend_llist_prepend_element()

ZEND_API void zend_llist_prepend_element ( zend_llist * l,
const void * element )

Definition at line 52 of file zend_llist.c.

◆ zend_llist_remove_tail()

ZEND_API void zend_llist_remove_tail ( zend_llist * l)

Definition at line 128 of file zend_llist.c.

◆ zend_llist_sort()

ZEND_API void zend_llist_sort ( zend_llist * l,
llist_compare_func_t comp_func )

Definition at line 196 of file zend_llist.c.