Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
3584 | sourcerer | 1 | /* |
2 | * This file is part of LibParserUtils. |
||
3 | * Licensed under the MIT License, |
||
4 | * http://www.opensource.org/licenses/mit-license.php |
||
5 | * Copyright 2008 John-Mark Bell |
||
6 | */ |
||
7 | |||
8 | #ifndef parserutils_utils_vector_h_ |
||
9 | #define parserutils_utils_vector_h_ |
||
10 | |||
11 | #ifdef __cplusplus |
||
12 | extern "C" |
||
13 | { |
||
14 | #endif |
||
15 | |||
16 | #include |
||
17 | |||
18 | #include |
||
19 | #include |
||
20 | |||
21 | struct parserutils_vector; |
||
22 | typedef struct parserutils_vector parserutils_vector; |
||
23 | |||
24 | parserutils_error parserutils_vector_create(size_t item_size, |
||
25 | size_t chunk_size, parserutils_alloc alloc, void *pw, |
||
26 | parserutils_vector **vector); |
||
27 | parserutils_error parserutils_vector_destroy(parserutils_vector *vector); |
||
28 | |||
29 | parserutils_error parserutils_vector_append(parserutils_vector *vector, |
||
30 | void *item); |
||
31 | parserutils_error parserutils_vector_clear(parserutils_vector *vector); |
||
32 | parserutils_error parserutils_vector_remove_last(parserutils_vector *vector); |
||
33 | parserutils_error parserutils_vector_get_length(parserutils_vector *vector, size_t *length); |
||
34 | |||
35 | const void *parserutils_vector_iterate(const parserutils_vector *vector, |
||
36 | int32_t *ctx); |
||
37 | const void *parserutils_vector_peek(const parserutils_vector *vector, |
||
38 | int32_t ctx); |
||
39 | |||
40 | #ifdef __cplusplus |
||
41 | } |
||
42 | #endif |
||
43 | |||
44 | #endif |
||
45 |