35 vl_uint16_t elementSize;
62VL_API
void vlQueueInit(vl_queue* queue, vl_uint16_t elementSize);
105VL_API vl_queue*
vlQueueNew(vl_uint16_t elementSize);
156VL_API vl_queue*
vlQueueClone(
const vl_queue* src, vl_queue* dest);
263static inline vl_dsidx_t vlQueueSize(vl_queue* queue) {
return queue->totalElements; }
VL_STRUCTURE_INDEX_T vl_dsidx_t
Index type for data structures.
Definition vl_numtypes.h:75
VL_POOL_INDEX_T vl_pool_idx
Definition vl_pool.h:53
Fixed-size memory pool with stable indices and geometric growth.
Definition vl_pool.h:141
VL_API void vlQueueReserve(vl_queue *queue, vl_dsidx_t n)
Reserves space for n-many elements in the underlying buffer of the specified queue.
Definition vl_queue.c:59
VL_API void vlQueueFree(vl_queue *queue)
De-initializes and frees the internal resources of the specified queue.
Definition vl_queue.c:24
VL_API void vlQueueInit(vl_queue *queue, vl_uint16_t elementSize)
Initializes the specified queue with a specific element size.
Definition vl_queue.c:16
VL_API void vlQueueClear(vl_queue *queue)
Clears the specified queue.
Definition vl_queue.c:39
VL_API vl_queue * vlQueueClone(const vl_queue *src, vl_queue *dest)
Clones the specified source queue to another.
Definition vl_queue.c:45
VL_API void vlQueueDelete(vl_queue *queue)
De-initializes and deletes the specified queue and its resources.
Definition vl_queue.c:33
VL_API void vlQueuePushBack(vl_queue *queue, const void *element)
Adds a new element to the end of the queue.
Definition vl_queue.c:61
VL_API int vlQueuePopFront(vl_queue *queue, void *element)
Copies the first element in the queue and removes it.
Definition vl_queue.c:78
VL_API vl_queue * vlQueueNew(vl_uint16_t elementSize)
Allocates on the heap, initializes, and returns a new queue instance.
Definition vl_queue.c:26