php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
zend_stack.h File Reference
#include "zend_portability.h"

Go to the source code of this file.

Data Structures

struct  _zend_stack
 

Macros

#define STACK_BLOCK_SIZE   16
 

Typedefs

typedef struct _zend_stack zend_stack
 

Enumerations

enum  zend_stack_apply_direction { ZEND_STACK_APPLY_TOPDOWN , ZEND_STACK_APPLY_BOTTOMUP }
 

Functions

ZEND_API void zend_stack_init (zend_stack *stack, int size)
 
ZEND_API int zend_stack_push (zend_stack *stack, const void *element)
 
ZEND_API voidzend_stack_top (const zend_stack *stack)
 
ZEND_API void zend_stack_del_top (zend_stack *stack)
 
ZEND_API int zend_stack_int_top (const zend_stack *stack)
 
ZEND_API bool zend_stack_is_empty (const zend_stack *stack)
 
ZEND_API void zend_stack_destroy (zend_stack *stack)
 
ZEND_API voidzend_stack_base (const zend_stack *stack)
 
ZEND_API int zend_stack_count (const zend_stack *stack)
 
ZEND_API void zend_stack_apply (zend_stack *stack, int type, int(*apply_function)(void *element))
 
ZEND_API void zend_stack_apply_with_argument (zend_stack *stack, zend_stack_apply_direction type, int(*apply_function)(void *element, void *arg), void *arg)
 
ZEND_API void zend_stack_clean (zend_stack *stack, void(*func)(void *), bool free_elements)
 

Macro Definition Documentation

◆ STACK_BLOCK_SIZE

#define STACK_BLOCK_SIZE   16

Definition at line 31 of file zend_stack.h.

Typedef Documentation

◆ zend_stack

typedef struct _zend_stack zend_stack

Enumeration Type Documentation

◆ zend_stack_apply_direction

Enumerator
ZEND_STACK_APPLY_TOPDOWN 
ZEND_STACK_APPLY_BOTTOMUP 

Definition at line 33 of file zend_stack.h.

Function Documentation

◆ zend_stack_apply()

ZEND_API void zend_stack_apply ( zend_stack * stack,
int type,
int(* apply_function )(void *element) )

Definition at line 99 of file zend_stack.c.

◆ zend_stack_apply_with_argument()

ZEND_API void zend_stack_apply_with_argument ( zend_stack * stack,
zend_stack_apply_direction type,
int(* apply_function )(void *element, void *arg),
void * arg )

Definition at line 122 of file zend_stack.c.

◆ zend_stack_base()

ZEND_API void * zend_stack_base ( const zend_stack * stack)

Definition at line 87 of file zend_stack.c.

◆ zend_stack_clean()

ZEND_API void zend_stack_clean ( zend_stack * stack,
void(* func )(void *),
bool free_elements )

Definition at line 144 of file zend_stack.c.

◆ zend_stack_count()

ZEND_API int zend_stack_count ( const zend_stack * stack)

Definition at line 93 of file zend_stack.c.

◆ zend_stack_del_top()

ZEND_API void zend_stack_del_top ( zend_stack * stack)

Definition at line 55 of file zend_stack.c.

◆ zend_stack_destroy()

ZEND_API void zend_stack_destroy ( zend_stack * stack)

Definition at line 78 of file zend_stack.c.

◆ zend_stack_init()

ZEND_API void zend_stack_init ( zend_stack * stack,
int size )

Definition at line 25 of file zend_stack.c.

◆ zend_stack_int_top()

ZEND_API int zend_stack_int_top ( const zend_stack * stack)

Definition at line 61 of file zend_stack.c.

◆ zend_stack_is_empty()

ZEND_API bool zend_stack_is_empty ( const zend_stack * stack)

Definition at line 72 of file zend_stack.c.

◆ zend_stack_push()

ZEND_API int zend_stack_push ( zend_stack * stack,
const void * element )

Definition at line 33 of file zend_stack.c.

◆ zend_stack_top()

ZEND_API void * zend_stack_top ( const zend_stack * stack)

Definition at line 45 of file zend_stack.c.