Top level include containg common headers.
Contains declations of link list types, node and link list structure.
struct stack t_stack
stack struct defn
t_gen create_stack(char *name, int max_size, e_stacktype, t_dparams *)
Create an instance of stack
e_stacktype
types of supported stacks
@ eARRAY_STACK
Top Growing Stack.
@ eLL_STACK
LinkList based Stack.
@ eARRAY_STACK_DOWN
Down Growing Stack.
f_len len
routine to get len of stack
f_vgen destroy
routine to destroy stack contents
f_print print
routine to print stack contents
f_gen2 push
stack operations
char * name
Stack instance name.
f_empty empty
routine to check if stack is empty
f_free free
routies for operating on data
f_genidx peek
routine to peek elements in stack
int max_size
Max Size of stack.
f_full full
routine to check if stack is full
e_stacktype type
Stack Type.
int count
Total elems present in stack.
f_gen pop
routine to pop element into stack
void(* f_vgen)(t_gen)
fn ptr that takes one gen ptr and return nothing
bool(* f_empty)(t_gen)
fn type of an empty function
void(* f_free)(t_gen, char *, int)
f_vgen f_print
fn type to print function
t_gen(* f_genidx)(t_gen, int)
fn ptr that takes one gen ptr, idx and return gen ptr
bool(* f_full)(t_gen)
fn type of a full function
t_gen(* f_gen2)(t_gen, t_gen)
fn ptr that takes two gen ptr and return gen ptr
int(* f_len)(t_gen)
fn type of get len function
void * t_gen
Base Data type used for all data structure and data elements.
t_gen(* f_gen)(t_gen)
Generic data pointer definitions that are common to most data structure operations.