|
|
template<typename T> |
| static constexpr bool | IsNullOrEmpty (const T *pString) |
| | Returns true, if the given string is a nullptr pointer or a string that immediately terminates with a '\0' character.
|
| template<typename T> |
| static bool | IsNullOrEmpty (const T *pString, const T *pStringEnd) |
|
template<typename T> |
| static void | UpdateStringEnd (const T *pStringStart, const T *&ref_pStringEnd) |
| | Recomputes the end pointer of a string (szStringEnd), if that is currently set to xiiMaxStringEnd. Otherwise does nothing.
|
| template<typename T> |
| static constexpr xiiUInt32 | GetStringElementCount (const T *pString) |
| template<typename T> |
| static xiiUInt32 | GetStringElementCount (const T *pString, const T *pStringEnd) |
| static xiiUInt32 | GetCharacterCount (const char *szUtf8, const char *pStringEnd=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
|
static void | GetCharacterAndElementCount (const char *szUtf8, xiiUInt32 &ref_uiCharacterCount, xiiUInt32 &ref_uiElementCount, const char *pStringEnd=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| | Returns both the number of characters and the number of bytes in a Utf8 string, until it hits zero or the end pointer.
|
| static xiiUInt32 | Copy (char *szDest, xiiUInt32 uiDstSize, const char *szSource, const char *pSourceEnd=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| static xiiUInt32 | CopyN (char *szDest, xiiUInt32 uiDstSize, const char *szSource, xiiUInt32 uiCharsToCopy, const char *pSourceEnd=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| static xiiUInt32 | ToUpperChar (xiiUInt32 uiChar) |
| | Returns the upper case code point for uiChar.
|
|
static xiiUInt32 | ToLowerChar (xiiUInt32 uiChar) |
| | Returns the lower case code point for uiChar.
|
| static xiiUInt32 | ToUpperString (char *szString, const char *pStringEnd=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| static xiiUInt32 | ToLowerString (char *szString, const char *pStringEnd=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| static xiiInt32 | CompareChars (xiiUInt32 uiCharacter1, xiiUInt32 uiCharacter2) |
| | Copyright (c) Theophilus Eriata. All Rights Reserved.
|
| static xiiInt32 | CompareChars (const char *szUtf8Char1, const char *szUtf8Char2) |
| static xiiInt32 | CompareChars_NoCase (xiiUInt32 uiCharacter1, xiiUInt32 uiCharacter2) |
| static xiiInt32 | CompareChars_NoCase (const char *szUtf8Char1, const char *szUtf8Char2) |
|
static bool | IsEqual (const char *pString1, const char *pString2, const char *pString1End=xiiUnicodeUtils::GetMaxStringEnd< char >(), const char *pString2End=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| | Returns true, if the two given strings are identical (bitwise).
|
| static bool | IsEqualN (const char *pString1, const char *pString2, xiiUInt32 uiCharsToCompare, const char *pString1End=xiiUnicodeUtils::GetMaxStringEnd< char >(), const char *pString2End=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
|
static bool | IsEqual_NoCase (const char *pString1, const char *pString2, const char *pString1End=xiiUnicodeUtils::GetMaxStringEnd< char >(), const char *pString2End=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| | Returns true, if the two given strings are identical (case-insensitive).
|
| static bool | IsEqualN_NoCase (const char *pString1, const char *pString2, xiiUInt32 uiCharsToCompare, const char *pString1End=xiiUnicodeUtils::GetMaxStringEnd< char >(), const char *pString2End=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| static xiiInt32 | Compare (const char *pString1, const char *pString2, const char *pString1End=xiiUnicodeUtils::GetMaxStringEnd< char >(), const char *pString2End=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| static xiiInt32 | CompareN (const char *pString1, const char *pString2, xiiUInt32 uiCharsToCompare, const char *pString1End=xiiUnicodeUtils::GetMaxStringEnd< char >(), const char *pString2End=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| static xiiInt32 | Compare_NoCase (const char *pString1, const char *pString2, const char *pString1End=xiiUnicodeUtils::GetMaxStringEnd< char >(), const char *pString2End=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| static xiiInt32 | CompareN_NoCase (const char *pString1, const char *pString2, xiiUInt32 uiCharsToCompare, const char *pString1End=xiiUnicodeUtils::GetMaxStringEnd< char >(), const char *pString2End=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| static xiiInt32 | snprintf (char *szDst, xiiUInt32 uiDstSize, const char *szFormat,...) |
| static xiiInt32 | vsnprintf (char *szDst, xiiUInt32 uiDstSize, const char *szFormat, va_list szAp) |
|
static bool | StartsWith (const char *szString, const char *szStartsWith, const char *pStringEnd=xiiUnicodeUtils::GetMaxStringEnd< char >(), const char *szStartsWithEnd=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| | Returns true if szString starts with the string given in szStartsWith.
|
|
static bool | StartsWith_NoCase (const char *szString, const char *szStartsWith, const char *pStringEnd=xiiUnicodeUtils::GetMaxStringEnd< char >(), const char *szStartsWithEnd=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| | Returns true if szString starts with the string given in szStartsWith. Ignores case.
|
|
static bool | EndsWith (const char *szString, const char *szEndsWith, const char *pStringEnd=xiiUnicodeUtils::GetMaxStringEnd< char >(), const char *szEndsWithEnd=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| | Returns true if szString ends with the string given in szEndsWith.
|
|
static bool | EndsWith_NoCase (const char *szString, const char *szEndsWith, const char *pStringEnd=xiiUnicodeUtils::GetMaxStringEnd< char >(), const char *szEndsWithEnd=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| | Returns true if szString ends with the string given in szEndsWith. Ignores case.
|
|
static const char * | FindSubString (const char *szSource, const char *szStringToFind, const char *pSourceEnd=xiiUnicodeUtils::GetMaxStringEnd< char >(), const char *szStringToFindEnd=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| | Searches for the first occurrence of szStringToFind in szSource.
|
|
static const char * | FindSubString_NoCase (const char *szSource, const char *szStringToFind, const char *pSourceEnd=xiiUnicodeUtils::GetMaxStringEnd< char >(), const char *szStringToFindEnd=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| | Searches for the first occurrence of szStringToFind in szSource. Ignores case.
|
|
static const char * | FindLastSubString (const char *szSource, const char *szStringToFind, const char *szStartSearchAt=nullptr, const char *pSourceEnd=xiiUnicodeUtils::GetMaxStringEnd< char >(), const char *szStringToFindEnd=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| | Searches for the last occurrence of szStringToFind in szSource before szStartSearchAt.
|
|
static const char * | FindLastSubString_NoCase (const char *szSource, const char *szStringToFind, const char *szStartSearchAt=nullptr, const char *pSourceEnd=xiiUnicodeUtils::GetMaxStringEnd< char >(), const char *szStringToFindEnd=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| | Searches for the last occurrence of szStringToFind in szSource before szStartSearchAt. Ignores case.
|
| static const char * | SkipCharacters (const char *szString, XII_CHARACTER_FILTER skipCharacterCB, bool bAlwaysSkipFirst=false) |
| static const char * | FindWordEnd (const char *szString, XII_CHARACTER_FILTER isDelimiterCB, bool bAlwaysSkipFirst=true) |
| static void | Trim (const char *&ref_pString, const char *&ref_pStringEnd, const char *szTrimCharsStart, const char *szTrimCharsEnd) |
| static bool | IsWhiteSpace (xiiUInt32 uiChar) |
|
static bool | IsDecimalDigit (xiiUInt32 uiChar) |
| | A decimal digit from 0..9.
|
|
static bool | IsHexDigit (xiiUInt32 uiChar) |
| | A hexadecimal digit from 0..F.
|
|
static bool | IsWordDelimiter_English (xiiUInt32 uiChar) |
| | A default word delimiter function for English text.
|
|
static bool | IsIdentifierDelimiter_C_Code (xiiUInt32 uiChar) |
| | A default word delimiter function for identifiers in C code.
|
|
static bool | IsValidIdentifierName (const char *pString, const char *pStringEnd=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| | Checks whether the given string is a valid identifier name in C code, ie has no white-spaces, starts with a literal etc.
|
| static const char * | FindWholeWord (const char *szString, const char *szSearchFor, XII_CHARACTER_FILTER isDelimiterCB, const char *pStringEnd=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| static const char * | FindWholeWord_NoCase (const char *szString, const char *szSearchFor, XII_CHARACTER_FILTER isDelimiterCB, const char *pStringEnd=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
| static xiiResult | FindUIntAtTheEnd (const char *szString, xiiUInt32 &out_uiValue, xiiUInt32 *pStringLengthBeforeUInt=nullptr) |
|
static void | OutputFormattedInt (char *szOutputBuffer, xiiUInt32 uiBufferSize, xiiUInt32 &ref_uiWritePos, xiiInt64 value, xiiUInt8 uiWidth, bool bPadZeros, xiiUInt8 uiBase) |
| | [internal] Prefer to use snprintf.
|
|
static void | OutputFormattedUInt (char *szOutputBuffer, xiiUInt32 uiBufferSize, xiiUInt32 &ref_uiWritePos, xiiUInt64 value, xiiUInt8 uiWidth, bool bPadZeros, xiiUInt8 uiBase, bool bUpperCase) |
| | [internal] Prefer to use snprintf.
|
|
static void | OutputFormattedFloat (char *szOutputBuffer, xiiUInt32 uiBufferSize, xiiUInt32 &ref_uiWritePos, double value, xiiUInt8 uiWidth, bool bPadZeros, xiiInt8 iPrecision, bool bScientific, bool bRemoveTrailingZeroes=false) |
| | [internal] Prefer to use snprintf.
|
| static xiiUInt32 | CalculateLineNumber (const char *szString, const char *szOffset, const char *pStringEnd=xiiUnicodeUtils::GetMaxStringEnd< char >()) |
Copyright (c) Theophilus Eriata. All Rights Reserved.
Helper functions to work with UTF-8 strings (which include pure ASCII strings)