diff options
| author | Mistivia <i@mistivia.com> | 2025-06-09 01:42:18 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2025-06-09 01:42:52 +0800 |
| commit | 12eeb35015aba138a4e543c28c2ecee58d532440 (patch) | |
| tree | 11a7776977c661f5f5a7c013bed290ba96fa2c23 /src/pqueue.h | |
| parent | 55f3a89f40a676fca7fb820037457c74cbdebb92 (diff) | |
pass by value in basic traits
Diffstat (limited to 'src/pqueue.h')
| -rw-r--r-- | src/pqueue.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/pqueue.h b/src/pqueue.h index d91b9a2..2cf78ec 100644 --- a/src/pqueue.h +++ b/src/pqueue.h @@ -8,7 +8,7 @@ T##Vector vec; \ } T##PQueue; \ void T##PQueue_init(T##PQueue *self); \ - void T##PQueue_push(T##PQueue *self, T *elem); \ + 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); \ @@ -27,12 +27,12 @@ PQUEUE_DEF(VoidPtr); #define PQUEUE_IMPL(T) \ static int T##PQueue_cmp(T##PQueue *self, int a, int b) { \ - return T##_cmp(T##Vector_ref(&self->vec, a), T##Vector_ref(&self->vec, b)); \ + return T##_cmp(*T##Vector_ref(&self->vec, a), *T##Vector_ref(&self->vec, b)); \ } \ void T##PQueue_init(T##PQueue *self) { \ T##Vector_init(&self->vec); \ } \ - void T##PQueue_push(T##PQueue *self, T *elem) { \ + void T##PQueue_push(T##PQueue *self, T elem) { \ T##Vector_push_back(&self->vec, elem); \ int i = self->vec.size - 1; \ while (i > 0 && T##PQueue_cmp(self, i, i / 2) > 0) { \ |
