UniMRCP  1.7.0
Macros | Typedefs | Functions
apt_cyclic_queue.h File Reference

Cyclic FIFO Queue of Opaque void* Objects. More...

#include "apt.h"
Include dependency graph for apt_cyclic_queue.h:

Go to the source code of this file.

Macros

#define CYCLIC_QUEUE_DEFAULT_SIZE   100
 

Typedefs

typedef struct apt_cyclic_queue_t apt_cyclic_queue_t
 

Functions

apt_cyclic_queue_tapt_cyclic_queue_create (apr_size_t size)
 
void apt_cyclic_queue_destroy (apt_cyclic_queue_t *queue)
 
apt_bool_t apt_cyclic_queue_push (apt_cyclic_queue_t *queue, void *obj)
 
void * apt_cyclic_queue_pop (apt_cyclic_queue_t *queue)
 
void apt_cyclic_queue_clear (apt_cyclic_queue_t *queue)
 
apt_bool_t apt_cyclic_queue_is_empty (const apt_cyclic_queue_t *queue)
 

Detailed Description

Cyclic FIFO Queue of Opaque void* Objects.

Macro Definition Documentation

◆ CYCLIC_QUEUE_DEFAULT_SIZE

#define CYCLIC_QUEUE_DEFAULT_SIZE   100

Default size (number of elements) of cyclic queue

Typedef Documentation

◆ apt_cyclic_queue_t

Opaque cyclic queue declaration

Function Documentation

◆ apt_cyclic_queue_clear()

void apt_cyclic_queue_clear ( apt_cyclic_queue_t queue)

Clear the queue (remove all the elements from the queue).

Parameters
queuethe queue to clear

◆ apt_cyclic_queue_create()

apt_cyclic_queue_t* apt_cyclic_queue_create ( apr_size_t  size)

Create cyclic queue.

Parameters
sizethe initial size of the queue
Returns
the created queue

◆ apt_cyclic_queue_destroy()

void apt_cyclic_queue_destroy ( apt_cyclic_queue_t queue)

Destroy cyclic queue.

Parameters
queuethe queue to destroy

◆ apt_cyclic_queue_is_empty()

apt_bool_t apt_cyclic_queue_is_empty ( const apt_cyclic_queue_t queue)

Query whether the queue is empty.

Parameters
queuethe queue to query
Returns
TRUE if empty, otherwise FALSE

◆ apt_cyclic_queue_pop()

void* apt_cyclic_queue_pop ( apt_cyclic_queue_t queue)

Pop object from the queue.

Parameters
queuethe queue to pop message from

◆ apt_cyclic_queue_push()

apt_bool_t apt_cyclic_queue_push ( apt_cyclic_queue_t queue,
void *  obj 
)

Push object to the queue.

Parameters
queuethe queue to push object to
objthe object to push