Buy & Register
Games

3D Games

Screensavers
3D Museum
3D List
Shape X
3D Chains
Thorns 3D

Services

Development

Contact Us
Support

Bright Bug Extras
About Us

Mailing List
E-mail: 
Subscribe
Unsubscribe
Subscribe to the Bright Bug Software news mailing list. [ Learn more ]

XString

HomeHomeX Library XString Ask question
Bright Bug Software accepts Visa and Mastercard

Navigate to: X Library Home > XString
[ Back ]

X Library - XString Class

XString is a dynamically managed, variable length string class. It provides member functions for basic and advanced string manipulation. This class alone will greatly improve programmer productivity and increase program reliability. With hundreds of member functions this class is worth a look.

Comments:

Important note: XString is not a Unicode string class. The next version of XLibrary (v2.0) will contain builds for Unicode versions of the XString class.

Exception syntax: if a member function is defined with a return value of "throws XException" two additional values may be present. (OnForced,Critical). OnForced means the function will throw exceptions if XString::ForceExceptions(true); is set. If ForcedExceptions is false the function will return errors via the return value. Critical means the function will throw exceptions if a critical problem was encountered such as a memory error or index out of range error.

XString functions may throw the XException type for memory and out of range errors. Function may also return a true or false error code in which case the GetMsg member function will return the error message. To prevent any uncatched exceptions enclose blocks of XString code in try catch blocks shown in the example below.

try{
XString sxString;
sxString.SomeMemberFunction();
sxString.SomeMemberFunction2();
sxString.SomeMemberFunction3();
}
catch(XException &ex){
Do Something
}

Table of contents
Internal functions
Constructors
Destructors
Assignment
Return casting types / Data access
Append operations
Addition operations (Non assignment)
Comparison operations
String state operations
Replacement operations
SubString extraction
Case operations / string conversions
Delete/remove and trim operations
Padding and formatting operations
Find operations
Insert operations
Compression operations
Encryption operations
Encoding / Decoding
File operations
Registry / Environment / System / GUID operations
Internet and network operations
Directory operations
Size and count operations
HTML / XML operations
Time operations
Other string manipulation operations
Administration operations

Internal functions
[ Toc | Next ]

Private
void Init(bool bAlloc=true)
void SetData(const char *pcsz,int iLen=-1)
void SetData(const XString &rsx)
void SetData(const BSTR bs)
bool GetSpecialFolder(int iId)
unsigned int GrowthRate(unsigned int uiLen)
bool AllocRef(XString **ppsx,bool bUsePrivateConstructor=false)
bool AllocRef(XStringArray **ppsa)
XString(bool bAlloc,bool bDummy)
void Destroy()
void SetMsg(const char *pcszMsg,const char *pcszMsg2=NULL,const char *pcszMsg3=NULL)
void ResetMsg()
void MakeAnyLookup(unsigned int uiLenData,const char *pcszAny,unsigned char *pucBits) const
void MakeAnyLookupNoCase(unsigned int uiLenData,const char *pcszAny,unsigned char *pucBits) const
void SetBit(XUByte ueBit,bool bState)
bool GetBit(XUByte ueBit)

Constructors
[ Toc | Prev | Next ]

Public
XString()

Public
XString(const XString &rsx)
XString(const char *pcsz)
XString(const BSTR bs)
XString(const _bstr_t &bs)
XString(char cVal)
XString(unsigned char ucVal)
XString(short sVal)
XString(unsigned short usVal)
XString(int iVal)
XString(unsigned int uiVal)
XString(long lVal)
XString(unsigned long ulVal)
XString(__int64 i64Val)
XString(unsigned __int64 ui64Val)
XString(bool bVal)

Public
XString(float fVal,int iDigits=-1)
XString(double dVal,int iDigits=-1)

Destructors
[ Toc | Prev | Next ]

Public
virtual ~XString()

Assignment
[ Toc | Prev | Next ]

Public
const XString & operator =(const XString &rsx)
const XString & operator =(const char *pcsz)
const XString & operator =(const BSTR bs)
const XString & operator =(const _bstr_t &bs)
const XString & operator =(char cVal)
const XString & operator =(unsigned char ucVal)
const XString & operator =(short sVal)
const XString & operator =(unsigned short usVal)
const XString & operator =(int iVal)
const XString & operator =(unsigned int uiVal)
const XString & operator =(long lVal)
const XString & operator =(unsigned long ulVal)
const XString & operator =(__int64 i64Val)
const XString & operator =(unsigned __int64 ui64Val)
const XString & operator =(float fVal)
const XString & operator =(double dVal)
const XString & operator =(bool bVal)

Public
bool Copy(const XString &rsx)

Public
bool Exchange(XString &rsx)

Return casting types / Data access
[ Toc | Prev | Next ]

Public
operator const char* () const

Public
const char *GetData(unsigned int uiIndex=0) const

Public
BSTR ToBStr(unsigned int uiIndex=0)

Public
_bstr_t ToBStrT(unsigned int uiIndex=0) const

Public
char operator [](int iIndex) const
char & operator [](int iIndex)
char operator [](unsigned int iIndex) const
char & operator [](unsigned int iIndex)

Public
char Get(unsigned int uiIndex) const

Public
void Set(char c,unsigned int uiIndex,unsigned int uiLen=1)

Public
char ToChar(unsigned int uiIndex=0) const
unsigned char ToUChar(unsigned int uiIndex=0) const
short ToShort(unsigned int uiIndex=0) const
unsigned short ToUShort(unsigned int uiIndex=0) const
int ToInt(unsigned int uiIndex=0) const
unsigned int ToUInt(unsigned int uiIndex=0) const
long ToLong(unsigned int uiIndex=0) const
unsigned long ToULong(unsigned int uiIndex=0) const
__int64 ToInt64(unsigned int uiIndex=0) const
unsigned __int64 ToUInt64(unsigned int uiIndex=0) const
float ToFloat(unsigned int uiIndex=0) const
double ToDouble(unsigned int uiIndex=0) const
bool ToBool(unsigned int uiIndex=0) const

Public
char *GetBuffer(unsigned int uiIndex=0) const

Public
void ReclaimBuffer()

Public
XStringArray & Split(char c,unsigned int uiMaxCount=0)
XStringArray & SplitNoCase(char c,unsigned int uiMaxCount=0)
XStringArray & Split(const char *pcszData,unsigned int uiMaxCount=0)
XStringArray & SplitNoCase(const char *pcszData,unsigned int uiMaxCount=0)
XStringArray & Split(const XString &rsx,unsigned int uiMaxCount=0)
XStringArray & SplitNoCase(const XString &rsx,unsigned int uiMaxCount=0)

Public
XStringArray & SplitAny(const char *pcszAny,unsigned int uiMaxCount=0)
XStringArray & SplitAnyNoCase(const char *pcszAny,unsigned int uiMaxCount=0)
XStringArray & SplitAny(const XString &rsx,unsigned int uiMaxCount=0)
XStringArray & SplitAnyNoCase(const XString &rsx,unsigned int uiMaxCount=0)

Append operations
[ Toc | Prev | Next ]

Public
const XString & operator +=(const XString &rsx)
const XString & operator +=(const char *pcsz)
const XString & operator +=(const BSTR bs)
const XString & operator +=(const _bstr_t &bs)
const XString & operator +=(char c)
const XString & operator +=(unsigned char uc)
const XString & operator +=(short s)
const XString & operator +=(unsigned short us)
const XString & operator +=(int i)
const XString & operator +=(unsigned int ui)
const XString & operator +=(long l)
const XString & operator +=(unsigned long ul)
const XString & operator +=(__int64 i64)
const XString & operator +=(unsigned __int64 ui64)
const XString & operator +=(float f)
const XString & operator +=(double d)
const XString & operator +=(bool b)

Public
void AppendBinary(const unsigned char *pBinaryData,unsigned int uiLen,unsigned int uiTimes=1)

Public
void Append(char c)
void Append(char c,unsigned int uiTimes)
void Append(const char *pcsz,unsigned int uiTimes=1,unsigned int uiLen=XSTRING_MAXLEN)
void Append(const XString &rsx,unsigned int uiTimes=1,unsigned int uiLen=XSTRING_MAXLEN)

Public
void AppendNoExist(char c,unsigned int uiTimes=1)
void AppendNoExist(const char* pcsz,unsigned int uiTimes=1)
void AppendNoExist(const XString &rsx,unsigned int uiTimes=1)
void AppendNoExistNoCase(char c,unsigned int uiTimes=1)
void AppendNoExistNoCase(const char* pcsz,unsigned int uiTimes=1)
void AppendNoExistNoCase(const XString &rsx,unsigned int uiTimes=1)

Addition operations (Non assignment)
[ Toc | Prev | Next ]

Public
XString & operator +(XString &rsx)
XString & operator +(const char *pcsz)
XString & operator +(const BSTR bs)
XString & operator +(const _bstr_t &bs)
XString & operator +(char c)
XString & operator +(unsigned char uc)
XString & operator +(short s)
XString & operator +(unsigned short us)
XString & operator +(int i)
XString & operator +(unsigned int ui)
XString & operator +(long l)
XString & operator +(unsigned long ul)
XString & operator +(__int64 i64)
XString & operator +(unsigned __int64 ui64)
XString & operator +(float f)
XString & operator +(double d)
XString & operator +(bool b)
friend XString operator +(const char *pcsz,const XString &rsx)
friend XString operator +(const BSTR bs,const XString &rsx)
friend XString operator +(const _bstr_t &bs,const XString &rsx)
friend XString operator +(char c,const XString &rsx)
friend XString operator +(unsigned char uc,const XString &rsx)
friend XString operator +(short s,const XString &rsx)
friend XString operator +(unsigned short us,const XString &rsx)
friend XString operator +(int i,const XString &rsx)
friend XString operator +(unsigned int ui,const XString &rsx)
friend XString operator +(long l,const XString &rsx)
friend XString operator +(unsigned long ul,const XString &rsx)
friend XString operator +(__int64 i64,const XString &rsx)
friend XString operator +(unsigned __int64 ui64,const XString &rsx)
friend XString operator +(float f,const XString &rsx)
friend XString operator +(double d,const XString &rsx)
friend XString operator +(bool b,const XString &rsx)

Comparison operations
[ Toc | Prev | Next ]

Public
bool operator ==(const char *pcsz)
bool operator ==(const XString &rsx)
friend bool operator ==(const char* pcsz,const XString &rsx)

Public
int Compare(const char *pcszCompareTo,unsigned int uiCompareToIndex=0,unsigned int uiSrcIndex=0,unsigned int uiLen=XSTRING_MAXLEN)
int CompareNoCase(const char *pcszCompareTo,unsigned int uiCompareToIndex=0,unsigned int uiSrcIndex=0,unsigned int uiLen=XSTRING_MAXLEN)
int Compare(const XString &rsxCompareTo,unsigned int uiCompareToIndex=0,unsigned int uiSrcIndex=0,unsigned int uiLen=XSTRING_MAXLEN)
int CompareNoCase(const XString &rsxCompareTo,unsigned int uiCompareToIndex=0,unsigned int uiSrcIndex=0,unsigned int uiLen=XSTRING_MAXLEN)

Public
bool IsLike(const char *pcszExpression,unsigned int uiIndex=0,unsigned int uiLen=XSTRING_MAXLEN)
bool IsLikeNoCase(const char *pcszExpression,unsigned int uiIndex=0,unsigned int uiLen=XSTRING_MAXLEN)

Public
bool operator !=(const char *pcsz)
bool operator !=(const XString &rsx)
friend bool operator !=(const char *pcsz,const XString &rsx)

Public
bool operator <(const char *pcsz)
bool operator <(const XString &rsx)
friend bool operator <(const char *pcsz,const XString &rsx)

Public
bool operator <=(const char *pcsz)
bool operator <=(const XString &rsx)
friend bool operator <=(const char *pcsz,const XString &rsx)

Public
bool operator >(const char *pcsz)
bool operator >(const XString &rsx)
friend bool operator >(const char *pcsz,const XString &rsx)

Public
bool operator >=(const char *pcsz)
bool operator >=(const XString &rsx)
friend bool operator >=(const char *pcsz,const XString &rsx)

Public
bool EndsWith(char c)
bool EndsWithNoCase(char c)
bool EndsWith(const char *pcszDat)
bool EndsWithNoCase(const char *pcszDat)
bool EndsWith(const XString &rsx)
bool EndsWithNoCase(const XString &rsx)

Public
bool BeginsWith(char c)
bool BeginsWithNoCase(char c)
bool BeginsWith(const char *pcszDat)
bool BeginsWithNoCase(const char *pcszDat)
bool BeginsWith(const XString &rsx)
bool BeginsWithNoCase(const XString &rsx)

Public
bool Contains(char c,unsigned int uiIndex=0,unsigned int uiLen=XSTRING_MAXLEN)
bool ContainsNoCase(char c,unsigned int uiIndex=0,unsigned int uiLen=XSTRING_MAXLEN)
bool Contains(const char *pcsz,unsigned int uiIndex=0,unsigned int uiLen=XSTRING_MAXLEN)
bool ContainsNoCase(const char *pcsz,unsigned int uiIndex=0,unsigned int uiLen=XSTRING_MAXLEN)
bool Contains(const XString &rsx,unsigned int uiIndex=0,unsigned int uiLen=XSTRING_MAXLEN)
bool ContainsNoCase(const XString &rsx,unsigned int uiIndex=0,unsigned int uiLen=XSTRING_MAXLEN)

Public
bool ContainsAny(const char *pcszValues,unsigned int uiIndex=0,unsigned int uiLen=XSTRING_MAXLEN)
bool ContainsAnyNoCase(const char *pcszValues,unsigned int uiIndex=0,unsigned int uiLen=XSTRING_MAXLEN)
bool ContainsAny(const XString &rsx,unsigned int uiIndex=0,unsigned int uiLen=XSTRING_MAXLEN)
bool ContainsAnyNoCase(const XString &rsx,unsigned int uiIndex=0,unsigned int uiLen=XSTRING_MAXLEN)

Public
bool ContainsVowels(bool bIncY=false)

Public
bool ContainsLetters()
bool ContainsUpperLetters()
bool ContainsLowerLetters()

Public
bool ContainsNumbers()

Public
bool ContainsNumbersOrLetters()

Public
bool ContainsOnly(char c=' ')

Public
bool ContainsOnlyLetters()

Public
bool ContainsOnlyUpperLetters()

Public
bool ContainsOnlyLowerLetters()

Public
bool ContainsOnlyNumbers()

Public
bool ContainsOnlyNumbersOrLetters()

String state operations
[ Toc | Prev | Next ]

Public
bool Push()
bool Pop()

Public
bool PushOverwrite()

Public
bool PopNoRemove()

Public
void ClearStack()

Replacement operations
[ Toc | Prev | Next ]

Public
void Replace(char cOld,char cNew)
void ReplaceNoCase(char cOld,char cNew)
void Replace(char cOld,const char *pcszValue)
void ReplaceNoCase(char cOld,const char *pcszValue)
void Replace(const char *pcszRepFind,const char *pcszValue)
void ReplaceNoCase(const char *pcszRepFind,const char *pcszValue)
void Replace(const char *pcszRepFind,char cNew)
void ReplaceNoCase(const char *pcszRepFind,char cNew)
void Replace(char cOld,const XString &rsxValue)
void ReplaceNoCase(char cOld,const XString &rsxValue)
void Replace(const char *pcszRepFind,const XString &rsxValue)
void ReplaceNoCase(const char *pcszRepFind,const XString &rsxValue)
void Replace(const XString &rsxRepFind,const char *pcszValue)
void ReplaceNoCase(const XString &rsxRepFind,const char *pcszValue)
void Replace(const XString &rsxRepFind,const XString &rsxValue)
void ReplaceNoCase(const XString &rsxRepFind,const XString &rsxValue)
void Replace(const XString &rsxRepFind,char cNew)
void ReplaceNoCase(const XString &rsxRepFind,char cNew)

Public
void ReplaceFwd(char cOld,char cNew,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceFwdNoCase(char cOld,char cNew,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceFwd(char cOld,const char *pcszValue,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceFwdNoCase(char cOld,const char *pcszValue,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceFwd(const char *pcszRepFind,const char *pcszValue,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceFwdNoCase(const char *pcszRepFind,const char *pcszValue,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceFwd(const char *pcszRepFind,char cNew,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceFwdNoCase(const char *pcszRepFind,char cNew,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceFwd(char cOld,const XString &rsxValue,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceFwdNoCase(char cOld,const XString &rsxValue,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceFwd(const char *pcszRepFind,const XString &rsxValue,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceFwdNoCase(const char *pcszRepFind,const XString &rsxValue,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceFwd(const XString &rsxRepFind,const char *pcszValue,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceFwdNoCase(const XString &rsxRepFind,const char *pcszValue,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceFwd(const XString &rsxRepFind,const XString &rsxValue,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceFwdNoCase(const XString &rsxRepFind,const XString &rsxValue,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceFwd(const XString &rsxRepFind,char cNew,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceFwdNoCase(const XString &rsxRepFind,char cNew,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)

Public
void ReplaceRev(char cOld,char cNew,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceRevNoCase(char cOld,char cNew,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceRev(char cOld,const char *pcszValue,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceRevNoCase(char cOld,const char *pcszValue,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceRev(const char *pcszRepFind,const char *pcszValue,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceRevNoCase(const char *pcszRepFind,const char *pcszValue,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceRev(const char *pcszRepFind,char cNew,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceRevNoCase(const char *pcszRepFind,char cNew,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceRev(char cOld,const XString &rsxValue,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceRevNoCase(char cOld,const XString &rsxValue,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceRev(const char *pcszRepFind,const XString &rsxValue,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceRevNoCase(const char *pcszRepFind,const XString &rsxValue,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceRev(const XString &rsxRepFind,const char *pcszValue,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceRevNoCase(const XString &rsxRepFind,const char *pcszValue,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceRev(const XString &rsxRepFind,const XString &rsxValue,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceRevNoCase(const XString &rsxRepFind,const XString &rsxValue,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceRev(const XString &rsxRepFind,char cNew,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void ReplaceRevNoCase(const XString &rsxRepFind,char cNew,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)

Public
void ReplaceAny(const char *pcszAnyValues,char cNew)
void ReplaceAnyNoCase(const char *pcszAnyValues,char cNew)
void ReplaceAny(const char *pcszAnyValues,const char *pcszValue)
void ReplaceAnyNoCase(const char *pcszAnyValues,const char *pcszValue)
void ReplaceAny(const XString &rsxAnyValues,char cNew)
void ReplaceAnyNoCase(const XString &rsxAnyValues,char cNew)
void ReplaceAny(const XString &rsxAnyValues,const char *pcszValue)
void ReplaceAnyNoCase(const XString &rsxAnyValues,const char *pcszValue)
void ReplaceAny(const XString &rsxAnyValues,const XString &rsxValue)
void ReplaceAnyNoCase(const XString &rsxAnyValues,const XString &rsxValue)
void ReplaceAny(const char *pcszAnyValues,const XString &rsxValue)
void ReplaceAnyNoCase(const char *pcszAnyValues,const XString &rsxValue)

Public
void ReplaceBeginsWith(char cOld,char cNew)
void ReplaceBeginsWithNoCase(char cOld,char cNew)
void ReplaceBeginsWith(const char *pcszFindValue,char cNew)
void ReplaceBeginsWithNoCase(const char *pcszFindValue,char cNew)
void ReplaceBeginsWith(char cOld,const char *pcszValue)
void ReplaceBeginsWithNoCase(char cOld,const char *pcszValue)
void ReplaceBeginsWith(const char *pcszFindValue,const char *pcszValue)
void ReplaceBeginsWithNoCase(const char *pcszFindValue,const char *pcszValue)
void ReplaceBeginsWith(const XString &rsxFindValue,char cNew)
void ReplaceBeginsWithNoCase(const XString &rsxFindValue,char cNew)
void ReplaceBeginsWith(char cOld,const XString &rsxValue)
void ReplaceBeginsWithNoCase(char cOld,const XString &rsxValue)
void ReplaceBeginsWith(const XString &rsxFindValue,const char *pcszValue)
void ReplaceBeginsWithNoCase(const XString &rsxFindValue,const char *pcszValue)
void ReplaceBeginsWith(const char *pcszFindValue,const XString &rsxValue)
void ReplaceBeginsWithNoCase(const char *pcszFindValue,const XString &rsxValue)
void ReplaceBeginsWith(const XString &rsxFindValue,const XString &rsxValue)
void ReplaceBeginsWithNoCase(const XString &rsxFindValue,const XString &rsxValue)

Public
void ReplaceEndsWith(char cOld,char cNew)
void ReplaceEndsWithNoCase(char cOld,char cNew)
void ReplaceEndsWith(const char *pcszFindValue,char cNew)
void ReplaceEndsWithNoCase(const char *pcszFindValue,char cNew)
void ReplaceEndsWith(char cOld,const char *pcszValue)
void ReplaceEndsWithNoCase(char cOld,const char *pcszValue)
void ReplaceEndsWith(const char *pcszFindValue,const char *pcszValue)
void ReplaceEndsWithNoCase(const char *pcszFindValue,const char *pcszValue)
void ReplaceEndsWith(const XString &rsxFindValue,char cNew)
void ReplaceEndsWithNoCase(const XString &rsxFindValue,char cNew)
void ReplaceEndsWith(char cOld,const XString &rsxValue)
void ReplaceEndsWithNoCase(char cOld,const XString &rsxValue)
void ReplaceEndsWith(const XString &rsxFindValue,const char *pcszValue)
void ReplaceEndsWithNoCase(const XString &rsxFindValue,const char *pcszValue)
void ReplaceEndsWith(const char *pcszFindValue,const XString &rsxValue)
void ReplaceEndsWithNoCase(const char *pcszFindValue,const XString &rsxValue)
void ReplaceEndsWith(const XString &rsxFindValue,const XString &rsxValue)
void ReplaceEndsWithNoCase(const XString &rsxFindValue,const XString &rsxValue)

Public
void Swap(unsigned int uiIndex1,unsigned int uiIndex2)

SubString extraction
[ Toc | Prev | Next ]

Public
const XString & Sub(unsigned int uiIndex,unsigned int uiLen=XSTRING_MAXLEN)

Public
const XString & SubRange(unsigned int uiBegIndex,unsigned int uiEndIndex)

Public
const XString & SubEndFindRev(char cData)
const XString & SubEndFindRevNoCase(char cData)
const XString & SubEndFindRev(const char *pcszValue)
const XString & SubEndFindRevNoCase(const char *pcszValue)
const XString & SubEndFindRev(const XString &rsxValue)
const XString & SubEndFindRevNoCase(const XString &rsxValue)

Public
const XString & SubBegFindRev(char cData)
const XString & SubBegFindRevNoCase(char cData)
const XString & SubBegFindRev(const char *pcszValue)
const XString & SubBegFindRevNoCase(const char *pcszValue)
const XString & SubBegFindRev(const XString &rsxValue)
const XString & SubBegFindRevNoCase(const XString &rsxValue)

Public
const XString & SubBegFindFwd(char cData)
const XString & SubBegFindFwdNoCase(char cData)
const XString & SubBegFindFwd(const char *pcszValue)
const XString & SubBegFindFwdNoCase(const char *pcszValue)
const XString & SubBegFindFwd(const XString &rsxValue)
const XString & SubBegFindFwdNoCase(const XString &rsxValue)

Public
const XString & SubEndFindFwd(char cData)
const XString & SubEndFindFwdNoCase(char cData)
const XString & SubEndFindFwd(const char *pcszValue)
const XString & SubEndFindFwdNoCase(const char *pcszValue)
const XString & SubEndFindFwd(const XString &rsxValue)
const XString & SubEndFindFwdNoCase(const XString &rsxValue)

Public
const XString & SubBetweenFwdContaining(char cBeg,char cEnd,char cValue,unsigned int uiStartAt=0)
const XString & SubBetweenFwdContaining(char cBeg,char cEnd,const char *pcszValue,unsigned int uiStartAt=0)
const XString & SubBetweenFwdContaining(char cBeg,char cEnd,const XString &rsxValue,unsigned int uiStartAt=0)

Public
const XString & SubBetweenFwd(char cBeg,char cEnd,unsigned int uiStartAt=0)
const XString & SubBetweenFwd(const char *pcszBeg,const char *pcszEnd,unsigned int uiStartAt=0)
const XString & SubBetweenFwd(const XString &rsxBeg,const XString &rsxEnd,unsigned int uiStartAt=0)

Public
const XString & SubLeft(unsigned int uiLen)
const XString & SubRight(unsigned int uiLen)

Public
const XString &SpanFwdIncluding(const char *pcszCharSet,unsigned int uiStartAt=0,unsigned int uiMaxLen=XSTRING_MAXLEN)
const XString &SpanFwdIncludingNoCase(const char *pcszCharSet,unsigned int uiStartAt=0,unsigned int uiMaxLen=XSTRING_MAXLEN)

Public
const XString &SpanFwdExcluding(const char *pcszCharSet,unsigned int uiStartAt=0,unsigned int uiMaxLen=XSTRING_MAXLEN)
const XString &SpanFwdExcludingNoCase(const char *pcszCharSet,unsigned int uiStartAt=0,unsigned int uiMaxLen=XSTRING_MAXLEN)

Case operations / string conversions
[ Toc | Prev | Next ]

Public
void ToLower()

Public
void ToUpper()

Public
void ToMixCase()

Delete/remove and trim operations
[ Toc | Prev | Next ]

Public
void TrimLeft(char c=' ')
void TrimLeftNoCase(char c=' ')
void TrimRight(char c=' ')
void TrimRightNoCase(char c=' ')
void Trim(char c=' ')
void TrimNoCase(char c=' ')
void TrimLeft(const char *pcszValue)
void TrimLeftNoCase(const char *pcszValue)
void TrimRight(const char *pcszValue)
void TrimRightNoCase(const char *pcszValue)
void Trim(const char *pcszValue)
void TrimNoCase(const char *pcszValue)
void TrimLeft(const XString &rsxValue)
void TrimLeftNoCase(const XString &rsxValue)
void TrimRight(const XString &rsxValue)
void TrimRightNoCase(const XString &rsxValue)
void Trim(const XString &rsxValue)
void TrimNoCase(const XString &rsxValue)

Public
void TrimLeftAny(const char *pcszValues)
void TrimLeftAnyNoCase(const char *pcszValues)
void TrimRightAny(const char *pcszValues)
void TrimRightAnyNoCase(const char *pcszValues)
void TrimAny(const char *pcszValues)
void TrimAnyNoCase(const char *pcszValues)
void TrimLeftAny(const XString &rsxValues)
void TrimLeftAnyNoCase(const XString &rsxValues)
void TrimRightAny(const XString &rsxValues)
void TrimRightAnyNoCase(const XString &rsxValues)
void TrimAny(const XString &rsxValues)
void TrimAnyNoCase(const XString &rsxValues)

Public
void Normalize(char c=' ')
void NormalizeNoCase(char c=' ')
void Normalize(const char *pcszValue)
void NormalizeNoCase(const char *pcszValue)
void Normalize(const XString &rsxValue)
void NormalizeNoCase(const XString &rsxValue)

Public
void NormalizeAny(const char *pcszValues)
void NormalizeAnyNoCase(const char *pcszValues)
void NormalizeAny(const XString &rsxValues)
void NormalizeAnyNoCase(const XString &rsxValues)

Public
void TruncateAtLast(char c)
void TruncateAtLastNoCase(char c)
void TruncateAtLast(const char *pcszValue)
void TruncateAtLastNoCase(const char *pcszValue)
void TruncateAtLast(const XString &rsxValue)
void TruncateAtLastNoCase(const XString &rsxValue)

Public
void TruncateAfterLast(char c)
void TruncateAfterLastNoCase(char c)
void TruncateAfterLast(const char *pcszValue)
void TruncateAfterLastNoCase(const char *pcszValue)
void TruncateAfterLast(const XString &rsxValue)
void TruncateAfterLastNoCase(const XString &rsxValue)

Public
void TruncateAtFirst(char c)
void TruncateAtFirstNoCase(char c)
void TruncateAtFirst(const char *pcszValue)
void TruncateAtFirstNoCase(const char *pcszValue)
void TruncateAtFirst(const XString &rsxValue)
void TruncateAtFirstNoCase(const XString &rsxValue)

Public
void TruncateAfterFirst(char c)
void TruncateAfterFirstNoCase(char c)
void TruncateAfterFirst(const char *pcszValue)
void TruncateAfterFirstNoCase(const char *pcszValue)
void TruncateAfterFirst(const XString &rsxValue)
void TruncateAfterFirstNoCase(const XString &rsxValue)

Public
void TruncateAt(unsigned int uiIndex)

Public
void EllipsisAt(unsigned int uiIndex,const char *pcszEllipsisData="...")

Public
void Remove(char c)
void RemoveNoCase(char c)
void Remove(const char *pcszData)
void RemoveNoCase(const char *pcszData)
void Remove(const XString &rsxValue)
void RemoveNoCase(const XString &rsxValue)

Public
void RemoveFwd(char c,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void RemoveFwdNoCase(char c,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void RemoveFwd(const char *pcszData,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void RemoveFwdNoCase(const char *pcszData,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void RemoveFwd(const XString &rsxValue,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void RemoveFwdNoCase(const XString &rsxValue,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)

Public
void RemoveRev(char c,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void RemoveRevNoCase(char c,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void RemoveRev(const char *pcszData,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void RemoveRevNoCase(const char *pcszData,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void RemoveRev(const XString &rsxValue,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void RemoveRevNoCase(const XString &rsxValue,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)

Public
void RemoveAny(const char *pcszAny)
void RemoveAnyNoCase(const char *pcszAny)
void RemoveAny(const XString &rsxAny)
void RemoveAnyNoCase(const XString &rsxAny)

Public
void RemoveFwdAny(const char *pcszValues,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void RemoveFwdAnyNoCase(const char *pcszValues,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void RemoveFwdAny(const XString &rsxValues,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)
void RemoveFwdAnyNoCase(const XString &rsxValues,unsigned int uiStartAt=0,unsigned int uiTimes=XSTRING_MAXLEN)

Public
void RemoveRevAny(const char *pcszValues,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void RemoveRevAnyNoCase(const char *pcszValues,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void RemoveRevAny(const XString &rsxValues,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)
void RemoveRevAnyNoCase(const XString &rsxValues,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiTimes=XSTRING_MAXLEN)

Public
void Remove(unsigned int uiIndex,unsigned int uiLen=1)

Public
void RemoveLeft(unsigned int uiLen)
void RemoveRight(unsigned int uiLen)

Padding and formatting operations
[ Toc | Prev | Next ]

Public
void PadLeft(char c,unsigned int uiTotalLen)
void PadRight(char c,unsigned int uiTotalLen)

Public
void Format(const char *pcszFormat,...)
void FormatAppend(const char *pcszFormat,...)

Find operations
[ Toc | Prev | Next ]

Public
int FindFwd(char c,unsigned int uiStartAt=0,unsigned int uiLen=XSTRING_MAXLEN) const
int FindFwdNoCase(char c,unsigned int uiStartAt=0,unsigned int uiLen=XSTRING_MAXLEN) const
int FindFwd(const char *pcszDat,unsigned int uiStartAt=0,unsigned int uiLen=XSTRING_MAXLEN) const
int FindFwdNoCase(const char *pcszDat,unsigned int uiStartAt=0,unsigned int uiLen=XSTRING_MAXLEN) const
int FindFwd(const XString &rsxDat,unsigned int uiStartAt=0,unsigned int uiLen=XSTRING_MAXLEN) const
int FindFwdNoCase(const XString &rsxDat,unsigned int uiStartAt=0,unsigned int uiLen=XSTRING_MAXLEN) const

Public
int FindRev(char c,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiLen=XSTRING_MAXLEN) const
int FindRevNoCase(char c,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiLen=XSTRING_MAXLEN) const
int FindRev(const char *pcszDat,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiLen=XSTRING_MAXLEN) const
int FindRevNoCase(const char *pcszDat,unsigned int uiStartAt=XSTRING_MAXLEN,unsigned int uiLen=XSTRING_MAXLEN) const
int FindRev(con