31 extern
AString Printf(const
char * format, fmt::ArgList args);
36 template <typename... Args>
37 extern AString &
AppendPrintf(AString & a_Dst, const
char * format, const Args & ... args)
39 a_Dst +=
Printf(format, args...);
126 extern unsigned short GetBEUShort(
const char * a_Mem);
129 extern int GetBEInt(
const char * a_Mem);
164 bool positive =
true;
170 else if (a_str[0] ==
'-')
177 for (
size_t size = a_str.size(); i < size; i++)
179 if ((a_str[i] <
'0') || (a_str[i] >
'9'))
183 if (std::numeric_limits<T>::max() / 10 < result)
188 T digit =
static_cast<T
>(a_str[i] -
'0');
189 if (std::numeric_limits<T>::max() - digit < result)
199 if (!std::numeric_limits<T>::is_signed)
204 for (
size_t size = a_str.size(); i < size; i++)
206 if ((a_str[i] <
'0') || (a_str[i] >
'9'))
210 if (std::numeric_limits<T>::min() / 10 > result)
215 T digit =
static_cast<T
>(a_str[i] -
'0');
216 if (std::numeric_limits<T>::min() + digit > result)
233 template <
typename T>
237 auto itr = a_Map.find(a_Key);
238 if (itr == a_Map.end())
245 if (!StringToInteger<T>(itr->second, res))
AStringVector StringSplit(const AString &str, const AString &delim)
Split the string at any of the listed delimiters.
AString TrimString(const AString &str)
Trims whitespace at both ends of the string.
AStringVector StringSplitAndTrim(const AString &str, const AString &delim)
Split the string at any of the listed delimiters and trim each value.
size_t RateCompareString(const AString &s1, const AString &s2)
Case-insensitive string comparison that returns a rating of equal-ness between [0 - s1...
bool StringToInteger(const AString &a_str, T &a_Num)
Parses any integer type.
std::u16string UTF8ToRawBEUTF16(const AString &a_String)
Converts a UTF-8 string into a UTF-16 BE string.
AStringVector MergeStringVectors(const AStringVector &a_Strings1, const AStringVector &a_Strings2)
Merges the two vectors of strings, removing duplicate entries from the second vector.
int NoCaseCompare(const AString &s1, const AString &s2)
Case-insensitive string comparison.
bool StringToFloat(const AString &a_String, float &a_Num)
Converts a string into a float.
AString StripColorCodes(const AString &a_Message)
Removes all control codes used by MC for colors and styles.
AString StringsConcat(const AStringVector &a_Strings, char a_Separator)
Concatenates the specified strings into a single string, separated by the specified separator charact...
AStringVector StringSplitWithQuotes(const AString &str, const AString &delim)
Split the string at any of the listed delimiters.
AString Base64Encode(const AString &a_Input)
Encodes a string into Base64.
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.
std::vector< AString > AStringVector
AString URLEncode(const AString &a_Text)
URL-encodes the given string.
AString & Printf(AString &a_Dst, const char *format, fmt::ArgList args)
Output the formatted text into the 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.
unsigned short GetBEUShort(const char *a_Mem)
Reads two bytes from the specified memory location and interprets them as BigEndian unsigned short...
AString StrToUpper(const AString &s)
Returns an upper-cased copy of the string.
int GetBEInt(const char *a_Mem)
Reads four bytes from the specified memory location and interprets them as BigEndian int...
bool IsOnlyWhitespace(const AString &a_String)
Returns true if only whitespace characters are present in the string.
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.
void ReplaceString(AString &iHayStack, const AString &iNeedle, const AString &iReplaceWith)
Replaces each occurence of iNeedle in iHayStack with iReplaceWith.
AString & InPlaceUppercase(AString &s)
In-place string conversion to uppercase.
AString StringJoin(const AStringVector &a_Strings, const AString &a_Delimiter)
Join a list of strings with the given delimiter between entries.
AString & AppendPrintf(AString &a_Dst, const char *format, const Args &...args)
Add the formated string to the existing data in the string.
std::list< AString > AStringList
std::map< AString, AString > AStringMap
A string dictionary, used for key-value pairs.
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.
std::pair< bool, AString > URLDecode(const AString &a_String)
URL-Decodes the given string.
AString Base64Decode(const AString &a_Base64String)
Decodes a Base64-encoded string into the raw data.
AString StrToLower(const AString &s)
Returns a lower-cased copy of the string.
bool SplitZeroTerminatedStrings(const AString &a_Strings, AStringVector &a_Output)
Splits a string that has embedded \0 characters, on those characters.
AString & InPlaceLowercase(AString &s)
In-place string conversion to lowercase.
void SetBEInt(char *a_Mem, Int32 a_Value)
Writes four bytes to the specified memory location so that they interpret as BigEndian int...
AString UnicodeCharToUtf8(unsigned a_UnicodeChar)
Converts a unicode character to its UTF8 representation.
short GetBEShort(const char *a_Mem)
Reads two bytes from the specified memory location and interprets them as BigEndian short...