Cuberite
A lightweight, fast and extensible game server for Minecraft
Typedefs | Functions
StringUtils.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef std::string AString
 
typedef std::list< AStringAStringList
 
typedef std::map< AString, AStringAStringMap
 A string dictionary, used for key-value pairs. More...
 
typedef std::vector< AStringAStringVector
 

Functions

template<typename... Args>
AStringAppendPrintf (AString &a_Dst, const char *format, const Args &...args)
 Add the formated string to the existing data in the string. More...
 
AString Base64Decode (const AString &a_Base64String)
 Decodes a Base64-encoded string into the raw data. More...
 
AString Base64Encode (const AString &a_Input)
 Encodes a string into Base64. More...
 
AStringCreateHexDump (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. More...
 
AString EscapeString (const AString &a_Message)
 Returns a copy of a_Message with all quotes and backslashes escaped by a backslash. More...
 
int GetBEInt (const char *a_Mem)
 Reads four bytes from the specified memory location and interprets them as BigEndian int. More...
 
short GetBEShort (const char *a_Mem)
 Reads two bytes from the specified memory location and interprets them as BigEndian short. More...
 
unsigned short GetBEUShort (const char *a_Mem)
 Reads two bytes from the specified memory location and interprets them as BigEndian unsigned short. More...
 
template<typename 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. More...
 
AStringInPlaceLowercase (AString &s)
 In-place string conversion to lowercase. More...
 
AStringInPlaceUppercase (AString &s)
 In-place string conversion to uppercase. More...
 
bool IsOnlyWhitespace (const AString &a_String)
 Returns true if only whitespace characters are present in the string. More...
 
AStringVector MergeStringVectors (const AStringVector &a_Strings1, const AStringVector &a_Strings2)
 Merges the two vectors of strings, removing duplicate entries from the second vector. More...
 
int NoCaseCompare (const AString &s1, const AString &s2)
 Case-insensitive string comparison. More...
 
AStringPrintf (AString &a_Dst, const char *format, fmt::ArgList args)
 Output the formatted text into the string. More...
 
AString Printf (const char *format, fmt::ArgList args)
 Output the formatted text into string Returns the formatted string by value. More...
 
size_t RateCompareString (const AString &s1, const AString &s2)
 Case-insensitive string comparison that returns a rating of equal-ness between [0 - s1.length()]. More...
 
AStringRawBEToUTF8 (const char *a_RawData, size_t a_NumShorts, AString &a_UTF8)
 Converts a stream of BE shorts into UTF-8 string; returns a_UTF8. More...
 
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. More...
 
void ReplaceString (AString &iHayStack, const AString &iNeedle, const AString &iReplaceWith)
 Replaces each occurence of iNeedle in iHayStack with iReplaceWith. More...
 
void SetBEInt (char *a_Mem, Int32 a_Value)
 Writes four bytes to the specified memory location so that they interpret as BigEndian int. More...
 
bool SplitZeroTerminatedStrings (const AString &a_Strings, AStringVector &a_Output)
 Splits a string that has embedded \0 characters, on those characters. More...
 
AString StringJoin (const AStringVector &a_Strings, const AString &a_Delimiter)
 Join a list of strings with the given delimiter between entries. More...
 
AString StringsConcat (const AStringVector &a_Strings, char a_Separator)
 Concatenates the specified strings into a single string, separated by the specified separator character. More...
 
AStringVector StringSplit (const AString &str, const AString &delim)
 Split the string at any of the listed delimiters. More...
 
AStringVector StringSplitAndTrim (const AString &str, const AString &delim)
 Split the string at any of the listed delimiters and trim each value. More...
 
AStringVector StringSplitWithQuotes (const AString &str, const AString &delim)
 Split the string at any of the listed delimiters. More...
 
bool StringToFloat (const AString &a_String, float &a_Num)
 Converts a string into a float. More...
 
template<class T >
bool StringToInteger (const AString &a_str, T &a_Num)
 Parses any integer type. More...
 
AString StripColorCodes (const AString &a_Message)
 Removes all control codes used by MC for colors and styles. More...
 
AString StrToLower (const AString &s)
 Returns a lower-cased copy of the string. More...
 
AString StrToUpper (const AString &s)
 Returns an upper-cased copy of the string. More...
 
AString TrimString (const AString &str)
 Trims whitespace at both ends of the string. More...
 
AString UnicodeCharToUtf8 (unsigned a_UnicodeChar)
 Converts a unicode character to its UTF8 representation. More...
 
std::pair< bool, AStringURLDecode (const AString &a_String)
 URL-Decodes the given string. More...
 
AString URLEncode (const AString &a_Text)
 URL-encodes the given string. More...
 
std::u16string UTF8ToRawBEUTF16 (const AString &a_String)
 Converts a UTF-8 string into a UTF-16 BE string. More...
 

Typedef Documentation

typedef std::string AString

Definition at line 13 of file StringUtils.h.

typedef std::list<AString> AStringList

Definition at line 15 of file StringUtils.h.

typedef std::map<AString, AString> AStringMap

A string dictionary, used for key-value pairs.

Definition at line 18 of file StringUtils.h.

typedef std::vector<AString> AStringVector

Definition at line 14 of file StringUtils.h.

Function Documentation

template<typename... Args>
AString& AppendPrintf ( AString a_Dst,
const char *  format,
const Args &...  args 
)

Add the formated string to the existing data in the string.

Returns a_Dst.

Definition at line 37 of file StringUtils.h.

AString Base64Decode ( const AString a_Base64String)

Decodes a Base64-encoded string into the raw data.

Definition at line 871 of file StringUtils.cpp.

AString Base64Encode ( const AString a_Input)

Encodes a string into Base64.

Definition at line 907 of file StringUtils.cpp.

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.

Creates a nicely formatted HEX dump of the given memory block.

Definition at line 631 of file StringUtils.cpp.

AString EscapeString ( const AString a_Message)

Returns a copy of a_Message with all quotes and backslashes escaped by a backslash.

Definition at line 670 of file StringUtils.cpp.

int GetBEInt ( const char *  a_Mem)

Reads four bytes from the specified memory location and interprets them as BigEndian int.

Definition at line 976 of file StringUtils.cpp.

short GetBEShort ( const char *  a_Mem)

Reads two bytes from the specified memory location and interprets them as BigEndian short.

Definition at line 956 of file StringUtils.cpp.

unsigned short GetBEUShort ( const char *  a_Mem)

Reads two bytes from the specified memory location and interprets them as BigEndian unsigned short.

Definition at line 966 of file StringUtils.cpp.

template<typename T >
T GetStringMapInteger ( const AStringMap a_Map,
const AString a_Key,
a_Default 
)

Returns a number (of any integer type T) from a key-value string map.

Returns a_Default if the key is not present or the value is not a number representable in type T.

Definition at line 234 of file StringUtils.h.

AString& InPlaceLowercase ( AString s)

In-place string conversion to lowercase.

Returns the same string object.

Definition at line 245 of file StringUtils.cpp.

AString& InPlaceUppercase ( AString s)

In-place string conversion to uppercase.

Returns the same string object.

Definition at line 255 of file StringUtils.cpp.

bool IsOnlyWhitespace ( const AString a_String)

Returns true if only whitespace characters are present in the string.

Definition at line 1085 of file StringUtils.cpp.

AStringVector MergeStringVectors ( const AStringVector a_Strings1,
const AStringVector a_Strings2 
)

Merges the two vectors of strings, removing duplicate entries from the second vector.

The resulting vector contains items from a_Strings1 first, then from a_Strings2. The order of items doesn't change, only the duplicates are removed. If a_Strings1 contains duplicates, the result will still contain those duplicates.

Definition at line 1026 of file StringUtils.cpp.

int NoCaseCompare ( const AString s1,
const AString s2 
)

Case-insensitive string comparison.

Returns 0 if the strings are the same, <0 if s1 < s2 and >0 if s1 > s2.

Definition at line 289 of file StringUtils.cpp.

AString& Printf ( AString a_Dst,
const char *  format,
fmt::ArgList  args 
)

Output the formatted text into the string.

Returns a_Dst.

Definition at line 55 of file StringUtils.cpp.

AString Printf ( const char *  format,
fmt::ArgList  args 
)

Output the formatted text into string Returns the formatted string by value.

Definition at line 66 of file StringUtils.cpp.

size_t RateCompareString ( const AString s1,
const AString s2 
)

Case-insensitive string comparison that returns a rating of equal-ness between [0 - s1.length()].

Definition at line 302 of file StringUtils.cpp.

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.

Definition at line 353 of file StringUtils.cpp.

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.

Definition at line 826 of file StringUtils.cpp.

void ReplaceString ( AString iHayStack,
const AString iNeedle,
const AString iReplaceWith 
)

Replaces each occurence of iNeedle in iHayStack with iReplaceWith.

Definition at line 333 of file StringUtils.cpp.

void SetBEInt ( char *  a_Mem,
Int32  a_Value 
)

Writes four bytes to the specified memory location so that they interpret as BigEndian int.

Definition at line 986 of file StringUtils.cpp.

bool SplitZeroTerminatedStrings ( const AString a_Strings,
AStringVector a_Output 
)

Splits a string that has embedded \0 characters, on those characters.

a_Output is first cleared and then each separate string is pushed back into a_Output. Returns true if there are at least two strings in a_Output (there was at least one \0 separator).

Definition at line 998 of file StringUtils.cpp.

AString StringJoin ( const AStringVector a_Strings,
const AString a_Delimiter 
)

Join a list of strings with the given delimiter between entries.

Definition at line 154 of file StringUtils.cpp.

AString StringsConcat ( const AStringVector a_Strings,
char  a_Separator 
)

Concatenates the specified strings into a single string, separated by the specified separator character.

Use StringJoin() if you need multiple separator characters.

Definition at line 1047 of file StringUtils.cpp.

AStringVector StringSplit ( const AString str,
const AString delim 
)

Split the string at any of the listed delimiters.

Return the splitted strings as a stringvector.

Definition at line 76 of file StringUtils.cpp.

AStringVector StringSplitAndTrim ( const AString str,
const AString delim 
)

Split the string at any of the listed delimiters and trim each value.

Returns the splitted strings as a stringvector.

Definition at line 190 of file StringUtils.cpp.

AStringVector StringSplitWithQuotes ( const AString str,
const AString delim 
)

Split the string at any of the listed delimiters.

Keeps quoted content together Resolves issue #490 Return the splitted strings as a stringvector.

Definition at line 97 of file StringUtils.cpp.

bool StringToFloat ( const AString a_String,
float &  a_Num 
)

Converts a string into a float.

Returns false if the conversion fails.

Definition at line 1070 of file StringUtils.cpp.

template<class T >
bool StringToInteger ( const AString a_str,
T &  a_Num 
)

Parses any integer type.

Checks bounds and returns errors out of band.

Definition at line 161 of file StringUtils.h.

AString StripColorCodes ( const AString a_Message)

Removes all control codes used by MC for colors and styles.

Definition at line 707 of file StringUtils.cpp.

AString StrToLower ( const AString s)

Returns a lower-cased copy of the string.

Definition at line 265 of file StringUtils.cpp.

AString StrToUpper ( const AString s)

Returns an upper-cased copy of the string.

Definition at line 277 of file StringUtils.cpp.

AString TrimString ( const AString str)

Trims whitespace at both ends of the string.

Returns a trimmed copy of the original string.

Definition at line 211 of file StringUtils.cpp.

AString UnicodeCharToUtf8 ( unsigned  a_UnicodeChar)

Converts a unicode character to its UTF8 representation.

Definition at line 368 of file StringUtils.cpp.

std::pair<bool, AString> URLDecode ( const AString a_String)

URL-Decodes the given string.

The first value specifies whether the decoding was successful. The second value is the decoded string, if successful.

Definition at line 726 of file StringUtils.cpp.

AString URLEncode ( const AString a_Text)

URL-encodes the given string.

Definition at line 796 of file StringUtils.cpp.

std::u16string UTF8ToRawBEUTF16 ( const AString a_String)

Converts a UTF-8 string into a UTF-16 BE string.

Definition at line 526 of file StringUtils.cpp.