summaryrefslogtreecommitdiffhomepage
path: root/stc/cpqueue.h
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2020-08-28 16:08:08 +0200
committerTyge Løvset <[email protected]>2020-08-28 16:08:08 +0200
commit47de9987a623e8374915af40d67d72dcb56e4283 (patch)
tree44ad1af184a3121d87a3281ff04546452b927819 /stc/cpqueue.h
parentb29771837b5e37fc9175dc43ab7108d01aaaeba1 (diff)
downloadSTC-modified-47de9987a623e8374915af40d67d72dcb56e4283.tar.gz
STC-modified-47de9987a623e8374915af40d67d72dcb56e4283.zip
Some smaller fixes and cleanup.
Diffstat (limited to 'stc/cpqueue.h')
-rw-r--r--stc/cpqueue.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/stc/cpqueue.h b/stc/cpqueue.h
index b0dab7ed..ed66f3cb 100644
--- a/stc/cpqueue.h
+++ b/stc/cpqueue.h
@@ -61,9 +61,13 @@ cvec_##tag##_pqueue_top(cvec_##tag* self) {return self->data[0];} \
STC_INLINE void \
cvec_##tag##_pqueue_pop(cvec_##tag* self) {cvec_##tag##_pqueue_erase(self, 0);} \
STC_API void \
-cvec_##tag##_pqueue_push(cvec_##tag* self, cvec_##tag##_value_t value); \
+cvec_##tag##_pqueue_push_v(cvec_##tag* self, cvec_##tag##_value_t value); \
+STC_INLINE void \
+cvec_##tag##_pqueue_push(cvec_##tag* self, cvec_##tag##_rawvalue_t rawValue) { \
+ cvec_##tag##_pqueue_push_v(self, cvec_##tag##_value_from_raw(rawValue)); \
+} \
STC_API void \
-cvec_##tag##_pqueue_push_n(cvec_##tag *self, const cvec_##tag##_value_t in[], size_t size); \
+cvec_##tag##_pqueue_push_n(cvec_##tag *self, const cvec_##tag##_input_t in[], size_t size); \
\
implement_cvec_pqueue(tag, cmpOpr) \
typedef cvec_##tag##_value_t cvec_##tag##_pqueue_input_t
@@ -104,7 +108,7 @@ cvec_##tag##_pqueue_erase(cvec_##tag* self, size_t i) { \
} \
\
STC_API void \
-cvec_##tag##_pqueue_push(cvec_##tag* self, cvec_##tag##_value_t value) { \
+cvec_##tag##_pqueue_push_v(cvec_##tag* self, cvec_##tag##_value_t value) { \
cvec_##tag##_push_back(self, value); /* sift-up the value */ \
size_t n = cvec_size(*self), c = n; \
cvec_##tag##_value_t *arr = self->data - 1; \
@@ -113,7 +117,7 @@ cvec_##tag##_pqueue_push(cvec_##tag* self, cvec_##tag##_value_t value) { \
if (c != n) arr[c] = value; \
} \
STC_API void \
-cvec_##tag##_pqueue_push_n(cvec_##tag *self, const cvec_##tag##_value_t in[], size_t size) { \
+cvec_##tag##_pqueue_push_n(cvec_##tag *self, const cvec_##tag##_input_t in[], size_t size) { \
cvec_##tag##_reserve(self, cvec_size(*self) + size); \
for (size_t i=0; i<size; ++i) cvec_##tag##_pqueue_push(self, in[i]); \
}