summaryrefslogtreecommitdiff
path: root/src/vector.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vector.h')
-rw-r--r--src/vector.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/vector.h b/src/vector.h
index dfd604765..256452ee5 100644
--- a/src/vector.h
+++ b/src/vector.h
@@ -3,25 +3,26 @@
#include "git2/common.h"
-
typedef int (*git_vector_cmp)(const void *, const void *);
-typedef int (*git_vector_srch)(const void *, const void *);
typedef struct git_vector {
unsigned int _alloc_size;
git_vector_cmp _cmp;
- git_vector_srch _srch;
-
void **contents;
unsigned int length;
+ int sorted;
} git_vector;
-
-int git_vector_init(git_vector *v, unsigned int initial_size, git_vector_cmp cmp, git_vector_srch srch);
+int git_vector_init(git_vector *v, unsigned int initial_size, git_vector_cmp cmp);
void git_vector_free(git_vector *v);
void git_vector_clear(git_vector *v);
-int git_vector_search(git_vector *v, const void *key);
+int git_vector_search(git_vector *v, const void *entry);
+int git_vector_search2(git_vector *v, git_vector_cmp cmp, const void *key);
+
+int git_vector_bsearch(git_vector *v, const void *entry);
+int git_vector_bsearch2(git_vector *v, git_vector_cmp cmp, const void *key);
+
void git_vector_sort(git_vector *v);
GIT_INLINE(void *) git_vector_get(git_vector *v, unsigned int position)