Go to the documentation of this file.
10 #include "mem/forward.h"
21 auto *newBuffer =
static_cast<char*
>(
memAllocBuf(sz, &sz));
61 if (0 == this->
cmp(that))
70 if (0 == this->
cmp(that))
92 memcpy(
buf_, str, len);
206 if (newLength >
len_)
return;
214 buf_[newLength] =
'\0';
220 nilCmp(
const bool thisIsNilOrEmpty,
const bool otherIsNilOrEmpty,
int &result)
222 if (!thisIsNilOrEmpty && !otherIsNilOrEmpty)
225 if (thisIsNilOrEmpty && otherIsNilOrEmpty)
227 else if (thisIsNilOrEmpty)
239 if (
nilCmp(!
size(), (!aString || !*aString), result))
249 if (
nilCmp((!
size() || !count), (!aString || !*aString || !count), result))
252 return strncmp(
termedBuf(), aString, count);
269 if (
nilCmp(!
size(), (!aString || !*aString), result))
279 if (
nilCmp((!
size() || !count), (!aString || !*aString || !count), result))
282 return strncasecmp(
termedBuf(), aString, count);
289 return strpbrk(s,
w_space) !=
nullptr;
298 while ((c = (
unsigned char) *s++) !=
'\0') {
302 if (c >= 0x7f && c <= 0x9f)
316 unsigned char *word =
nullptr;
317 unsigned char *p = (
unsigned char *) buf;
323 p = (
unsigned char *) *t;
395 return (
char *) word;
401 return p ? p :
"(NULL)";
int caseCmp(char const *) const
bool operator!=(String const &) const
const char * rawBuf() const
size_type rfind(char const ch) const
String & operator=(char const *)
void * memAllocBuf(size_t net_size, size_t *gross_size)
void error(char *format,...)
void setBuffer(char *buf, size_type sz)
int stringHasCntl(const char *s)
int cmp(char const *) const
char * xstrncpy(char *dst, const char *src, size_t n)
const static size_type npos
bool operator==(String const &) const
bool canGrowBy(const size_type growthLen) const
whether appending growthLen characters is safe (i.e., unlikely to assert)
void append(char const *buf, int len)
const char * rpos(char const ch) const
char * strwordtok(char *buf, char **t)
const char * checkNullString(const char *p)
int stringHasWhitespace(const char *s)
void allocAndFill(const char *str, int len)
static bool nilCmp(const bool thisIsNilOrEmpty, const bool otherIsNilOrEmpty, int &result)
const char * pos(char const *aString) const
static const size_type SizeMax_
const char * termedBuf() const
void cut(size_type newLength)
void allocBuffer(size_type sz)
void reset(char const *str)
void assign(const char *str, int len)
size_type find(char const ch) const
String substr(size_type from, size_type to) const
void memFreeBuf(size_t size, void *)