Subversion Repositories Kolibri OS

Rev

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