105 extern short GetBEShort(
const std::byte * a_Mem);
108 extern unsigned short GetBEUShort(
const char * a_Mem);
111 extern int GetBEInt(
const std::byte * a_Mem);
146 bool positive =
true;
152 else if (a_str[0] ==
'-')
159 for (
size_t size = a_str.size(); i < size; i++)
161 if ((a_str[i] <
'0') || (a_str[i] >
'9'))
165 if (std::numeric_limits<T>::max() / 10 < result)
170 T digit =
static_cast<T
>(a_str[i] -
'0');
171 if (std::numeric_limits<T>::max() - digit < result)
181 if (!std::numeric_limits<T>::is_signed)
186 for (
size_t size = a_str.size(); i < size; i++)
188 if ((a_str[i] <
'0') || (a_str[i] >
'9'))
192 if (std::numeric_limits<T>::min() / 10 > result)
197 T digit =
static_cast<T
>(a_str[i] -
'0');
198 if (std::numeric_limits<T>::min() + digit > result)
215 template <
typename T>
219 auto itr = a_Map.find(a_Key);
220 if (itr == a_Map.end())
227 if (!StringToInteger<T>(itr->second, res))
AStringVector StringSplitAndTrim(const AString &str, const AString &delim)
Split the string at any of the listed delimiters and trim each value.
T GetStringMapInteger(const AStringMap &a_Map, const AString &a_Key, T a_Default)
Returns a number (of any integer type T) from a key-value string map.
AString & InPlaceLowercase(AString &s)
In-place string conversion to lowercase.
AString TrimString(const AString &str)
Trims whitespace at both ends of the string.
std::vector< AString > AStringVector
std::u16string UTF8ToRawBEUTF16(const AString &a_String)
Converts a UTF-8 string into a UTF-16 BE string.
AString & RawBEToUTF8(const char *a_RawData, size_t a_NumShorts, AString &a_UTF8)
Converts a stream of BE shorts into UTF-8 string; returns a_UTF8.
AString URLEncode(const AString &a_Text)
URL-encodes the given string.
AString StrToLower(const AString &s)
Returns a lower-cased copy of the string.
AString & InPlaceUppercase(AString &s)
In-place string conversion to uppercase.
AString EscapeString(const AString &a_Message)
Returns a copy of a_Message with all quotes and backslashes escaped by a backslash.
AString ReplaceAllCharOccurrences(const AString &a_String, char a_From, char a_To)
Replaces all occurrences of char a_From inside a_String with char a_To.
AStringVector StringSplit(const AString &str, const AString &delim)
Split the string at any of the listed delimiters.
bool SplitZeroTerminatedStrings(const AString &a_Strings, AStringVector &a_Output)
Splits a string that has embedded \0 characters, on those characters.
AString Base64Decode(const AString &a_Base64String)
Decodes a Base64-encoded string into the raw data.
short GetBEShort(const std::byte *a_Mem)
Reads two bytes from the specified memory location and interprets them as BigEndian short.
void SetBEInt(std::byte *a_Mem, Int32 a_Value)
Writes four bytes to the specified memory location so that they interpret as BigEndian int.
void ReplaceString(AString &iHayStack, const AString &iNeedle, const AString &iReplaceWith)
Replaces each occurence of iNeedle in iHayStack with iReplaceWith.
AString StripColorCodes(const AString &a_Message)
Removes all control codes used by MC for colors and styles.
AString & CreateHexDump(AString &a_Out, const void *a_Data, size_t a_Size, size_t a_BytesPerLine)
Creates a nicely formatted HEX dump of the given memory block.
AStringVector StringSplitWithQuotes(const AString &str, const AString &delim)
Split the string at any of the listed delimiters.
AString StringsConcat(const AStringVector &a_Strings, char a_Separator)
Concatenates the specified strings into a single string, separated by the specified separator charact...
int NoCaseCompare(const AString &s1, const AString &s2)
Case-insensitive string comparison.
void ReplaceURL(AString &iHayStack, const AString &iNeedle, const AString &iReplaceWith)
Replaces each occurence of iNeedle in iHayStack with iReplaceWith, after URL-encoding iReplaceWith.
AStringVector MergeStringVectors(const AStringVector &a_Strings1, const AStringVector &a_Strings2)
Merges the two vectors of strings, removing duplicate entries from the second vector.
std::list< AString > AStringList
AString StrToUpper(const AString &s)
Returns an upper-cased copy of the string.
AString UnicodeCharToUtf8(unsigned a_UnicodeChar)
Converts a unicode character to its UTF8 representation.
bool StringToInteger(const AString &a_str, T &a_Num)
Parses any integer type.
size_t RateCompareString(const AString &s1, const AString &s2)
Case-insensitive string comparison that returns a rating of equal-ness between [0 - s1....
AString StringJoin(const AStringVector &a_Strings, const AString &a_Delimiter)
Join a list of strings with the given delimiter between entries.
bool StringToFloat(const AString &a_String, float &a_Num)
Converts a string into a float.
bool IsOnlyWhitespace(const AString &a_String)
Returns true if only whitespace characters are present in the string.
std::map< AString, AString > AStringMap
A string dictionary, used for key-value pairs.
int GetBEInt(const std::byte *a_Mem)
Reads four bytes from the specified memory location and interprets them as BigEndian int.
AString Base64Encode(const AString &a_Input)
Encodes a string into Base64.
std::pair< bool, AString > URLDecode(const AString &a_String)
URL-Decodes the given string.
unsigned short GetBEUShort(const char *a_Mem)
Reads two bytes from the specified memory location and interprets them as BigEndian unsigned short.