65 #ifndef GW_PRIOQUEUE_H 66 #define GW_PRIOQUEUE_H 1 98 #define gw_prioqueue_produce(queue, item) gw_prioqueue_insert(queue, item) void gw_prioqueue_destroy(gw_prioqueue_t *queue, void(*item_destroy)(void *))
void * gw_prioqueue_consume(gw_prioqueue_t *queue)
int(* cmp)(const void *, const void *)
long gw_prioqueue_producer_count(gw_prioqueue_t *queue)
void gw_prioqueue_remove_producer(gw_prioqueue_t *queue)
void gw_prioqueue_add_producer(gw_prioqueue_t *queue)
gw_prioqueue_t * gw_prioqueue_create(int(*cmp)(const void *, const void *))
void gw_prioqueue_insert(gw_prioqueue_t *queue, void *item)
long gw_prioqueue_len(gw_prioqueue_t *queue)
void gw_prioqueue_foreach(gw_prioqueue_t *queue, void(*fn)(const void *, long))
static void item_destroy(void *item)
void * gw_prioqueue_remove(gw_prioqueue_t *queue)
void * gw_prioqueue_get(gw_prioqueue_t *queue)