1 #ifndef JAMH_KSTRINGS_H
2 #define JAMH_KSTRINGS_H
3 /* Copyright David Abrahams 2004. Distributed under the Boost */
4 /* Software License, Version 1.0. (See accompanying */
5 /* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */
13 unsigned long capacity
;
21 extern void kStringNew (tKString
*s
);
22 extern void kStringFree (tKString
*s
);
23 extern void kStringReserve (tKString
*self
, size_t capacity
);
24 extern void kStringAppend (tKString
*self
, char const *rhs
);
25 extern void kStringAppendRange (tKString
*self
, char const *start
, char const *finish
); // *finish will not be included
26 extern void kStringCopy (tKString
*s
, char const *rhs
); // calls kStringNew(s)
27 extern void kStringTruncate (tKString
*self
, size_t n
);
28 extern char kStringPopBack (tKString
*self
); // returns 'popped' char (0 if string is empty)
29 extern void kStringPushBack (tKString
*self
, char x
);
30 extern char kStringBack (tKString
*self
); // return last char (0 if string is empty)
31 extern char *kStringCStr (tKString
*s
);
32 extern int kStringLen (tKString
*s
);
35 extern void kStringUnitTest (void);