]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | /* |
2 | * Copyright 2004. David Abrahams | |
3 | * Distributed under the Boost Software License, Version 1.0. | |
4 | * (See accompanying file LICENSE_1_0.txt or copy at | |
5 | * http://www.boost.org/LICENSE_1_0.txt) | |
6 | */ | |
7 | ||
8 | #ifndef STRINGS_DWA20011024_H | |
9 | #define STRINGS_DWA20011024_H | |
10 | ||
11 | #include <stddef.h> | |
12 | ||
13 | typedef struct string | |
14 | { | |
15 | char * value; | |
16 | unsigned long size; | |
17 | unsigned long capacity; | |
18 | char opt[ 32 ]; | |
19 | #ifndef NDEBUG | |
20 | char magic[ 4 ]; | |
21 | #endif | |
22 | } string; | |
23 | ||
24 | void string_new( string * ); | |
25 | void string_copy( string *, char const * ); | |
26 | void string_free( string * ); | |
27 | void string_append( string *, char const * ); | |
28 | void string_append_range( string *, char const *, char const * ); | |
29 | void string_push_back( string * s, char x ); | |
30 | void string_reserve( string *, size_t ); | |
31 | void string_truncate( string *, size_t ); | |
32 | void string_pop_back( string * ); | |
33 | char string_back( string * ); | |
34 | void string_unit_test(); | |
35 | ||
36 | #endif |