teoQueueData * teoQueueIteratorNext(teoQueueIterator *it)
Get next element from Teo Queue iterator.
Definition: queue.c:421
teoQueueData * teoQueueMoveToEnd(teoQueue *q, teoQueueData *qd)
Move element from this queue to the end of queue.
Definition: queue.c:336
int teoQueueDeleteLast(teoQueue *q)
Delete last element from queue and free it.
Definition: queue.c:325
struct teoQueueData * prev
Definition: queue.h:51
teoQueueData * qd
Definition: queue.h:69
teoQueueIterator * teoQueueIteratorNew(teoQueue *q)
Create new Teo Queue iterator.
Definition: queue.c:385
size_t data_length
Definition: queue.h:53
teoQueueData * teoQueueNewData(void *data, size_t data_length)
Create new teoQueueData buffer.
Definition: queue.c:135
struct teoQueueIterator teoQueueIterator
teoQueueData * teoQueueRemove(teoQueue *q, teoQueueData *qd)
Remove element from queue but not free it.
Definition: queue.c:274
int teoQueueFree(teoQueue *q)
Remove all elements from Teo queue.
Definition: queue.c:74
teoQueueData * last
Definition: queue.h:62
teoQueueData * teoQueueUpdate(teoQueue *q, void *data, size_t data_length, teoQueueData *qd)
Update element: remove selected and set new one to it place.
Definition: queue.c:238
char data[]
Definition: queue.h:54
int(* teoQueueForeachFunction)(teoQueue *q, int idx, teoQueueData *data, void *user_data)
Definition: queue.h:102
teoQueueData * teoQueueAddTop(teoQueue *q, void *data, size_t data_length)
Add new element to the top of Teo queue.
Definition: queue.c:183
teoQueueData * teoQueueAdd(teoQueue *q, void *data, size_t data_length)
Add new element to the end of Teo queue.
Definition: queue.c:162
Queue module, linked list with data in body.
Definition: queue.h:49
int teoQueueForeach(teoQueue *q, teoQueueForeachFunction callback, void *user_data)
Loop through queue and call callback function with index and data in parameters.
Definition: queue.c:479
struct teoQueueData teoQueueData
Queue module, linked list with data in body.
teoQueueData * teoQueueIteratorElement(teoQueueIterator *it)
Get current Teo Queue iterator element.
Definition: queue.c:454
int teoQueueDeleteFirst(teoQueue *q)
Delete first element from queue and free it.
Definition: queue.c:315
struct teoQueueData * next
Definition: queue.h:52
teoQueueData * first
Definition: queue.h:61
teoQueue * teoQueueNew()
Create new Teo Queue.
Definition: queue.c:41
teoQueueData * teoQueueMoveToTop(teoQueue *q, teoQueueData *qd)
Move element from this queue to the top of queue.
Definition: queue.c:361
teoQueueData * teoQueuePut(teoQueue *q, teoQueueData *qd)
Put (add, copy) existing queue record to the end of selected queue.
Definition: queue.c:109
size_t length
Definition: queue.h:60
teoQueueData * teoQueueAddAfter(teoQueue *q, void *data, size_t data_length, teoQueueData *qd)
Add new element after selected in qd field.
Definition: queue.c:199
teoQueueData * teoQueueIteratorPrev(teoQueueIterator *it)
Get previous element from Teo Queue iterator.
Definition: queue.c:438
int teoQueueIteratorFree(teoQueueIterator *it)
Free (destroy) Teo Queue iterator.
Definition: queue.c:465
size_t teoQueueSize(teoQueue *q)
Get number of elements in Teo queue.
Definition: queue.c:97
teoQueueIterator * teoQueueIteratorReset(teoQueueIterator *it, teoQueue *q)
Reset iterator (or swith to new Queue)
Definition: queue.c:404
teoQueue * q
Definition: queue.h:68
int teoQueueDelete(teoQueue *q, teoQueueData *qd)
Delete element from queue and free it.
Definition: queue.c:300
int teoQueueDestroy(teoQueue *q)
Destroy Teo Queue.
Definition: queue.c:57