libqueue 1.0.0
Queue in C
All Data Structures Files Functions Variables Typedefs Pages
Data Structures | Typedefs | Functions
queue.h File Reference

Entry header file to the library. More...

#include <stdbool.h>
#include <sys/types.h>

Go to the source code of this file.

Data Structures

struct  queue_node_t
 Nodes in the queue. More...
 
struct  queue_t
 Queue instance. More...
 

Typedefs

typedef struct queue_node_t queue_node_t
 Nodes in the queue. More...
 

Functions

void queue_new (queue_t *queue)
 Initialize a queue. More...
 
void queue_push (queue_t *queue, void *value)
 Push elements to the back of the queue. More...
 
void * queue_pop (queue_t *queue)
 Pop elements from the front of the queue. More...
 
void * queue_front (queue_t *queue)
 Peek the front element of the queue. More...
 
void * queue_back (queue_t *queue)
 Peek the last element of the queue. More...
 
bool queue_empty (queue_t *queue)
 Check if queue is empty. More...
 
void queue_free (queue_t *queue)
 Free the queue's elements. More...
 

Detailed Description

Entry header file to the library.

Author
Saurav Pal (resyfer)
Bug:
No known bugs

Typedef Documentation

◆ queue_node_t

typedef struct queue_node_t queue_node_t

Nodes in the queue.

The building blocks of queue

Function Documentation

◆ queue_back()

void * queue_back ( queue_t queue)

Peek the last element of the queue.

Parameters
queueQueue instance.
Returns
void* Last element

◆ queue_empty()

bool queue_empty ( queue_t queue)

Check if queue is empty.

Parameters
queue
Returns
true If queue is empty
false If queue is not empty

◆ queue_free()

void queue_free ( queue_t queue)

Free the queue's elements.

Warning
This does not free the queue data structure itself but the elemental blocks it uses. Also it does not free the elements added to the queue.
Parameters
queueQueue instance

◆ queue_front()

void * queue_front ( queue_t queue)

Peek the front element of the queue.

Parameters
queueQueue Instance
Returns
void* Front element

◆ queue_new()

void queue_new ( queue_t queue)

Initialize a queue.

Parameters
queueA queue instance to initialize

◆ queue_pop()

void * queue_pop ( queue_t queue)

Pop elements from the front of the queue.

Parameters
queueQueue instance
Returns
void* Value of the element popped.

◆ queue_push()

void queue_push ( queue_t queue,
void *  value 
)

Push elements to the back of the queue.

Parameters
queueQueue instance
valueValue to push