vl_dsidx_t vl_linearpool_idx
Definition vl_linear_pool.h:47
A simple pool allocator, useful for avoiding many smaller heap allocations.
Definition vl_linear_pool.h:27
VL_MEMORY_SIZE_T vl_memsize_t
Definition vl_memory.h:18
VL_STRUCTURE_INDEX_T vl_dsidx_t
Index type for data structures.
Definition vl_numtypes.h:13
vl_queue * vlQueueClone(const vl_queue *src, vl_queue *dest)
Clones the specified queue to another.
Definition vl_queue.c:39
vl_linearpool_idx head
Definition vl_queue.h:19
int vlQueuePopFront(vl_queue *queue, void *element)
Copies the first element in the queue, and removes it from the queue.
Definition vl_queue.c:72
void vlQueueClear(vl_queue *queue)
Clears the specified queue.
Definition vl_queue.c:34
vl_linearpool_idx tail
Definition vl_queue.h:20
vl_queue * vlQueueNew(vl_memsize_t elementSize)
Allocates on the heap, initializes, and returns a queue instance.
Definition vl_queue.c:23
void vlQueueReserve(vl_queue *queue, vl_memsize_t n)
Reserves space for n-many elements in the underlying buffer of the specified queue.
Definition vl_queue.c:52
void vlQueuePushBack(vl_queue *queue, const void *element)
Adds a new element to the end of the queue.
Definition vl_queue.c:56
void vlQueueInit(vl_queue *queue, vl_memsize_t elementSize)
Initializes the specified queue.
Definition vl_queue.c:12
vl_dsidx_t vlQueueSize(vl_queue *queue)
Returns the total number of elements in the specified queue.
Definition vl_queue.c:91
vl_linearpool nodes
Definition vl_queue.h:17
vl_memsize_t elementSize
Definition vl_queue.h:18
void vlQueueFree(vl_queue *queue)
Frees the specified queue.
Definition vl_queue.c:19
void vlQueueDelete(vl_queue *queue)
Deletes the specified queue.
Definition vl_queue.c:29
First in, first out queue.
Definition vl_queue.h:16