30
32
typedef set<CString> SCString;
31
33
typedef vector<CString> VCString;
34
typedef list<CString> LCString;
33
36
static const unsigned char XX = 0xff;
34
37
static const unsigned char base64_table[256] = {
70
73
explicit CString(unsigned long i);
71
74
explicit CString(long long i);
72
75
explicit CString(unsigned long long i);
73
explicit CString(double i);
74
explicit CString(float i);
76
explicit CString(double i, int precision = 2);
77
explicit CString(float i, int precision = 2);
76
79
CString() : string() {}
77
80
CString(const char* c) : string(c) {}
105
108
CString Right(unsigned int uCount) const;
107
110
CString FirstLine() const { return Token(0, false, "\n"); }
108
CString Token(unsigned int uPos, bool bRest = false, const CString& sSep = " ") const;
111
CString Token(unsigned int uPos, bool bRest = false, const CString& sSep = " ", bool bAllowEmpty = false, const CString& sLeft = "", const CString& sRight = "", bool bTrimQuotes = true) const;
109
113
unsigned int URLSplit(MCString& msRet) const;
110
unsigned int Split(const CString& sDelim, VCString& vsRet, bool bAllowEmpty = true, const CString& sLeft = "", const CString& sRight = "") const;
111
unsigned int Split(const CString& sDelim, SCString& ssRet, bool bAllowEmpty = true, const CString& sLeft = "", const CString& sRight = "") const;
114
unsigned int OptionSplit(MCString& msRet, bool bUpperKeys = false) const;
115
unsigned int QuoteSplit(VCString& vsRet) const;
117
unsigned int Split(const CString& sDelim, VCString& vsRet, bool bAllowEmpty = true,
118
const CString& sLeft = "", const CString& sRight = "", bool bTrimQuotes = true,
119
bool bTrimWhiteSpace = false) const;
121
unsigned int Split(const CString& sDelim, SCString& ssRet, bool bAllowEmpty = true,
122
const CString& sLeft = "", const CString& sRight = "", bool bTrimQuotes = true,
123
bool bTrimWhiteSpace = false) const;
113
125
static CString RandomString(unsigned int uLength);