cbp2make
Makefile generation tool for Code::Blocks IDE
Classes | Macros | Functions | Variables
stlstrings.h File Reference
#include <cstring>
#include <ostream>
#include <vector>
#include <algorithm>

Go to the source code of this file.

Classes

class  CString
 
class  CStringList
 
class  CCharset
 
class  CCharIterator
 
class  CStringIterator
 
class  CStringListIterator
 
class  CCharHistogram
 

Macros

#define MAX_SHORTSTRING_LENGTH   256
 
#define INVALID_INDEX   -1
 
#define CHARSET_SIZE   (1<<(8*sizeof(char)))
 

Functions

CString operator+ (const CString &AString, const CString &BString)
 
CString operator+ (const CString &AString, const char BChar)
 
CString operator+ (const char AChar, const CString &BString)
 
CString operator+ (const CString &AString, const int BInteger)
 
CString operator+ (const int AInteger, const CString &BString)
 
CString operator+ (const CString &AString, const float BFloat)
 
CString operator+ (const float AFloat, const CString &BString)
 
CString operator+ (const CString &AString, const double BFloat)
 
CString operator+ (const double AFloat, const CString &BString)
 
CString operator+ (const CString &AString, const char *BCString)
 
CString operator+ (const char *AString, const CString &BString)
 
CString UpperCase (const CString &AString)
 
CString LowerCase (const CString &AString)
 
char hexChar (const unsigned char Value)
 
char HexChar (const unsigned char Value)
 
CString hex (const unsigned int AInteger, const unsigned int Length=8)
 
CString Hex (const unsigned int AInteger, const unsigned int Length=8)
 
CString hex8 (const unsigned char AInteger)
 
CString Hex8 (const unsigned char AInteger)
 
CString hex16 (const unsigned short int AInteger)
 
CString Hex16 (const unsigned short int AInteger)
 
CString hex32 (const unsigned int AInteger)
 
CString Hex32 (const unsigned int AInteger)
 
CString hex64 (const long long int AInteger, const unsigned int Length=16)
 
CString Hex64 (const long long int AInteger, const unsigned int Length=16)
 
CString hex (const unsigned char *Buffer, const unsigned int Length=0)
 
CString Hex (const unsigned char *Buffer, const unsigned int Length=0)
 
CString StringOfChars (const char AChar, const int Count)
 
CString FillStr (const CString &Prefix, const char AChar, const CString &Suffix, const int Length)
 
CString EnumStr (const CString &Prefix, const int Counter, const CString &Suffix, const unsigned int Length)
 
CString SignStr (const int Signature)
 
CString SubStr (const CString &AString, const int FirstPos, const int LastPos)
 
CString ShiftStr (const CString &AString, const int Shift)
 
void SplitStr (const CString &AString, const int Position, CString &LString, CString &RString)
 
CString JoinStr (const CString &AString, const CString &BString, const char Separator)
 
CString LeftStr (const CString &AString, const int Position)
 
CString RightStr (const CString &AString, const int Position)
 
CString FilterStr (const CString &AString, const CCharset &ValidChars, const CCharset &InvalidChars, const bool ValidateUndefined)
 
int CountChars (const CString &AString, const char AChar)
 
int NextCharPos (const CString &AString, const char AChar, const int Position)
 
int PrevCharPos (const CString &AString, const char AChar, const int Position)
 
int FirstCharPos (const CString &AString, const char AChar)
 
int LastCharPos (const CString &AString, const char AChar)
 
CString TrimStr (const CString &AString)
 
CString LeadStr (const CString &AString, const unsigned int RLength)
 
void ParseStr (const CString &AString, const CString &Delimiters, CStringList &SubStrings)
 
void ParseStr (const CString &AString, const char Delimiter, CStringList &SubStrings)
 
CString CollectStr (const CStringList &SubStrings, const CString &Delimiters)
 
CString StripDupChars (const CString &AString, const char AChar)
 
CString StripDupChars (const CString &AString)
 
CString CheckFirstChar (const CString &AString, const char AChar)
 
CString CheckLastChar (const CString &AString, const char AChar)
 
int FindStr (const CString &AString, const CString &BString)
 
CString FindReplaceChar (const CString &AString, const char SearchChar, const char ReplaceChar)
 
CString FindReplaceStr (const CString &AString, const CString &SearchString, const CString &ReplaceString)
 
int ParseMemSizeStr (const CString &AString, int &UnitSize, char &UnitChar)
 
int ParseMemSizeStr (const CString &AString)
 
long long int ParseMemSizeStr64 (const CString &AString, long long int &UnitSize, char &UnitChar)
 
long long int ParseMemSizeStr64 (const CString &AString)
 
int GuessStr (const CString &AString, const CStringList &Variants, CString &Guessed, const bool TryFuzzy=false)
 
int GuessStr (const CString &AString, const CString &Variants, CString &Guessed, const bool TryFuzzy=false)
 
CString VariantStr (const int Index, const CString &Variants, const char Delimiter=' ')
 
CString MemSizeStr (const long long int Value, long long int &UnitSize, CString &UnitSuffix)
 
CString MemSizeStr (const long long int Value)
 
CString SI_UnitStr (const double Value, double &UnitSize, CString &UnitPrefix, CString &UnitSymbol)
 
CString SI_UnitStr (const double Value)
 
bool IsQuoted (const CString &AString)
 
CString QuoteStr (const CString &AString)
 
CString UnquoteStr (const CString &AString)
 
CString ShieldSpaces (const CString &AString)
 
CString UnshieldSpaces (const CString &AString)
 
CString ShieldChars (const CString &AString, const CString &Chars)
 
CString UnshieldChars (const CString &AString, const CString &Chars)
 

Variables

static const unsigned int MAX_CHAR_FREQUENCY = ((1<<(7*sizeof(unsigned int)))-1)
 
static const CString ALPHABET_NULL_CHAR = char(0x00)
 
static const CString ALPHABET_TAB_CHAR = char(0x09)
 
static const CString ALPHABET_CR_CHAR = char(0x0d)
 
static const CString ALPHABET_LF_CHAR = char(0x0a)
 
static const CString ALPHABET_NUMBER = "0123456789"
 
static const CString ALPHABET_INTEGER_NUMBER = "+-0123456789"
 
static const CString ALPHABET_FLOAT_NUMBER = "+-.,0123456789eE"
 
static const CString ALPHABET_DOUBLE_NUMBER = "+-.,0123456789dD"
 
static const CString ALPHABET_REAL_NUMBER = "+-.,0123456789eEdD"
 
static const CString ALPHABET_HEX_NUMBER = "0123456789abcdefABCDEF"
 
static const CString ALPHABET_CTL_CHARS = "\'\"\?\\\a\b\f\n\r\t\v\0"
 
static const CString ALPHABET_ESC_SEQUENCE = "\'\"?\\abfnrtv0"
 
static const CString ALPHABET_SHELL_CHARS = " !@#$%^&*(){}[];\'\"\\|<>?"
 
static const char HEX_CHARS_UCASE [17] = "0123456789ABCDEF"
 
static const char HEX_CHARS_LCASE [17] = "0123456789abcdef"
 

Macro Definition Documentation

◆ CHARSET_SIZE

#define CHARSET_SIZE   (1<<(8*sizeof(char)))

◆ INVALID_INDEX

#define INVALID_INDEX   -1

◆ MAX_SHORTSTRING_LENGTH

#define MAX_SHORTSTRING_LENGTH   256

Function Documentation

◆ CheckFirstChar()

CString CheckFirstChar ( const CString AString,
const char  AChar 
)

◆ CheckLastChar()

CString CheckLastChar ( const CString AString,
const char  AChar 
)

◆ CollectStr()

CString CollectStr ( const CStringList SubStrings,
const CString Delimiters 
)

◆ CountChars()

int CountChars ( const CString AString,
const char  AChar 
)

◆ EnumStr()

CString EnumStr ( const CString Prefix,
const int  Counter,
const CString Suffix,
const unsigned int  Length 
)

◆ FillStr()

CString FillStr ( const CString Prefix,
const char  AChar,
const CString Suffix,
const int  Length 
)

◆ FilterStr()

CString FilterStr ( const CString AString,
const CCharset ValidChars,
const CCharset InvalidChars,
const bool  ValidateUndefined 
)

◆ FindReplaceChar()

CString FindReplaceChar ( const CString AString,
const char  SearchChar,
const char  ReplaceChar 
)

◆ FindReplaceStr()

CString FindReplaceStr ( const CString AString,
const CString SearchString,
const CString ReplaceString 
)

◆ FindStr()

int FindStr ( const CString AString,
const CString BString 
)

◆ FirstCharPos()

int FirstCharPos ( const CString AString,
const char  AChar 
)

◆ GuessStr() [1/2]

int GuessStr ( const CString AString,
const CStringList Variants,
CString Guessed,
const bool  TryFuzzy = false 
)

◆ GuessStr() [2/2]

int GuessStr ( const CString AString,
const CString Variants,
CString Guessed,
const bool  TryFuzzy = false 
)

◆ hex() [1/2]

CString hex ( const unsigned int  AInteger,
const unsigned int  Length = 8 
)
inline

◆ Hex() [1/2]

CString Hex ( const unsigned int  AInteger,
const unsigned int  Length = 8 
)
inline

◆ hex() [2/2]

CString hex ( const unsigned char *  Buffer,
const unsigned int  Length = 0 
)
inline

◆ Hex() [2/2]

CString Hex ( const unsigned char *  Buffer,
const unsigned int  Length = 0 
)
inline

◆ hex16()

CString hex16 ( const unsigned short int  AInteger)
inline

◆ Hex16()

CString Hex16 ( const unsigned short int  AInteger)
inline

◆ hex32()

CString hex32 ( const unsigned int  AInteger)
inline

◆ Hex32()

CString Hex32 ( const unsigned int  AInteger)
inline

◆ hex64()

CString hex64 ( const long long int  AInteger,
const unsigned int  Length = 16 
)
inline

◆ Hex64()

CString Hex64 ( const long long int  AInteger,
const unsigned int  Length = 16 
)
inline

◆ hex8()

CString hex8 ( const unsigned char  AInteger)
inline

◆ Hex8()

CString Hex8 ( const unsigned char  AInteger)
inline

◆ hexChar()

char hexChar ( const unsigned char  Value)
inline

◆ HexChar()

char HexChar ( const unsigned char  Value)
inline

◆ IsQuoted()

bool IsQuoted ( const CString AString)

◆ JoinStr()

CString JoinStr ( const CString AString,
const CString BString,
const char  Separator 
)

◆ LastCharPos()

int LastCharPos ( const CString AString,
const char  AChar 
)

◆ LeadStr()

CString LeadStr ( const CString AString,
const unsigned int  RLength 
)

◆ LeftStr()

CString LeftStr ( const CString AString,
const int  Position 
)

◆ LowerCase()

CString LowerCase ( const CString AString)
inline

◆ MemSizeStr() [1/2]

CString MemSizeStr ( const long long int  Value,
long long int &  UnitSize,
CString UnitSuffix 
)

◆ MemSizeStr() [2/2]

CString MemSizeStr ( const long long int  Value)

◆ NextCharPos()

int NextCharPos ( const CString AString,
const char  AChar,
const int  Position 
)

◆ operator+() [1/11]

CString operator+ ( const CString AString,
const CString BString 
)
inline

◆ operator+() [2/11]

CString operator+ ( const CString AString,
const char  BChar 
)
inline

◆ operator+() [3/11]

CString operator+ ( const char  AChar,
const CString BString 
)
inline

◆ operator+() [4/11]

CString operator+ ( const CString AString,
const int  BInteger 
)
inline

◆ operator+() [5/11]

CString operator+ ( const int  AInteger,
const CString BString 
)
inline

◆ operator+() [6/11]

CString operator+ ( const CString AString,
const float  BFloat 
)
inline

◆ operator+() [7/11]

CString operator+ ( const float  AFloat,
const CString BString 
)
inline

◆ operator+() [8/11]

CString operator+ ( const CString AString,
const double  BFloat 
)
inline

◆ operator+() [9/11]

CString operator+ ( const double  AFloat,
const CString BString 
)
inline

◆ operator+() [10/11]

CString operator+ ( const CString AString,
const char *  BCString 
)
inline

◆ operator+() [11/11]

CString operator+ ( const char *  AString,
const CString BString 
)
inline

◆ ParseMemSizeStr() [1/2]

int ParseMemSizeStr ( const CString AString,
int &  UnitSize,
char &  UnitChar 
)

◆ ParseMemSizeStr() [2/2]

int ParseMemSizeStr ( const CString AString)

◆ ParseMemSizeStr64() [1/2]

long long int ParseMemSizeStr64 ( const CString AString,
long long int &  UnitSize,
char &  UnitChar 
)

◆ ParseMemSizeStr64() [2/2]

long long int ParseMemSizeStr64 ( const CString AString)

◆ ParseStr() [1/2]

void ParseStr ( const CString AString,
const CString Delimiters,
CStringList SubStrings 
)

◆ ParseStr() [2/2]

void ParseStr ( const CString AString,
const char  Delimiter,
CStringList SubStrings 
)

◆ PrevCharPos()

int PrevCharPos ( const CString AString,
const char  AChar,
const int  Position 
)

◆ QuoteStr()

CString QuoteStr ( const CString AString)

◆ RightStr()

CString RightStr ( const CString AString,
const int  Position 
)

◆ ShieldChars()

CString ShieldChars ( const CString AString,
const CString Chars 
)

◆ ShieldSpaces()

CString ShieldSpaces ( const CString AString)

◆ ShiftStr()

CString ShiftStr ( const CString AString,
const int  Shift 
)

◆ SI_UnitStr() [1/2]

CString SI_UnitStr ( const double  Value,
double &  UnitSize,
CString UnitPrefix,
CString UnitSymbol 
)

◆ SI_UnitStr() [2/2]

CString SI_UnitStr ( const double  Value)

◆ SignStr()

CString SignStr ( const int  Signature)

◆ SplitStr()

void SplitStr ( const CString AString,
const int  Position,
CString LString,
CString RString 
)

◆ StringOfChars()

CString StringOfChars ( const char  AChar,
const int  Count 
)

◆ StripDupChars() [1/2]

CString StripDupChars ( const CString AString,
const char  AChar 
)

◆ StripDupChars() [2/2]

CString StripDupChars ( const CString AString)

◆ SubStr()

CString SubStr ( const CString AString,
const int  FirstPos,
const int  LastPos 
)

◆ TrimStr()

CString TrimStr ( const CString AString)

◆ UnquoteStr()

CString UnquoteStr ( const CString AString)

◆ UnshieldChars()

CString UnshieldChars ( const CString AString,
const CString Chars 
)

◆ UnshieldSpaces()

CString UnshieldSpaces ( const CString AString)

◆ UpperCase()

CString UpperCase ( const CString AString)
inline

◆ VariantStr()

CString VariantStr ( const int  Index,
const CString Variants,
const char  Delimiter = ' ' 
)

Variable Documentation

◆ ALPHABET_CR_CHAR

const CString ALPHABET_CR_CHAR = char(0x0d)
static

◆ ALPHABET_CTL_CHARS

const CString ALPHABET_CTL_CHARS = "\'\"\?\\\a\b\f\n\r\t\v\0"
static

◆ ALPHABET_DOUBLE_NUMBER

const CString ALPHABET_DOUBLE_NUMBER = "+-.,0123456789dD"
static

◆ ALPHABET_ESC_SEQUENCE

const CString ALPHABET_ESC_SEQUENCE = "\'\"?\\abfnrtv0"
static

◆ ALPHABET_FLOAT_NUMBER

const CString ALPHABET_FLOAT_NUMBER = "+-.,0123456789eE"
static

◆ ALPHABET_HEX_NUMBER

const CString ALPHABET_HEX_NUMBER = "0123456789abcdefABCDEF"
static

◆ ALPHABET_INTEGER_NUMBER

const CString ALPHABET_INTEGER_NUMBER = "+-0123456789"
static

◆ ALPHABET_LF_CHAR

const CString ALPHABET_LF_CHAR = char(0x0a)
static

◆ ALPHABET_NULL_CHAR

const CString ALPHABET_NULL_CHAR = char(0x00)
static

◆ ALPHABET_NUMBER

const CString ALPHABET_NUMBER = "0123456789"
static

◆ ALPHABET_REAL_NUMBER

const CString ALPHABET_REAL_NUMBER = "+-.,0123456789eEdD"
static

◆ ALPHABET_SHELL_CHARS

const CString ALPHABET_SHELL_CHARS = " !@#$%^&*(){}[];\'\"\\|<>?"
static

◆ ALPHABET_TAB_CHAR

const CString ALPHABET_TAB_CHAR = char(0x09)
static

◆ HEX_CHARS_LCASE

const char HEX_CHARS_LCASE[17] = "0123456789abcdef"
static

◆ HEX_CHARS_UCASE

const char HEX_CHARS_UCASE[17] = "0123456789ABCDEF"
static

◆ MAX_CHAR_FREQUENCY

const unsigned int MAX_CHAR_FREQUENCY = ((1<<(7*sizeof(unsigned int)))-1)
static