24#define QueueAllocate DequeAllocate
Realtime double-ended queues.
void * queue_get(const queue_t *self, size_t index)
Access an arbitrary queue element.
bool queue_pop(queue_t *self, void *destination)
Pop the first element of the queue.
size_t queue_capacity(const queue_t *self)
Number of elements that can be stored in the queue.
bool queue_pop_n(queue_t *self, void *destination, size_t count)
Pop the first count elements of the queue.
bool queue_push(queue_t *self, const void *element)
Add a single element to the queue.
deque_t queue_t
A queue is First In First Out.
bool queue_push_n(queue_t *self, const void *elements, size_t count)
Add count elements to the queue.
size_t queue_count(const queue_t *self)
Number of elements currently in the queue.
size_t queue_room(const queue_t *self)
Number of elements that can be added.
bool queue_pop_into_array(queue_t *self, struct array *destination, size_t count)
Move the count first elements at the back of destination.
void queue_free(queue_t *self)
Release the allocated memory.
void * queue_first(const queue_t *self)
Next element to be popped.