34 typedef 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;\
113 static inline uint32_t
AS_EXTERN bool as_queue_init(as_queue *queue, uint32_t item_size, uint32_t capacity)
AS_EXTERN bool as_queue_push_head(as_queue *queue, const void *ptr)
AS_EXTERN bool as_queue_push(as_queue *queue, const void *ptr)
static bool as_queue_pop(as_queue *queue, void *ptr)
static void * as_queue_get(as_queue *queue, uint32_t index)
static uint32_t as_queue_size(as_queue *queue)
static bool as_queue_pop_tail(as_queue *queue, void *ptr)
AS_EXTERN bool as_queue_push_head_limit(as_queue *queue, const void *ptr)
AS_EXTERN bool as_queue_push_limit(as_queue *queue, const void *ptr)
static bool as_queue_empty(as_queue *queue)
static bool as_queue_incr_total(as_queue *queue)
AS_EXTERN void as_queue_destroy(as_queue *queue)
AS_EXTERN as_queue * as_queue_create(uint32_t item_size, uint32_t capacity)
static void as_queue_decr_total(as_queue *queue)