50 std::string
escapeJsonString(
const std::string &s,
bool assume_utf8=
true,
bool add_quotes=
false);
56 inline std::string
jsonStr(
const std::string &s,
bool assume_utf8=
true,
bool add_quotes=
true)
62 inline std::string
jsonStr(
unsigned char b)
66 return std::string(buf);
72 return jsonStr(std::string(&c,1));
75 template<
class Container>
79 for (
typename Container::const_iterator vi=values.begin(); vi != values.end(); vi++) {
80 if (s.size() > 1) s.push_back(
',');
113 std::string
escapeChars(
const std::string &s,
const std::string &chars);
116 std::string
sqString(
const std::string &s);
119 std::string
reString(
const std::string &re);
130 std::string
Format(
const char* format, ... );
133 std::string
vFormat(
const char* format, va_list& args );
177 {
return delims.find_first_of(ch) != std::string::npos; }
192 void initialize(
const char *_text,
const char *_delims=
" \t\r\n");
193 void reinitialize(
const char *_text,
const char *_delims=
" \t\r\n");
196 void initialize(
const std::string& _text,
const std::string &_delims)
197 {
initialize(_text.c_str(), _delims.c_str()); };
207 inline const char *
val()
const 214 {
return (*text) !=
'\0'; };
217 void get_tokens(std::vector<std::string> &tokens);
239 : srcp(&src), delimp(&delims)
248 endi = srcp->find_first_of(*delimp, begi);
253 {
return begi != std::string::npos; };
256 inline operator bool()
const 261 {
return endi==std::string::npos ? srcp->substr(begi) : srcp->substr(begi,endi-begi); };
265 {
return current(); };
270 begi = endi==std::string::npos ? endi : (endi+1);
271 endi = begi==std::string::npos ? begi : srcp->find_first_of(*delimp,begi);
287 std::string
TrimSafe(
const std::string &str);
294 if (str.size() > max) {
302 void TrimTruncateV(std::string &str,
size_t max,
const char *label=NULL);
311 bool StringToBool(
const std::string &s,
bool onempty=
true);
StringTokenizer(const char *_text, const char *_delims=" \\)
Definition: ddcString.cpp:476
std::string unescapeCString(const std::string &s)
std::string reString(const std::string &re)
Definition: ddcString.cpp:377
std::string unescapeUrlString(const std::string &s)
std::string operator*() const
Definition: ddcString.h:264
void begin()
Definition: ddcString.h:245
const char * val() const
Definition: ddcString.h:207
const char * get_rest() const
Definition: ddcString.h:204
void TrimTruncateV(std::string &str, size_t max, const char *label=NULL)
Definition: ddcString.cpp:551
const char * BoolToString(bool b)
Definition: ddcString.cpp:568
void reinitialize(const char *_text, const char *_delims=" \\)
Definition: ddcString.cpp:468
std::string delims
Definition: ddcString.h:175
char * text_ptr
Definition: ddcString.h:170
const std::string * srcp
source string (reference)
Definition: ddcString.h:230
std::string escapeJsonString(const std::string &s, bool assume_utf8=true, bool add_quotes=false)
Definition: ddcString.cpp:158
const std::string * delimp
delimiter characters (reference)
Definition: ddcString.h:231
StringSplitter(const std::string &src, const std::string &delims)
Definition: ddcString.h:238
std::string TrimSafe(const std::string &str)
Definition: ddcString.cpp:542
std::string jsonStr(const std::string &s, bool assume_utf8=true, bool add_quotes=true)
Definition: ddcString.h:56
int i
Definition: ddcString.h:172
int count() const
Definition: ddcString.h:210
size_t begi
start position of current token (string::npos after initilization)
Definition: ddcString.h:232
bool is_delim(char ch) const
Definition: ddcString.h:176
bool has_next() const
Definition: ddcString.h:213
std::string escapeRegex(const std::string &re)
Definition: ddcString.cpp:384
char * StrError(int ErrorNo)
Definition: ddcString.cpp:443
StringSplitter & operator++()
Definition: ddcString.h:275
bool StringToBool(const std::string &s, bool onempty=true)
Definition: ddcString.cpp:561
bool TrimTruncate(std::string &str, size_t max)
Definition: ddcString.h:292
char * _val
Definition: ddcString.h:179
void initialize(const std::string &_text, const std::string &_delims)
! moo: initialize from std::string (copies)
Definition: ddcString.h:196
const char * operator()()
Definition: ddcString.cpp:488
char * text
Definition: ddcString.h:171
std::string unescapeJsonString(const std::string &s)
std::string Format(const char *format,...)
Definition: ddcString.cpp:393
Basic UTF-8 manipulation routines by Jeff Bezanson.
void initialize(const char *_text, const char *_delims=" \\)
Definition: ddcString.cpp:457
std::string vFormat(const char *format, va_list &args)
Definition: ddcString.cpp:419
std::string unescapeUtf8String(const std::string &s)
std::string escapeChars(const std::string &s, const std::string &chars)
Definition: ddcString.h:168
std::string sqString(const std::string &s)
Definition: ddcString.cpp:371
const char * get_rest_trim()
moo: get all remaining text as a single token, trimming any initial or trailing delimiters ...
Definition: ddcString.cpp:528
std::string current() const
Definition: ddcString.h:260
void next()
Definition: ddcString.h:268
size_t endi
end position of current token
Definition: ddcString.h:233
std::string escapeCString(const std::string &s)
Definition: ddcString.cpp:30
std::string next_token()
Definition: ddcString.cpp:511
Definition: ddcString.h:228
void get_tokens(std::vector< std::string > &tokens)
moo: append all remaining tokens to a string vector (consumes the rest of the source string) ...
Definition: ddcString.cpp:521
std::string jsonArray(const Container &values)
Definition: ddcString.h:76
StringTokenizer(const std::string &_text, const std::string &_delims)
! moo: constructor from std::string (implicitly calls c_str() on arguments)
Definition: ddcString.h:187
~StringTokenizer()
Definition: ddcString.cpp:482
bool valid() const
Definition: ddcString.h:252
std::string escapeUrlString(const std::string &s)