Libparserutils
vector.h
Go to the documentation of this file.
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 <jmb@netsurf-browser.org>
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 <stddef.h>
17 
18 #include <parserutils/errors.h>
19 #include <parserutils/functypes.h>
20 
21 struct parserutils_vector;
23 
25  size_t chunk_size, parserutils_vector **vector);
27 
29  void *item);
33 
34 const void *parserutils_vector_iterate(const parserutils_vector *vector,
35  int32_t *ctx);
36 const void *parserutils_vector_peek(const parserutils_vector *vector,
37  int32_t ctx);
38 
39 #ifdef __cplusplus
40 }
41 #endif
42 
43 #endif
44 
parserutils_vector_append
parserutils_error parserutils_vector_append(parserutils_vector *vector, void *item)
Append an item to the vector.
Definition: vector.c:87
errors.h
parserutils_vector::item_size
size_t item_size
Size of an item in the vector.
Definition: vector.c:18
parserutils_vector::chunk_size
size_t chunk_size
Size of a vector chunk.
Definition: vector.c:19
parserutils_vector_create
parserutils_error parserutils_vector_create(size_t item_size, size_t chunk_size, parserutils_vector **vector)
Create a vector.
Definition: vector.c:35
parserutils_vector_clear
parserutils_error parserutils_vector_clear(parserutils_vector *vector)
Clear a vector.
Definition: vector.c:125
parserutils_vector_remove_last
parserutils_error parserutils_vector_remove_last(parserutils_vector *vector)
Remove the last item from a vector.
Definition: vector.c:144
parserutils_vector_iterate
const void * parserutils_vector_iterate(const parserutils_vector *vector, int32_t *ctx)
Iterate over a vector.
Definition: vector.c:187
parserutils_vector_get_length
parserutils_error parserutils_vector_get_length(parserutils_vector *vector, size_t *length)
Acquire the length (in items) of the vector.
Definition: vector.c:164
functypes.h
parserutils_error
parserutils_error
Definition: errors.h:18
parserutils_vector_peek
const void * parserutils_vector_peek(const parserutils_vector *vector, int32_t ctx)
Peek at an item in a vector.
Definition: vector.c:212
parserutils_vector
Vector object.
Definition: vector.c:17
parserutils_vector_destroy
parserutils_error parserutils_vector_destroy(parserutils_vector *vector)
Destroy a vector instance.
Definition: vector.c:69