queue.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include "queue.h"

Data Structures

struct  queue_node
 Private. More...

Functions

void queue_init (queue_t *q)
 Initializes queue structure.
void queue_destroy (queue_t *q)
 Frees all associated memory.
void * queue_dequeue (queue_t *q)
 Removes and returns element from front of queue.
void * queue_remove_at (queue_t *q, int pos)
 Removes and returns element at position pos.
void * queue_at (queue_t *q, int pos)
 Returns element located at position pos.
void queue_enqueue (queue_t *q, void *item)
 Stores item at the back of the queue.
unsigned int queue_size (queue_t *q)
 Returns number of items in the queue.
void queue_iterate (queue_t *q, void(*iter_func)(void *, void *), void *arg)
 Helper function to apply operation on each item.

Detailed Description


Function Documentation

void* queue_at ( queue_t q,
int  pos 
)

Returns element located at position pos.

Parameters:
q A pointer to the queue data structure.
pos Zero-based index of element to return.
Returns:
A pointer to the element at position pos.
NULL if position out of bounds.
void* queue_dequeue ( queue_t q  ) 

Removes and returns element from front of queue.

Parameters:
q A pointer to the queue data structure.
Returns:
A pointer to the oldest element in the queue.
NULL if the queue is empty.
void queue_destroy ( queue_t q  ) 

Frees all associated memory.

Should always be called last.

Parameters:
q A pointer to the queue data structure.
Returns:
void
void queue_enqueue ( queue_t q,
void *  item 
)

Stores item at the back of the queue.

Parameters:
q A pointer to the queue data structure.
item Value of item to be stored.
Returns:
void
void queue_init ( queue_t q  ) 

Initializes queue structure.

Should always be called first.

Parameters:
q A pointer to the queue data structure.
Returns:
void
void queue_iterate ( queue_t q,
void(*)(void *, void *)  iter_func,
void *  arg 
)

Helper function to apply operation on each item.

Parameters:
q A pointer to the queue data structure.
iter_func Function pointer to operation to be applied.
arg Pass through variable to iter_func.
Returns:
void
void* queue_remove_at ( queue_t q,
int  pos 
)

Removes and returns element at position pos.

Parameters:
q A pointer to the queue data structure.
pos Position to be removed.
Returns:
A pointer to the element at position pos.
NULL if the position is invalid.
unsigned int queue_size ( queue_t q  ) 

Returns number of items in the queue.

Parameters:
q A pointer to the queue data structure.
Returns:
The number of items in the queue.

Generated on 15 Mar 2014 for Parallel Make (parmake) by  doxygen 1.6.1