Top level include containg common headers.
Contains declations of link list types, node and link list structure.
e_queuetype
types of queue
@ eLL_QUEUE_CIRC
Link List Based Queue.
@ eARRAY_QUEUE_CIRC
Array Based Queue.
t_gen create_queue(char *name, int max_size, e_queuetype type, t_dparams *prm)
Destroy queue instance
f_len len
routine to get length queue
f_print print
routine to print queue elements
e_queuetype type
Stack Type.
char * name
Stack instance name.
f_gen deq
routine to pop elements out of queue
f_destroy destroy
routine to detroy queue instance
f_empty empty
routine to check if queue empty
f_genidx peek
routine to peek node in queue
int max_size
Max Size of queue.
f_full full
routine to check if queue full
int front
Queue Front Pointer.
int count
Total elems present in queue.
f_ins enq
routine to push elements to queue
t_gen * data
Ptr to link List or array based on type of queue.
int rear
Queue Rear Pointer.
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
f_vgen f_destroy
fn type of destroy 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
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.
f_vgen2 f_ins
fn type of insert elem function
t_gen(* f_gen)(t_gen)
Generic data pointer definitions that are common to most data structure operations.