7 #define GROW_AMOUNT 1024 13 GrowBuf() : str(0), pos(0), len(0) {}
14 ~
GrowBuf() { free(str); str=0; pos=0; len=0; }
15 void clear() { pos=0; }
16 void addChar(
char c) {
if (pos>=len) { len+=GROW_AMOUNT; str = (
char*)realloc(str,len); }
19 void addStr(
const char *s) {
23 if (pos+l>=len) { len+=l+GROW_AMOUNT; str = (
char*)realloc(str,len); }
28 void addStr(
const char *s,
int n) {
33 if (pos+l>=len) { len+=l+GROW_AMOUNT; str = (
char*)realloc(str,len); }
34 strncpy(&str[pos],s,n);
38 const char *
get() {
return str; }
39 int getPos()
const {
return pos; }
40 char at(
int i)
const {
return str[i]; }
Class representing a string buffer optimised for growing.
Definition: growbuf.h:10