34typedef struct as_queue_s {
80#define as_queue_inita(__q, __item_size, __capacity)\
81(__q)->data = alloca((__capacity) * (__item_size));\
82(__q)->capacity = __capacity;\
83(__q)->head = (__q)->tail = 0;\
84(__q)->item_size = __item_size;\
113static inline uint32_t
static bool as_queue_pop(as_queue *queue, void *ptr)
AS_EXTERN bool as_queue_push_limit(as_queue *queue, const void *ptr)
AS_EXTERN bool as_queue_push_head(as_queue *queue, const void *ptr)
AS_EXTERN void as_queue_destroy(as_queue *queue)
static bool as_queue_empty(as_queue *queue)
static void as_queue_decr_total(as_queue *queue)
static bool as_queue_incr_total(as_queue *queue)
static bool as_queue_pop_tail(as_queue *queue, void *ptr)
AS_EXTERN bool as_queue_init(as_queue *queue, uint32_t item_size, uint32_t capacity)
AS_EXTERN bool as_queue_push_head_limit(as_queue *queue, const void *ptr)
static uint32_t as_queue_size(as_queue *queue)
AS_EXTERN bool as_queue_push(as_queue *queue, const void *ptr)
static void * as_queue_get(as_queue *queue, uint32_t index)
AS_EXTERN as_queue * as_queue_create(uint32_t item_size, uint32_t capacity)