diff options
Diffstat (limited to 'src/pqueue.h')
| -rw-r--r-- | src/pqueue.h | 6 |
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); \ } \ |
