Blamite Game Engine - Blam (Core)
Blam::Utils::String Namespace Reference

Utilities for working with and modifying strings. More...

Functions

BLAM bool StartsWith (std::string string, std::string starts_with, bool case_insensetive)
 Determines whether or not a string starts with another string, case-insensetive. More...
 
BLAM bool EndsWith (std::string string, std::string ends_with, bool case_insensetive)
 Determines whether or not a string ends with another string, case-sensetive. More...
 
BLAM std::string Replace (std::string orig, std::string to_replace, std::string replace_with)
 Replaces part of a string with another string. More...
 
BLAM std::string ToLower (std::string string)
 Transforms a string to all-lowercase. More...
 
BLAM std::string ToUpper (std::string string)
 Transforms a string to all-uppercase. More...
 
BLAM std::string FixDirectorySeparators (std::string string)
 Replaces any instance of \\\ in a string with /. More...
 
BLAM std::vector< std::string > Split (std::string string, std::string splitter)
 Splits a string around any instance of a substring. More...
 
BLAM bool ContainsChar (std::string string, char contains)
 Determines whether or not a string contains the specified character. More...
 
BLAM bool MemoryStringCompare (char *address, char *to_compare, int size)
 Checks the specified address in memory to see if it matches a given string, ignoring null terminators. More...
 

Detailed Description

Utilities for working with and modifying strings.

Function Documentation

◆ ContainsChar()

bool Blam::Utils::String::ContainsChar ( std::string  string,
char  contains 
)

Determines whether or not a string contains the specified character.

Parameters
string- The original string.
contains- The character to look for.
Returns
Whether or not the string contains the specified character.

◆ EndsWith()

bool Blam::Utils::String::EndsWith ( std::string  string,
std::string  ends_with,
bool  case_insensetive 
)

Determines whether or not a string ends with another string, case-sensetive.

Parameters
string- The original string.
ends_with- The string to test for.
case_sensetive- Whether or not the check is case insensetive.
Returns
Whether or not the string ends with the specified suffix.

◆ FixDirectorySeparators()

std::string Blam::Utils::String::FixDirectorySeparators ( std::string  string)

Replaces any instance of \\\ in a string with /.

Unneccessary in most cases.

Parameters
string- The original string.
Returns
The original string with all path separators made uniform.

◆ MemoryStringCompare()

bool Blam::Utils::String::MemoryStringCompare ( char *  address,
char *  to_compare,
int  size 
)

Checks the specified address in memory to see if it matches a given string, ignoring null terminators.

One might be inclined to simply check the memory normally, but all strings are normally null-terminated. In certain cases, it may be useful to check for a specific set of bytes that are known to always contain text of a known length, that will always be followed by more data.

Parameters
address- Address of the start of the byte data.
to_compare- The string to check against.
size- The number of bytes within address to read as a string.
Returns
True if the bytes matched the provided string (w/o null terminator), False if the data didn't match.

◆ Replace()

std::string Blam::Utils::String::Replace ( std::string  orig,
std::string  to_replace,
std::string  replace_with 
)

Replaces part of a string with another string.

Parameters
orig- The original string.
to_replace- The substring to replace.
replace_with- The string to replace any matches of the substring with.
Returns
The original string with any instances of the substring replaced.

◆ Split()

std::vector< std::string > Blam::Utils::String::Split ( std::string  string,
std::string  splitter 
)

Splits a string around any instance of a substring.

If string is "Bungie|Is|Cool", and splitter is "|", then the resulting string list would contain the following:

{["Bungie",}
</blockquote>
Similarly, if `string` was still "Bungie|Is|Cool", and `splitter` is set to "|Is|",
the resulting string list would be the following:
<blockquote>
```["Bungie", "Cool"

Parameters
string- The original string.
splitter- The string to act as the splitter.
Returns
A list of strings resulting from the split.

◆ StartsWith()

bool Blam::Utils::String::StartsWith ( std::string  string,
std::string  starts_with,
bool  case_insensetive 
)

Determines whether or not a string starts with another string, case-insensetive.

Parameters
string- The original string.
starts_with- The string to test for.
case_sensetive- Whether or not the check is case insensetive.
Returns
Whether or not the string starts with the specified prefix.

◆ ToLower()

std::string Blam::Utils::String::ToLower ( std::string  string)

Transforms a string to all-lowercase.

Parameters
string- The original string.
Returns
The original string with all characters changed to lowercase.

◆ ToUpper()

std::string Blam::Utils::String::ToUpper ( std::string  string)

Transforms a string to all-uppercase.

Parameters
string- The original string.
Returns
The original string with all characters changed to uppercase.