aboutsummaryrefslogtreecommitdiff
path: root/src/pqueue.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/pqueue.h')
-rw-r--r--src/pqueue.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/pqueue.h b/src/pqueue.h
index 0865051..34b8a55 100644
--- a/src/pqueue.h
+++ b/src/pqueue.h
@@ -11,6 +11,7 @@
void T##PQueue_push(T##PQueue *self, T *elem); \
void T##PQueue_pop(T##PQueue *self); \
T* T##PQueue_top(T##PQueue *self); \
+ T##PQueue T##PQueue_move(T##PQueue *self); \
void T##PQueue_free(T##PQueue *self); \
PQUEUE_DEF(Int);
@@ -65,6 +66,11 @@ PQUEUE_DEF(String);
if (self->vec.size == 0) return NULL; \
return self->vec.buffer; \
} \
+ T##PQueue T##PQueue_move(T##PQueue *self) { \
+ T##PQueue dup; \
+ dup.vec = T##Vector_move(&self->vec); \
+ return dup; \
+ } \
void T##PQueue_free(T##PQueue *self) { \
T##Vector_free(&self->vec); \
} \