29 #define MAX_SHORTSTRING_LENGTH 256 30 #define INVALID_INDEX -1 47 char GetChar(
const int Index)
const;
50 void SetChar(
const int Index,
const char Value);
87 void Fill(
const char AChar);
88 void Print(std::ostream& out);
93 CString(
const std::string& AString);
126 void Print(std::ostream& out);
138 #define CHARSET_SIZE (1<<(8*sizeof(char))) 149 bool Isset(
const char AChar)
const;
150 char GetChar(
const char AChar)
const;
151 void SetChar(
const char AChar);
155 void Print(std::ostream& out);
178 virtual bool Match(
const CString& Pattern,
const bool Move =
false);
179 virtual void Print(std::ostream& out) {};
196 virtual char&
First(
void);
197 virtual char&
Prev(
void);
198 virtual char&
This(
void);
199 virtual char&
Next(
void);
200 virtual char&
Last(
void);
201 virtual void Reset(
void);
202 virtual bool Match(
const CString& Pattern,
const bool Move =
false);
221 virtual char&
First(
void);
222 virtual char&
Prev(
void);
223 virtual char&
This(
void);
224 virtual char&
Next(
void);
225 virtual char&
Last(
void);
226 virtual void Reset(
void);
227 virtual bool Match(
const CString& Pattern,
const bool Move =
false);
251 void Insert(
const char AChar);
254 void Remove(
const char AChar);
261 unsigned int GetAt(
const char AChar)
const;
262 void SetAt(
const char AChar,
const unsigned int Frequency);
264 void Print(std::ostream& out);
289 {
CString result(AString); result+=BString;
return result; }
292 {
CString result(AString); result+=BChar;
return result; }
295 {
CString result(AChar); result+=BString;
return result; }
298 {
CString result(AString); result+=BInteger;
return result; }
301 {
CString result; result+=AInteger; result+=BString;
return result; }
304 {
CString result(AString); result+=BFloat;
return result; }
307 {
CString result; result+=AFloat; result+=BString;
return result; }
310 {
CString result(AString); result+=BFloat;
return result; }
313 {
CString result; result+=AFloat; result+=BString;
return result; }
316 {
CString result(AString); result+=BCString;
return result; }
319 {
CString result(AString); result+=BString;
return result; }
339 for (
int i = 0, n = AString.
GetLength(); i < n; i++)
342 result[i] = islower(c) ? toupper(c) : c;
350 for (
int i = 0, n = AString.
GetLength(); i < n; i++)
353 result[i] = isupper(c) ? tolower(c) : c;
358 inline char hexChar(
const unsigned char Value)
363 inline char HexChar(
const unsigned char Value)
368 inline CString hex(
const unsigned int AInteger,
const unsigned int Length=8)
371 unsigned int value = AInteger;
372 for (
unsigned int i = 0, j = Length; i < Length; i++)
380 inline CString Hex(
const unsigned int AInteger,
const unsigned int Length=8)
383 unsigned int value = AInteger;
384 for (
unsigned int i = 0, j = Length; i < Length; i++)
394 return hex(AInteger,2*
sizeof(
unsigned char));
399 return Hex(AInteger,2*
sizeof(
unsigned char));
404 return hex(AInteger,2*
sizeof(
unsigned short int));
409 return Hex(AInteger,2*
sizeof(
unsigned short int));
414 return hex(AInteger,2*
sizeof(
unsigned int));
419 return Hex(AInteger,2*
sizeof(
unsigned int));
422 inline CString hex64(
const long long int AInteger,
const unsigned int Length=16)
425 long long int value = AInteger;
426 for (
unsigned int i = 0, j = Length; i < Length; i++)
434 inline CString Hex64(
const long long int AInteger,
const unsigned int Length=16)
437 long long int value = AInteger;
438 for (
unsigned int i = 0, j = Length; i < Length; i++)
446 inline CString hex(
const unsigned char *Buffer,
const unsigned int Length=0)
448 unsigned int length = Length*2;
450 for (
unsigned int i = 0, j = length; i < Length; i++)
458 inline CString Hex(
const unsigned char *Buffer,
const unsigned int Length=0)
460 unsigned int length = Length*2;
462 for (
unsigned int i = 0, j = length; i < Length; i++)
473 const CString& Suffix,
const unsigned int Length);
482 const CCharset& InvalidChars,
const bool ValidateUndefined);
499 const char ReplaceChar);
505 long long int& UnitSize,
char& UnitChar);
508 CString& Guessed,
const bool TryFuzzy =
false);
510 const bool TryFuzzy =
false);
int GuessStr(const CString &AString, const CStringList &Variants, CString &Guessed, const bool TryFuzzy=false)
Definition: stlstrings.cpp:1436
static const char HEX_CHARS_LCASE[17]
Definition: stlstrings.h:286
int FindString(const CString &AString) const
Definition: stlstrings.cpp:435
bool m_Charset[CHARSET_SIZE]
Definition: stlstrings.h:143
static const CString ALPHABET_HEX_NUMBER
Definition: stlstrings.h:280
unsigned int m_Flags
Definition: stlstrings.h:246
static const CString ALPHABET_REAL_NUMBER
Definition: stlstrings.h:279
virtual int ThisPosition(void)
Definition: stlstrings.cpp:839
CString EnumStr(const CString &Prefix, const int Counter, const CString &Suffix, const unsigned int Length)
Definition: stlstrings.cpp:1113
CStringList & InsertAt(const int Index, const CStringList &AStringList)
Definition: stlstrings.cpp:465
CString Hex16(const unsigned short int AInteger)
Definition: stlstrings.h:407
virtual char & Next(void)
Definition: stlstrings.h:175
CString & GetString(const int Index)
Definition: stlstrings.cpp:397
CString & operator [](const int Index)
Definition: stlstrings.cpp:630
Definition: stlstrings.h:34
CString & AppendCR(void)
Definition: stlstrings.cpp:134
int m_Position
Definition: stlstrings.h:190
virtual int LastPosition(void)
Definition: stlstrings.cpp:844
static const CString ALPHABET_LF_CHAR
Definition: stlstrings.h:274
static const unsigned int FLAG_ASCII_TEXT
Definition: stlstrings.h:242
CString hex64(const long long int AInteger, const unsigned int Length=16)
Definition: stlstrings.h:422
void UpdateAlphabet(void)
Definition: stlstrings.cpp:673
virtual char & This(void)
Definition: stlstrings.h:174
void Remove(const char AChar)
Definition: stlstrings.cpp:1013
CString SignStr(const int Signature)
Definition: stlstrings.cpp:1122
int FindStr(const CString &AString, const CString &BString)
Definition: stlstrings.cpp:1343
CString VariantStr(const int Index, const CString &Variants, const char Delimiter=' ')
Definition: stlstrings.cpp:1474
Definition: stlstrings.h:140
CString SI_UnitStr(const double Value, double &UnitSize, CString &UnitPrefix, CString &UnitSymbol)
Definition: stlstrings.cpp:1523
void Insert(const char AChar)
Definition: stlstrings.cpp:984
CString LeadStr(const CString &AString, const unsigned int RLength)
Definition: stlstrings.cpp:1249
static const CString ALPHABET_CR_CHAR
Definition: stlstrings.h:273
static const CString ALPHABET_NUMBER
Definition: stlstrings.h:275
int GetInteger(void) const
Definition: stlstrings.cpp:298
virtual char & Prev(void)
Definition: stlstrings.cpp:777
virtual char & Next(void)
Definition: stlstrings.cpp:788
std::string & GetString(void)
Definition: stlstrings.cpp:28
Definition: stlstrings.h:34
void SetChar(const int Index, const char Value)
Definition: stlstrings.cpp:85
virtual ~CStringIterator(void)
Definition: stlstrings.h:207
char HexChar(const unsigned char Value)
Definition: stlstrings.h:363
~CCharHistogram(void)
Definition: stlstrings.cpp:930
bool operator==(const char *AString) const
Definition: stlstrings.cpp:283
std::string m_String
Definition: stlstrings.h:36
CString * m_String
Definition: stlstrings.h:189
CString SubStr(const CString &AString, const int FirstPos, const int LastPos)
Definition: stlstrings.cpp:1133
void Print(std::ostream &out)
Definition: stlstrings.cpp:1086
int GetLength(void) const
Definition: stlstrings.cpp:390
~CString(void)
Definition: stlstrings.cpp:350
Definition: stlstrings.h:34
CStringList & operator=(const CString &AString)
Definition: stlstrings.cpp:616
CStringListIterator(void)
Definition: stlstrings.cpp:815
CString CheckLastChar(const CString &AString, const char AChar)
Definition: stlstrings.cpp:1336
CString QuoteStr(const CString &AString)
Definition: stlstrings.cpp:1565
CString ShieldSpaces(const CString &AString)
Definition: stlstrings.cpp:1577
virtual char & Prev(void)
Definition: stlstrings.h:173
CString UnshieldSpaces(const CString &AString)
Definition: stlstrings.cpp:1600
CString & SetEOL(const eol_t EndOfLine)
Definition: stlstrings.cpp:168
bool IsCustomBinary(void)
Definition: stlstrings.cpp:1060
virtual char & Last(void)
Definition: stlstrings.cpp:794
bool AppendFromFile(const CString &FileName)
Definition: stlstrings.cpp:536
virtual int LastPosition(void)
Definition: stlstrings.h:170
unsigned int m_Histogram[CHARSET_SIZE]
Definition: stlstrings.h:245
static const CString ALPHABET_FLOAT_NUMBER
Definition: stlstrings.h:277
bool LoadFromFile(const CString &FileName)
Definition: stlstrings.cpp:584
static const CString ALPHABET_ESC_SEQUENCE
Definition: stlstrings.h:282
Definition: stlstrings.h:98
eol_t m_eol_type
Definition: stlstrings.h:37
virtual void Reset(void)
Definition: stlstrings.h:177
CString TrimStr(const CString &AString)
Definition: stlstrings.cpp:1239
static const CString ALPHABET_INTEGER_NUMBER
Definition: stlstrings.h:276
CString & AppendLF(void)
Definition: stlstrings.cpp:139
CString & AppendCRLF(void)
Definition: stlstrings.cpp:144
CStringList & RemoveAt(const int Index)
Definition: stlstrings.cpp:492
CString & Append(const char AChar)
Definition: stlstrings.cpp:115
int NextCharPos(const CString &AString, const char AChar, const int Position)
Definition: stlstrings.cpp:1210
bool IsQuoted(const CString &AString)
Definition: stlstrings.cpp:1560
int CountChars(const CString &AString, const char AChar)
Definition: stlstrings.cpp:1203
~CStringList(void)
Definition: stlstrings.cpp:368
CString m_NullString
Definition: stlstrings.h:102
virtual char & First(void)
Definition: stlstrings.cpp:850
char m_NullChar
Definition: stlstrings.h:166
CString & Assign(const char AChar)
Definition: stlstrings.cpp:90
bool SaveToFile(const CString &FileName)
Definition: stlstrings.cpp:590
static const CString ALPHABET_DOUBLE_NUMBER
Definition: stlstrings.h:278
int ParseMemSizeStr(const CString &AString, int &UnitSize, char &UnitChar)
Definition: stlstrings.cpp:1383
CString FillStr(const CString &Prefix, const char AChar, const CString &Suffix, const int Length)
Definition: stlstrings.cpp:1105
CStringList & operator<<(const CString &AString)
Definition: stlstrings.cpp:640
CString UpperCase(const CString &AString)
Definition: stlstrings.h:336
bool Isset(const char AChar) const
Definition: stlstrings.cpp:686
void SetChar(const char AChar)
Definition: stlstrings.cpp:696
CString JoinStr(const CString &AString, const CString &BString, const char Separator)
Definition: stlstrings.cpp:1175
void Print(std::ostream &out)
Definition: stlstrings.cpp:608
static const char HEX_CHARS_UCASE[17]
Definition: stlstrings.h:285
char & operator [](const int Index)
Definition: stlstrings.cpp:174
char GetChar(const int Index) const
Definition: stlstrings.cpp:70
static const CString ALPHABET_SHELL_CHARS
Definition: stlstrings.h:283
int LastCharPos(const CString &AString, const char AChar)
Definition: stlstrings.cpp:1230
void Reset(void)
Definition: stlstrings.cpp:979
CString(void)
Definition: stlstrings.cpp:321
double GetFloat(void) const
Definition: stlstrings.cpp:303
CString UnquoteStr(const CString &AString)
Definition: stlstrings.cpp:1571
CString hex(const unsigned int AInteger, const unsigned int Length=8)
Definition: stlstrings.h:368
bool IsPureNumeric(void)
Definition: stlstrings.cpp:1042
virtual void Print(std::ostream &out)
Definition: stlstrings.h:179
static const unsigned int FLAG_PURE_INTEGER
Definition: stlstrings.h:241
void UnsetChar(const char AChar)
Definition: stlstrings.cpp:702
char GetLastChar(void) const
Definition: stlstrings.cpp:80
virtual bool Match(const CString &Pattern, const bool Move=false)
Definition: stlstrings.cpp:905
int PrevCharPos(const CString &AString, const char AChar, const int Position)
Definition: stlstrings.cpp:1216
virtual int ThisPosition(void)
Definition: stlstrings.cpp:761
eol_t
Definition: stlstrings.h:34
CString Hex(const unsigned int AInteger, const unsigned int Length=8)
Definition: stlstrings.h:380
CString RightStr(const CString &AString, const int Position)
Definition: stlstrings.cpp:1159
virtual char & Next(void)
Definition: stlstrings.cpp:878
CStringList * m_StringList
Definition: stlstrings.h:213
void Print(std::ostream &out)
Definition: stlstrings.cpp:316
char GetChar(const char AChar) const
Definition: stlstrings.cpp:691
Definition: stlstrings.h:32
virtual char & First(void)
Definition: stlstrings.cpp:771
CString GetAlphabet(void) const
Definition: stlstrings.cpp:708
void SplitStr(const CString &AString, const int Position, CString &LString, CString &RString)
Definition: stlstrings.cpp:1169
CString & SetLength(void)
Definition: stlstrings.cpp:53
CString Join(const CString &Delimiter) const
Definition: stlstrings.cpp:421
CString FindReplaceStr(const CString &AString, const CString &SearchString, const CString &ReplaceString)
Definition: stlstrings.cpp:1369
static const unsigned int MAX_CHAR_FREQUENCY
Definition: stlstrings.h:235
virtual void Reset(void)
Definition: stlstrings.cpp:900
CString LeftStr(const CString &AString, const int Position)
Definition: stlstrings.cpp:1154
CString & AppendEOL(void)
Definition: stlstrings.cpp:150
CString CollectStr(const CStringList &SubStrings, const CString &Delimiters)
Definition: stlstrings.cpp:1289
int FirstCharPos(const CString &AString, const char AChar)
Definition: stlstrings.cpp:1225
static const CString ALPHABET_CTL_CHARS
Definition: stlstrings.h:281
void Print(std::ostream &out)
Definition: stlstrings.cpp:720
~CCharset(void)
Definition: stlstrings.cpp:663
virtual int FirstPosition(void)
Definition: stlstrings.h:168
void UpdateCharset(void)
Definition: stlstrings.cpp:667
virtual int FirstPosition(void)
Definition: stlstrings.cpp:756
virtual bool Match(const CString &Pattern, const bool Move=false)
Definition: stlstrings.cpp:727
CString hex32(const unsigned int AInteger)
Definition: stlstrings.h:412
CString hex16(const unsigned short int AInteger)
Definition: stlstrings.h:402
virtual int ThisPosition(void)
Definition: stlstrings.h:169
virtual char & Prev(void)
Definition: stlstrings.cpp:858
CString hex8(const unsigned char AInteger)
Definition: stlstrings.h:392
int Insert(const CString *AString)
Definition: stlstrings.cpp:444
Definition: stlstrings.h:210
char hexChar(const unsigned char Value)
Definition: stlstrings.h:358
CString StringOfChars(const char AChar, const int Count)
Definition: stlstrings.cpp:1098
CString Hex8(const unsigned char AInteger)
Definition: stlstrings.h:397
char GetFirstChar(void) const
Definition: stlstrings.cpp:75
static const CString ALPHABET_TAB_CHAR
Definition: stlstrings.h:272
CString & operator=(const char AChar)
Definition: stlstrings.cpp:184
bool IsEmpty(void) const
Definition: stlstrings.cpp:48
CString operator+(const CString &AString, const CString &BString)
Definition: stlstrings.h:288
Definition: stlstrings.h:186
CStringList & RemoveEmpty(void)
Definition: stlstrings.cpp:503
CString & operator+=(const char AChar)
Definition: stlstrings.cpp:236
#define CHARSET_SIZE
Definition: stlstrings.h:138
int GetLength(void) const
Definition: stlstrings.cpp:43
CString GetAlphabet(void) const
Definition: stlstrings.cpp:1076
Definition: stlstrings.h:237
CString FilterStr(const CString &AString, const CCharset &ValidChars, const CCharset &InvalidChars, const bool ValidateUndefined)
Definition: stlstrings.cpp:1190
virtual bool Match(const CString &Pattern, const bool Move=false)
Definition: stlstrings.cpp:805
char * GetCString(void) const
Definition: stlstrings.cpp:38
CString ShiftStr(const CString &AString, const int Shift)
Definition: stlstrings.cpp:1145
int GetCount(void) const
Definition: stlstrings.cpp:385
virtual char & First(void)
Definition: stlstrings.h:172
CString UnshieldChars(const CString &AString, const CString &Chars)
Definition: stlstrings.cpp:1650
CString Hex64(const long long int AInteger, const unsigned int Length=16)
Definition: stlstrings.h:434
static const unsigned int FLAG_CUSTOM_BINARY
Definition: stlstrings.h:243
CString StripDupChars(const CString &AString, const char AChar)
Definition: stlstrings.cpp:1305
static const unsigned int FLAG_PURE_NUMERIC
Definition: stlstrings.h:240
int m_Position
Definition: stlstrings.h:215
CString FindReplaceChar(const CString &AString, const char SearchChar, const char ReplaceChar)
Definition: stlstrings.cpp:1358
void SetAt(const char AChar, const unsigned int Frequency)
Definition: stlstrings.cpp:1071
bool ValidIndex(const int Index) const
Definition: stlstrings.cpp:373
virtual ~CStringListIterator(void)
Definition: stlstrings.h:232
CString & Clear(void)
Definition: stlstrings.cpp:64
CString LowerCase(const CString &AString)
Definition: stlstrings.h:347
CString Hex32(const unsigned int AInteger)
Definition: stlstrings.h:417
long long int ParseMemSizeStr64(const CString &AString, long long int &UnitSize, char &UnitChar)
Definition: stlstrings.cpp:1407
CString MemSizeStr(const long long int Value, long long int &UnitSize, CString &UnitSuffix)
Definition: stlstrings.cpp:1482
Definition: stlstrings.h:163
void ParseStr(const CString &AString, const CString &Delimiters, CStringList &SubStrings)
Definition: stlstrings.cpp:1258
static const CString ALPHABET_NULL_CHAR
Definition: stlstrings.h:271
unsigned int GetAt(const char AChar) const
Definition: stlstrings.cpp:1066
CString GetEOL(void)
Definition: stlstrings.cpp:161
virtual char & This(void)
Definition: stlstrings.cpp:872
void Fill(const char AChar)
Definition: stlstrings.cpp:308
virtual char & This(void)
Definition: stlstrings.cpp:783
virtual char & Last(void)
Definition: stlstrings.cpp:892
CStringList & Clear(void)
Definition: stlstrings.cpp:527
CCharset(void)
Definition: stlstrings.cpp:648
bool IsAsciiText(void)
Definition: stlstrings.cpp:1054
int m_Line
Definition: stlstrings.h:214
CString CheckFirstChar(const CString &AString, const char AChar)
Definition: stlstrings.cpp:1329
void SetAlphabet(const CString &Alphabet)
Definition: stlstrings.cpp:713
bool IsPureInteger(void)
Definition: stlstrings.cpp:1048
CCharIterator(const CCharIterator &ACharIterator)
Definition: stlstrings.h:182
CString m_Alphabet
Definition: stlstrings.h:144
CStringList(void)
Definition: stlstrings.cpp:357
virtual ~CCharIterator(void)
Definition: stlstrings.h:183
virtual int LastPosition(void)
Definition: stlstrings.cpp:766
CStringIterator(void)
Definition: stlstrings.cpp:740
std::vector< CString * > m_Strings
Definition: stlstrings.h:101
virtual char & Last(void)
Definition: stlstrings.h:176
CStringList & RemoveDuplicates(void)
Definition: stlstrings.cpp:514
CCharHistogram(void)
Definition: stlstrings.cpp:920
CCharIterator(void)
Definition: stlstrings.h:181
virtual void Reset(void)
Definition: stlstrings.cpp:800
bool IsEmpty(void) const
Definition: stlstrings.cpp:378
void Analyze(void)
Definition: stlstrings.cpp:935
CString ShieldChars(const CString &AString, const CString &Chars)
Definition: stlstrings.cpp:1621
virtual int FirstPosition(void)
Definition: stlstrings.cpp:834