StrBuf - string manipulation
The StrBuf class is the preferred general string
manipulation class. This class manages the memory associated with a
string, including allocating new memory or freeing old memory as
required.
The StrBuf class is derived from the StrPtr
class, and makes heavy use of the buffer and
length members inherited from the StrPtr class.
The buffer member of a StrBuf instance is a
pointer to the first byte in the string. The length member
of a StrBuf instance is the length of the string.
Most member functions maintain the string pointed to by the
buffer member of a StrBuf as a null-terminated
string. However, the Clear member function does not set the
first byte of the string to a null byte, nor does the Extend
member function append a null byte to an extended string. If you need to
maintain a string as null-terminated when using the Clear() and Extend() member functions,
follow the calls to Clear()
and Extend() with calls to
Terminate().
A number of member functions move the string pointed to by a
StrBuf's buffer, and change the buffer member
to point to the new location. For this reason, do not cache the pointer.
Use StrPtr::Text() whenever
the pointer a StrBuf's buffer is required.






