gdsl  1.7
gdsl_stack.h File Reference

Go to the source code of this file.

Typedefs

typedef struct _gdsl_stack * gdsl_stack_t
 GDSL stack type.

Functions

gdsl_stack_t gdsl_stack_alloc (const char *NAME, gdsl_alloc_func_t ALLOC_F, gdsl_free_func_t FREE_F)
 Create a new stack.
void gdsl_stack_free (gdsl_stack_t S)
 Destroy a stack.
void gdsl_stack_flush (gdsl_stack_t S)
 Flush a stack.
const char * gdsl_stack_get_name (const gdsl_stack_t S)
 Getsthe name of a stack.
ulong gdsl_stack_get_size (const gdsl_stack_t S)
 Get the size of a stack.
ulong gdsl_stack_get_growing_factor (const gdsl_stack_t S)
 Get the growing factor of a stack.
bool gdsl_stack_is_empty (const gdsl_stack_t S)
 Check if a stack is empty.
gdsl_element_t gdsl_stack_get_top (const gdsl_stack_t S)
 Get the top of a stack.
gdsl_element_t gdsl_stack_get_bottom (const gdsl_stack_t S)
 Get the bottom of a stack.
gdsl_stack_t gdsl_stack_set_name (gdsl_stack_t S, const char *NEW_NAME)
 Set the name of a stack.
void gdsl_stack_set_growing_factor (gdsl_stack_t S, ulong G)
 Set the growing factor of a stack.
gdsl_element_t gdsl_stack_insert (gdsl_stack_t S, void *VALUE)
 Insert an element in a stack (PUSH).
gdsl_element_t gdsl_stack_remove (gdsl_stack_t S)
 Remove an element from a stack (POP).
gdsl_element_t gdsl_stack_search (const gdsl_stack_t S, gdsl_compare_func_t COMP_F, void *VALUE)
 Search for a particular element in a stack.
gdsl_element_t gdsl_stack_search_by_position (const gdsl_stack_t S, ulong POS)
 Search for an element by its position in a stack.
gdsl_element_t gdsl_stack_map_forward (const gdsl_stack_t S, gdsl_map_func_t MAP_F, void *USER_DATA)
 Parse a stack from bottom to top.
gdsl_element_t gdsl_stack_map_backward (const gdsl_stack_t S, gdsl_map_func_t MAP_F, void *USER_DATA)
 Parse a stack from top to bottom.
void gdsl_stack_write (const gdsl_stack_t S, gdsl_write_func_t WRITE_F, FILE *OUTPUT_FILE, void *USER_DATA)
 Write all the elements of a stack to a file.
void gdsl_stack_write_xml (gdsl_stack_t S, gdsl_write_func_t WRITE_F, FILE *OUTPUT_FILE, void *USER_DATA)
 Write the content of a stack to a file into XML.
void gdsl_stack_dump (gdsl_stack_t S, gdsl_write_func_t WRITE_F, FILE *OUTPUT_FILE, void *USER_DATA)
 Dump the internal structure of a stack to a file.