Go to the documentation of this file.
106 return q->
tail->prev->value;
122 original_next->
prev = new_entry;
124 new_entry->
next = original_next;
140 original_prev = q->
tail->prev;
142 q->
tail->prev = new_entry;
143 original_prev->
next = new_entry;
145 new_entry->
prev = original_prev;
161 new_head_next = front->
next;
181 back = q->
tail->prev;
182 new_tail_prev = back->
prev;
185 q->
tail->prev = new_tail_prev;
int ff_queue_push_front(Queue *q, void *v)
Add data to the head of the queue.
void * ff_queue_pop_front(Queue *q)
Remove and free first element from the Queue.
size_t ff_queue_size(Queue *q)
Return the length of the Queue.
void * ff_queue_peek_back(Queue *q)
Return a pointer to the data at the tail of the queue.
Queue * ff_queue_create(void)
Create a Queue instance.
static double val(void *priv, double ch)
Linear double-ended data structure.
int ff_queue_push_back(Queue *q, void *v)
Add data to the tail of the queue.
void * ff_queue_pop_back(Queue *q)
Remove and free last element from the Queue.
void ff_queue_destroy(Queue *q)
Destroy the Queue instance.
void * ff_queue_peek_front(Queue *q)
Return a pointer to the data at the head of the queue.
static QueueEntry * create_entry(void *val)