8#ifndef PRIORITY_QUEUE_H
9#define PRIORITY_QUEUE_H
22 size_t key_size,
size_t val_size,
23 int(*cmp)(
const void *a,
const void *b),
36 void *key,
void *val);
40 void *key,
void *val);
44 void *key,
void *val);
49 void *key,
void *val);
57 void *key,
void *val);
priority_queue * priority_queue_create(size_t key_size, size_t val_size, int(*cmp)(const void *a, const void *b), priority_queue_flags flags)
priority_queue_id priority_queue_peek(priority_queue *queue, void *key, void *val)
priority_queue_id priority_queue_get(priority_queue *queue, priority_queue_id id, void *key, void *val)
size_t priority_queue_length(priority_queue *queue)
void priority_queue_destroy(priority_queue *queue)
priority_queue_id priority_queue_push(priority_queue *queue, void *key, void *val)
void priority_queue_set_max_capacity(priority_queue *queue, size_t capacity)
int priority_queue_update(priority_queue *queue, priority_queue_id id, void *key, void *val)
priority_queue_id priority_queue_pop(priority_queue *queue, void *key, void *val)
priority_queue_flags
Definition: priority_queue.h:16
@ priority_queue_max
Definition: priority_queue.h:18
@ priority_queue_min
Definition: priority_queue.h:17
struct priority_queue priority_queue
Definition: priority_queue.h:13
int priority_queue_del(priority_queue *queue, priority_queue_id id)
unsigned priority_queue_id
Definition: priority_queue.h:14