38 vl_uint16_t elementSize;
64VL_API
void vlDequeInit(vl_deque* deq, vl_uint16_t elementSize);
106VL_API vl_deque*
vlDequeNew(vl_uint16_t elementSize);
196VL_API vl_deque*
vlDequeClone(
const vl_deque* src, vl_deque* dest);
215static inline vl_dsidx_t vlDequeSize(vl_deque* deq) {
return deq->totalElements; }
VL_API void vlDequeDelete(vl_deque *deq)
De-initializes and deletes the specified deque and its resources.
Definition vl_deque.c:43
VL_API void vlDequeReserve(vl_deque *deque, vl_dsidx_t n)
Reserves space for n-many elements in the underlying buffer of the specified deque.
Definition vl_deque.c:57
VL_API int vlDequePopFront(vl_deque *deq, void *val)
Copies and removes an element from the front of the deque.
Definition vl_deque.c:102
VL_API vl_deque * vlDequeClone(const vl_deque *src, vl_deque *dest)
Clones the specified source deque to another.
Definition vl_deque.c:59
VL_API void vlDequeFree(vl_deque *deq)
De-initializes and frees the internal resources of the specified deque.
Definition vl_deque.c:27
VL_API void vlDequePushFront(vl_deque *deq, const void *val)
Adds and copies an element to the front of the deque.
Definition vl_deque.c:73
VL_API void vlDequeInit(vl_deque *deq, vl_uint16_t elementSize)
Initializes the specified instance of vl_deque with specific element size.
Definition vl_deque.c:18
VL_API int vlDequePopBack(vl_deque *deq, void *val)
Copies and removes an element from the end of the deque.
Definition vl_deque.c:158
VL_API vl_deque * vlDequeNew(vl_uint16_t elementSize)
Allocates on the heap, initializes, and returns a new deque instance.
Definition vl_deque.c:36
VL_API void vlDequeClear(vl_deque *deq)
Clears the specified deque.
Definition vl_deque.c:49
VL_API void vlDequePushBack(vl_deque *deq, const void *val)
Adds and copies an element to the end of the deque.
Definition vl_deque.c:132
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