aboutsummaryrefslogtreecommitdiff
path: root/09-september/tomcat/util/array.h
blob: 1444a74d7d6c29259b3f1c00d3af4797e4b9d8be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef ARRAY_H
#define ARRAY_H

#include <stdbool.h>

typedef struct
{
    char *data;
    unsigned int length;
} Array;

extern Array *array_create(unsigned int type_size);
extern Array *array_create_by_size(unsigned int type_size, unsigned int reserved_size);

extern void array_append(Array *arr, void *data);
extern void array_insert(Array *arr, int index, void *data);
extern void array_remove(Array *arr, int index);
extern void array_reserve(Array *arr, unsigned int length);
extern unsigned int array_get_type_size(Array *arr);

extern void array_free(Array *arr);

#endif // ARRAY_H