#ifndef PQ_H
#define PQ_H
#include "record.h"
struct pq_entry { … };
struct merged_iter_pqueue { … };
struct pq_entry merged_iter_pqueue_remove(struct merged_iter_pqueue *pq);
int merged_iter_pqueue_add(struct merged_iter_pqueue *pq, const struct pq_entry *e);
void merged_iter_pqueue_release(struct merged_iter_pqueue *pq);
int pq_less(struct pq_entry *a, struct pq_entry *b);
static inline struct pq_entry merged_iter_pqueue_top(struct merged_iter_pqueue pq)
{ … }
static inline int merged_iter_pqueue_is_empty(struct merged_iter_pqueue pq)
{ … }
#endif