struct prioq_item *items;
};
-Prioq *prioq_new(compare_func_t compare_func) {
+Prioq* prioq_new(compare_func_t compare_func) {
Prioq *q;
q = new(Prioq, 1);
shuffle_up(q, k);
}
-void *prioq_peek_by_index(Prioq *q, unsigned idx) {
+void* prioq_peek_by_index(Prioq *q, unsigned idx) {
if (!q)
return NULL;
return q->items[idx].data;
}
-void *prioq_pop(Prioq *q) {
+void* prioq_pop(Prioq *q) {
void *data;
if (!q)
#define PRIOQ_IDX_NULL (UINT_MAX)
-Prioq *prioq_new(compare_func_t compare);
-Prioq *prioq_free(Prioq *q);
+Prioq* prioq_new(compare_func_t compare);
+Prioq* prioq_free(Prioq *q);
DEFINE_TRIVIAL_CLEANUP_FUNC(Prioq*, prioq_free);
int prioq_ensure_allocated(Prioq **q, compare_func_t compare_func);
int prioq_remove(Prioq *q, void *data, unsigned *idx);
void prioq_reshuffle(Prioq *q, void *data, unsigned *idx);
-void *prioq_peek_by_index(Prioq *q, unsigned idx) _pure_;
+void* prioq_peek_by_index(Prioq *q, unsigned idx) _pure_;
static inline void *prioq_peek(Prioq *q) {
return prioq_peek_by_index(q, 0);
}
-void *prioq_pop(Prioq *q);
+void* prioq_pop(Prioq *q);
#define PRIOQ_FOREACH_ITEM(q, p) \
for (unsigned _i = 0; (p = prioq_peek_by_index(q, _i)); _i++)