summaryrefslogtreecommitdiff
path: root/src/runtime/c/gu/seq.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/c/gu/seq.h')
-rw-r--r--src/runtime/c/gu/seq.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/runtime/c/gu/seq.h b/src/runtime/c/gu/seq.h
index cb18a90b5..2b0020bab 100644
--- a/src/runtime/c/gu/seq.h
+++ b/src/runtime/c/gu/seq.h
@@ -114,11 +114,18 @@ gu_seq_resize_tail(GuSeq seq, ptrdiff_t change);
void
gu_buf_sort(GuBuf *buf, GuOrder *order);
-#define gu_seq_binsearch(S, O, T, N, V) \
- ((T*) gu_seq_binsearch_(S, O, sizeof(T), offsetof(T,N), V))
+#define gu_seq_binsearch(S, O, T, V) \
+ ((T*) gu_seq_binsearch_(S, O, sizeof(T), V))
void*
-gu_seq_binsearch_(GuSeq *seq, GuOrder *order, size_t elem_size, size_t field_offset, void *key);
+gu_seq_binsearch_(GuSeq *seq, GuOrder *order, size_t elem_size, void *key);
+
+#define gu_seq_binsearch_index(S, O, T, V, PI) \
+ gu_seq_binsearch_index_(S, O, sizeof(T), V, PI)
+
+bool
+gu_seq_binsearch_index_(GuSeq *seq, GuOrder *order, size_t elem_size,
+ void *key, size_t *pindex);
// Using a buffer as a heap
void