Public Types |
enum | bufferType {
BUFFER_UNKNOWN = 0,
BUFFER_CHAR = 1,
BUFFER_UNICODE = 2
} |
Public Methods |
| safeBuffer () |
| safeBuffer (int initialSize) |
| safeBuffer (const char *inStr, unsigned int initialSize=DEFAULT_SAFE_BUFFER_SIZE) |
| safeBuffer (const safeBuffer &other) |
| ~safeBuffer () |
void | sbStrcpyIn (const char *inStr) |
void | sbStrcpyIn (const safeBuffer &inStr) |
void | sbStrncpyIn (const char *inStr, int n) |
void | sbStrncpyIn (const safeBuffer &inStr, int n) |
void | sbStrcatIn (const char *inStr) |
void | sbStrcatIn (const safeBuffer &inStr) |
void | sbStrncatIn (const char *inStr, int n) |
void | sbStrinsIn (const char *inStr, unsigned int offset) |
void | sbMemcpyIn (const void *inBuf, int n) |
void | sbMemcpyIn (int offset, const void *inBuf, int n) |
void | sbMemcpyOut (void *outBuf, int n) const |
void | sbMemshift (int toOffset, int fromOffset, int len) |
int | sbStrncmp (const char *inStr, int n) const |
int | sbOffsetStrcmp (const char *inStr, unsigned int offset) const |
int | sbOffsetStrncmp (const char *inStr, unsigned int offset, int n) const |
int | sbStrcmp (const char *inStr) const |
int | sbStrcmp (const safeBuffer &inStr) const |
int | sbStrstr (const char *inStr) const |
int | sbOffsetStrstr (const char *inStr, unsigned int offset) const |
unsigned char & | operator[] (int n) |
safeBuffer & | operator= (const safeBuffer &cpy) |
int | sbStrlen (void) const |
unsigned int | sbRawBufferSize (void) const |
const unsigned char * | rawBuffer () const |
const char * | rawCharBuffer () const |
const XMLCh * | rawXMLChBuffer () const |
void | resize (unsigned int sz) |
void | setBufferType (bufferType bt) |
const XMLCh * | sbStrToXMLCh (void) |
void | sbTranscodeIn (const XMLCh *inStr) |
void | sbTranscodeIn (const char *inStr) |
void | sbXMLChIn (const XMLCh *in) |
void | sbXMLChAppendCh (const XMLCh c) |
void | sbXMLChCat (const XMLCh *str) |
void | sbXMLChCat (const char *str) |
Static Public Methods |
void | init (void) |
The safeBuffer class is used internally in the library to manage buffers of bytes or UTF-16 characters.
It's a fairly innefficient class, as buffers are continually being wrapped, coppied and enlarged, but given the nature of the library, a single class that manipulates buffers of variable size was felt to be preferable,
The safeBuffer is not exposed through interface classes that might be used by external functions. In these cases, a pointer to a XMLCh * buffer is used by preference.