blob: 8239abade662651d23491a54496040de9097870d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#ifndef INCLUDE_vector_h__
#define INCLUDE_vector_h__
#include "git/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;
} git_vector;
int git_vector_init(git_vector *v, unsigned int initial_size, git_vector_cmp cmp, git_vector_srch srch);
void git_vector_free(git_vector *v);
void git_vector_clear(git_vector *v);
int git_vector_search(git_vector *v, const void *key);
void git_vector_sort(git_vector *v);
void *git_vector_get(git_vector *v, unsigned int position);
int git_vector_insert(git_vector *v, void *element);
int git_vector_remove(git_vector *v, unsigned int idx);
#endif
|