aboutsummaryrefslogtreecommitdiff
path: root/pqueue.h
diff options
context:
space:
mode:
Diffstat (limited to 'pqueue.h')
-rw-r--r--pqueue.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/pqueue.h b/pqueue.h
index 2cf78ec..b9b683d 100644
--- a/pqueue.h
+++ b/pqueue.h
@@ -8,6 +8,7 @@
T##Vector vec; \
} T##PQueue; \
void T##PQueue_init(T##PQueue *self); \
+ T##PQueue T##PQueue_create(); \
void T##PQueue_push(T##PQueue *self, T elem); \
void T##PQueue_pop(T##PQueue *self); \
T* T##PQueue_top(T##PQueue *self); \
@@ -32,6 +33,11 @@ PQUEUE_DEF(VoidPtr);
void T##PQueue_init(T##PQueue *self) { \
T##Vector_init(&self->vec); \
} \
+ T##PQueue T##PQueue_create() { \
+ T##PQueue self; \
+ T##PQueue_init(&self); \
+ return self; \
+ } \
void T##PQueue_push(T##PQueue *self, T elem) { \
T##Vector_push_back(&self->vec, elem); \
int i = self->vec.size - 1; \