API Documentation
|
The core String class for the NDEVR API. More...
#include <String.h>
Public Member Functions | |
void | addUTF16AsUTF8 (const wchar *unicode) |
Converts a unicode null terminated string of UTF16 wchars into UTF8 and appends it to the end of the String. | |
bool | addUTF16CharAsUTF8 (const wchar *unicode, uint04 &advance) |
Converts a single unicode character at advance into UTF8 and appends it to the end of the String. | |
void | addWChar (const wchar &object) |
Converts a single unicode character UTF16 character into one or more UTF8 characters and appends them to the end of this String. | |
String & | addWhiteSpace (uint04 desired_string_size, uint04 desired_right_alignment_location=0, char whitespace=' ') |
Used for formatting, will, if necessary, add white space so that the string becomes a certain length. desired_right_alignment_location Will try and align the string to a location by prepending whitspace. desired_string_size will append space to try and make the string a given size. | |
String & | append (const String &string) |
Appends a string to the back of this string. | |
bool | beginsWith (const String &s, bool ignore_case=false) const |
Tests if this String starts with the specified prefix. | |
const char * | c_str () const |
Used to access the raw memory of this string. | |
bool | endsWith (const String &s, bool ignore_case=false) const |
Tests if this String ends with the specified suffix. | |
String & | formatAsTitleString () |
Formats the string to be a title, capitalizing important characters and replacing underscores with spaces. | |
String & | formatNumberString (bool add_comma, uint04 decimals) |
For a string representing a number, makes the decimals equal to the the provided value and adds comma seperators if number is large enough. | |
String & | formatNumberString (bool add_comma, uint04 min_decimals, uint04 max_decimals, uint04 min_digits, char decimal='.', char comma=',') |
Modifies the contents of this string, that represents a given number using the provided rules. | |
String & | formatNumberString (uint04 decimals) |
For a string representing a number, makes the decimals equal to the the provided value Example: String("1000000").formatNumberString(2); will make "1000000.00". | |
uint04 | fromHex () const |
Converts a hex value into an unsigned 4 byte number. | |
template<class t_type > | |
t_type | getAs () const |
Converts a string into an object. To use this function an object must have overwritten StringStream<t_type>::fromString. | |
uint08 | hash () const |
Creates a simple, quick hash of the object. See hash(const char* value) for details of the implementation. | |
uint08 | hashLower () const |
Creates a simple, quick hash of the object. See hash(const char* value) for details of the implementation. | |
uint08 | hashUpper () const |
Creates a simple, quick hash of the object. See hash(const char* value) for details of the implementation. | |
bool | hasSubString (const char *sub_string, bool ignore_case=false) const |
Tests if this String contains the specified substring. | |
bool | hasSubString (const String &sub_string, bool ignore_case=false) const |
Tests if this String contains the specified substring. | |
uint04 | indexOf (const char &sub_string) const |
Given a substring specified by the input, returns the first index of that string, if it exists. | |
uint04 | indexOf (const char &sub_string, uint04 start_pos) const |
Given a substring specified by the input, returns the first index of that string, if it exists. | |
uint04 | indexOf (const char &sub_string, uint04 start_pos, uint04 size) const |
Given a substring specified by the input, returns the first index of that string, if it exists. | |
uint04 | indexOf (const char *sub_string, bool ignore_case, uint04 start_index, uint04 size) const |
Given a substring specified by the input, returns the first index of that string, if it exists. | |
uint04 | indexOf (const char *sub_string, bool ignore_case=false, uint04 start_index=0) const |
Given a substring specified by the input, returns the first index of that string, if it exists. | |
uint04 | indexOf (const char *sub_string, char escape_char, bool ignore_case=false, uint04 start_index=0) const |
Given a substring specified by the input, returns the first index of that string, if it exists. | |
uint04 | indexOf (const String &sub_string, bool ignore_case=false, uint04 start_index=0) const |
Given a substring specified by the input, returns the first index of that string, if it exists. | |
String | insertNewLines (uint04 max_line_size) const |
Finds key areas to insert new lines such that the rows are at most, the length provided. | |
bool | isNumeric () const |
Checks to see if the string is a numeric string. | |
bool | isSameNoCase (const String &s) const |
Checks whether two strings match in a case-insensitive way. | |
uint04 | lastIndexOf (const char *sub_string, bool ignore_case=false) const |
Given a substring specified by the input, returns the last index of that string, if it exists. | |
uint04 | lastIndexOf (const char value, bool ignore_case=false) const |
Given a value specified by the input, returns the last index of that char, if it exists. | |
bool | matchesWildcard (const String &pattern) const |
Checks whether two strings match allowing '' to be used as a wildcard pattern. For example, String("Hello").matchesWildcard("*ll") would return true. | |
operator uint04 () const | |
operator uint08 () const | |
bool | operator!= (const char *const value) const |
template<std::size_t t_size> | |
bool | operator!= (const char(&string)[t_size]) |
bool | operator!= (const String &value) const |
size_t | operator() () const |
bool | operator< (const String &value) const |
String & | operator= (const String &value) |
String & | operator= (String &&value) noexcept |
bool | operator== (const char *const value) const |
template<std::size_t t_size> | |
bool | operator== (const char(&string)[t_size]) |
bool | operator== (const String &value) const |
bool | operator> (const String &value) const |
String | predictNextStringIncrement () const |
Looks in the string for key markers that might be an index, and attempts to increment the index. If no index is found a "1" will be inserted to the end of the string. | |
String & | removeNonAlphaNumeric (bool remove_tab=true, bool remove_space=true, bool remove_new_line=true, bool remove_r=true, bool remove_numbers=false) |
Removes any characters that aren't numbers or letters with other options available. | |
String & | removeNonNumeric () |
Removes anything that is not a number or decimal ('0'-'9' or .) | |
String & | replace (const Buffer< String, uint04, ObjectAllocator< false > > &sub_string, const Buffer< String, uint04, ObjectAllocator< false > > &replace_sub_string, bool ignore_case=false) |
Replaces ALL instances of the given substrings with the provided replacements. This allows safe replacement when the replacement string might contain the same data being replaced. | |
String & | replace (const String &sub_string, const String &replace_sub_string, bool ignore_case=false) |
Replaces ALL instances of a given substring with the provided replacement. | |
String | shortenString (uint04 size) const |
Shortans the string to the max size provided. If string is longer, searches for an ideal place to insert "...". | |
Buffer< String, uint04, ObjectAllocator< false > > | splitString (char delimiter, bool preserve_empty=true) const |
Given a delimiter, breaks the string into subsections, returning an array of each subsection. If the String is empty, an empty String will be appended to the output if preserve_empty is true. | |
void | splitString (char delimiter, Buffer< String, uint04, ObjectAllocator< false > > &strings, bool preserve_empty=true) const |
Given multiple delimiter, breaks the string into subsections, and APPENDS each substring to the given Buffer. If the String is empty, an empty Buffer will be appended if preserve_empty is true. | |
Buffer< String, uint04, ObjectAllocator< false > > | splitString (const Buffer< char > &delimiter, bool preserve_empty=true) const |
Given multiple delimiter, breaks the string into subsections, returning an array of each subsection. If the String is empty, an empty String will be appended to the output if preserve_empty is true. For example, String("The quick, dog,,jumped").splitString({',', ' '}, true) would return {"The", "quick", "dog", "", "jumped"}. | |
void | splitString (const Buffer< char > &delimiter, Buffer< String, uint04, ObjectAllocator< false > > &strings, bool preserve_empty=true) const |
Given multiple delimiter, breaks the string into subsections, and APPENDS each substring to the given Buffer. If the String is empty, an empty String will be appended if preserve_empty is true. | |
String () | |
Constructor used to create an empty String*. | |
String (const char *const string, uint04 size) | |
String Constructor char arrays when the size is known. Slightly faster than iterating over a null-terminated array. | |
String (const char *string) | |
String Constructor for null terminated array of chars. | |
template<std::size_t N> | |
String (const char(&string)[N]) | |
String Constructor for static char arrays. | |
String (const String &string) | |
Copy Constructor. | |
template<class t_type > | |
String (const t_type &value) | |
String Constructor that creates a string based off an object. To use this function an object must have overwritten StringStream<t_type>::toString. | |
template<std::size_t N> | |
String (const wchar(&string)[N]) | |
String Constructor for static wchar arrays of UTF16 data. | |
String (String &&string) noexcept | |
Move contructor (No new memory allocation). | |
String (uint04 size, const char &value) | |
String Constructor creates a string of a size and fills it with a character. | |
String | substr (uint04 start) const |
Creates a substring from a given start position, to the end of the string. | |
String | substr (uint04 start, uint04 end) const |
Creates a substring from a given start position, to the given end position, non-inclusive of the end index. If the end index is greater than the size of the string, all data past start is returned. | |
String | toLower () const |
changes all upper case characters into lower case characters. | |
String | toUpper () const |
changes all lower case characters into upper case characters. | |
String & | trimWhiteSpace () |
Trims any white space (tabs, spaces, etc) from the beginning and end of the string. | |
Public Member Functions inherited from Buffer< char, uint04, ObjectAllocator< true >, BufferAllocator< char, uint04, true > > | |
void | add (char &&object) |
Adds object to the end of the buffer. | |
void | add (const char &object) |
Adds object to the end of the buffer. | |
void | add (uint04 location, char &&object) |
Adds an object to a specific location. Equivelent to insert. | |
void | add (uint04 location, const char &object) |
Adds and object to a specific location. Equivelent to insert. | |
void | addAll (const Buffer< char, t_other_index_type, t_other_memory_allocator, t_other_memory_manager > &buffer) |
void | addAll (const char *buffer) |
void | addAll (const char *buffer, uint04 buffer_size) |
void | addAndFillSpace (uint04 space_to_add, const char &fill_object) |
void | addSpace (uint04 location, uint04 size) |
void | addSpace (uint04 space_to_add) |
Adds a space to the end of the buffer. | |
decltype(auto) | begin () |
decltype(auto) | begin () const |
decltype(auto) | begin (uint04 index) const |
constexpr | Buffer () |
constexpr | Buffer (Buffer &&buffer) noexcept |
constexpr | Buffer (const Buffer &buffer) |
Buffer (const char *buffer, uint04 size) | |
Buffer (const t_iterator &begin, const t_iterator &end) | |
Buffer (std::initializer_list< char > l) | |
Buffer (uint04 size) | |
Buffer (uint04 size, const char &fill_object) | |
uint04 | capacity () const |
void | clear () |
void | clear (uint04 new_capacity) |
sint04 | compare (const Buffer &value) const |
Compares this Buffer to another to determine their relative ordering. | |
sint04 | compare (const Buffer &value, uint04 start, uint04 end) const |
bool | contains (const char &element) const |
bool | contains (const char &element, const std::function< bool(const char &, const char &)> &equal_function) const |
bool | contains (const char &element, uint04 start) const |
bool | contains (const char &element, uint04 start, uint04 search_size) const |
uint04 | count (const char &element) const |
decltype(auto) | end () |
decltype(auto) | end () const |
decltype(auto) | end (uint04 index) |
void | ensureCapacity (uint04 new_capacity, bool ensure_not_greater=false, bool ensure_not_less=true) |
bool | equals (const Buffer &buffer) const |
decltype(auto) | get (uint04 index) |
decltype(auto) | get (uint04 index) const |
Buffer | getAll (uint04 start, uint04 size) |
Buffer< t_other_type, t_other_index_type, t_other_memory_allocator, t_other_memory_manager > | getAs () const |
Gets a copy of this buffer, with filled objects t_other_type, where all objects are created using the contents of this buffer. | |
uint04 | indexOf (const char &element) const |
uint04 | indexOf (const char &element, uint04 start_pos) const |
uint04 | indexOf (const char &element, uint04 start_pos, uint04 search_size) const |
void | insert (const uint04 location, const char *buffer) |
Inserts data into the buffer, assumed to be null terminated. | |
void | insert (uint04 location, char &&object) |
Adds an object to a specific location. | |
void | insert (uint04 location, const char &object) |
Adds an object to a specific location. | |
void | insert (uint04 offset, const Buffer &buffer) |
void | insert (uint04 offset, const char *const buffer, uint04 buffer_size) |
Inserts data into the buffer. | |
bool | isEmpty () const |
bool | isSorted () const |
bool | isSortedSet () const |
decltype(auto) | last () |
decltype(auto) | last () const |
uint04 | lastIndexOf (const char &element) const |
constexpr BufferAllocator< char, uint04, true > & | memoryInterface () |
constexpr const BufferAllocator< char, uint04, true > & | memoryInterface () const |
uint04 | memSize () const |
void | move (uint04 from, uint04 to) |
operator char * () | |
Gets the first location of type* in the array. | |
operator const char * () const | |
Gets the first location of type* in the array. | |
bool | operator!= (const Buffer &buffer) const |
Buffer | operator+ (const Buffer &value) const |
Buffer | operator+ (const char &element) const |
Buffer & | operator+= (const Buffer &value) |
const Buffer & | operator+= (const char &element) |
bool | operator< (const Buffer &buffer) const |
bool | operator<= (const Buffer &buffer) const |
Buffer & | operator= (Buffer &&buffer) noexcept |
Buffer & | operator= (const Buffer &buffer) |
bool | operator== (const Buffer &buffer) const |
bool | operator> (const Buffer &buffer) const |
bool | operator>= (const Buffer &buffer) const |
decltype(auto) | operator[] (const int index) |
decltype(auto) | operator[] (const int index) const |
decltype(auto) | operator[] (const uint04 index) |
decltype(auto) | operator[] (const uint04 value) const |
void | primitiveSort () |
decltype(auto) | ptr () |
decltype(auto) | ptr () const |
void | removeAllIndex (uint04 start, uint04 end) |
void | removeAllIndices (const t_range_buffer &ranges) |
void | removeAllOrdered (const char &object) |
Removes all instances of the object. Function is slower than removeAllUnordered but order is preserved. | |
void | removeAllOrderedFn (const t_functor &functor) |
Removes all items based on the functor. The functor should return true if the item is deleted or false if the item should stay in the array. Function is slower than removeAllUnordered but order is preserved. | |
void | removeAllUnordered (const char &object) |
Removes all unordered described by object. This function does not preserve the order of the buffer. | |
void | removeAllUnordered (const t_functor &functor) |
Removes all items based on the functor. The functor should return true if the item is deleted or false if the item should stay in the array. Faster function then removeAllOrdered but order is not preserved. | |
bool | removeElement (const char &element) |
void | removeIndex (uint04 location) |
void | removeIndexBackSwap (uint04 location) |
void | removeLast () |
void | replaceAll (const char &var, const char &replacement) |
void | replaceIndexRange (uint04 offset, uint04 replace_size, const Buffer &buffer) |
void | resize (uint04 new_size) |
void | reverse () |
void | reverse (const uint04 start, const uint04 end) |
void | setAll (const Buffer &buffer, uint04 offset, uint04 other_offset, uint04 size) |
void | setAll (const Buffer &buffer, uint04 offset, uint04 size) |
void | setAll (const t_o_type *src, uint04 offset, uint04 size) |
void | setAllToValue (const t_o_type &fill_element, const uint04 offset=0, uint04 fill_size=Constant< uint04 >::Invalid) |
void | setSize (const uint04 new_size, const char &fill_element) |
void | setSize (uint04 new_size) |
void | setUnique () |
void | setUniquePresorted () |
constexpr uint04 | size () const |
void | sort () |
uint04 | sortAboutValue (uint04 value_index) |
uint04 | sortAboutValue (uint04 value_index, uint04 start, uint04 end) |
void | sortRange (uint04 start, uint04 end) |
void | swapAllElements (const char &element1, const char &element2) |
void | swapElements (const char &element1, const char &element2) |
void | swapIndices (uint04 index_1, uint04 index_2) |
~Buffer () | |
Static Public Member Functions | |
static bool | AlphaNumericCompare (const String &left, const String &right) |
Compares two strings given their alpha-numeric determined value. | |
static String | ConvertToCharString (uint04 number) |
Converts a number into a char string. For example 0 will become 'A' and 27 will become 'AA'. | |
template<class t_type > | |
static TranslatedString | DisplayString (const t_type &value) |
Converts an object into a TranslatedString. To use this function an object must have overwritten StringStream<t_type>::toDisplayString. | |
static constexpr uint08 | hash (const char *value) |
constexpr method to hash a value. Also provides the hashing method used throughout the API to hash strings. | |
static bool | IsWhiteSpace (char s) |
Checks whether a given character is a whitespace character or not. | |
static String | NumberString (fltp08 value, bool add_comma, uint04 min_decimals, uint04 max_decimals, uint04 min_digits, char decimal='.', char comma=',') |
Creates a string from a given number using the provided rules. | |
static constexpr uint04 | str_len (const char *value) |
constexpr method to get the length of a null-terminated string at compile time | |
static constexpr uint04 | str_len (const wchar *value) |
constexpr method to get the UTF8 length of a null-terminated string at compile time | |
static String | ToHex (char value) |
Converts the memory of the given object into a hexidecimal string. | |
template<class t_object , class t_allocator , class t_buff > | |
static String | ToHex (const Buffer< t_object, t_allocator, t_buff > &values) |
Converts a buffer of objects into a hexidecimal string. | |
static String | ToHex (const String &values) |
Converts a string of any type of data (assumed to be binary) into a hex representation. | |
template<uint01 t_size, class t_type > | |
static String | ToHex (const Vector< t_size, t_type > &values) |
Converts a vector into a hex representation. | |
template<class t_object > | |
static std::enable_if< ObjectInfo< t_object >::Integer, String >::type | ToHex (t_object value) |
Converts the memory of the given object into a hexidecimal string. | |
static String | ToHex (uint01 value) |
Converts the memory of the given object into a hexidecimal string. | |
static String | UTF16toUTF8 (const wchar *unicode, uint04 &advance) |
static wchar | UTF8toUTF16 (const char *utf8, uint04 &advance) |
Converts a unicode null terminated string of chars into a UTF16 wchar and increments advance by the ammount of characters consumed to make the UTF16 character. | |
Static Public Member Functions inherited from Buffer< char, uint04, ObjectAllocator< true >, BufferAllocator< char, uint04, true > > | |
static constexpr char | Type () |
The core String class for the NDEVR API.
This String class:
See StringStream for details on providing a definition that will allow any object to be used as a constructor for String, or convert a String into any object using getAs<...>()
The string container is guaranteed to be null-terminated meaning that c_str() and begin() will both point directly into the data structure.
TranslatedString should be used, when possible, for any data that will be displayed to the user.
Strings can be used in case statements using string.hash[upper/lower]()
Since the String is null terminated, declaring a String using String(256) will allocate 257 bytes on the heap. Thus for memory management, block sizes should be one smaller.
String | ( | ) |
Constructor used to create an empty String*.
|
inline |
String Constructor for static char arrays.
[in] | string | The array of characters making up the string. Should be in Unicode (UTF8) |
String Constructor for static wchar arrays of UTF16 data.
[in] | string | UTF16 array of characters making up the string, will be converted to UTF8. |
|
inline |
String Constructor for null terminated array of chars.
[in] | string | The array of characters making up the string. Should be in Unicode (UTF8) and null terminated. |
String Constructor char arrays when the size is known. Slightly faster than iterating over a null-terminated array.
[in] | string | The array of characters making up the string. Should be in Unicode (UTF8) |
[in] | size | The size of the string |
String Constructor creates a string of a size and fills it with a character.
[in] | size | The size of the string |
[in] | value | The value to set all characters in the string to. |
|
inlineexplicit |
String Constructor that creates a string based off an object. To use this function an object must have overwritten StringStream<t_type>::toString.
[in] | value | The value to use as a reference to generate a string representation. |
void addUTF16AsUTF8 | ( | const wchar * | unicode | ) |
Converts a unicode null terminated string of UTF16 wchars into UTF8 and appends it to the end of the String.
[in] | unicode | The UTF16 null-terminated string of chars to append to this string |
Converts a single unicode character at advance into UTF8 and appends it to the end of the String.
[in] | unicode | The UTF16 string of chars to append to this string |
[in,out] | advance | the location in unicode to append, will be incremented based on number of UT16 characters consumed (1 or 2). |
void addWChar | ( | const wchar & | object | ) |
Converts a single unicode character UTF16 character into one or more UTF8 characters and appends them to the end of this String.
[in] | object | The UTF16 encoded object to append. |
String & addWhiteSpace | ( | uint04 | desired_string_size, |
uint04 | desired_right_alignment_location = 0, | ||
char | whitespace = ' ' ) |
Used for formatting, will, if necessary, add white space so that the string becomes a certain length. desired_right_alignment_location Will try and align the string to a location by prepending whitspace. desired_string_size will append space to try and make the string a given size.
[in] | desired_string_size | The size the string should be once whitespace is added to the end. |
[in] | desired_right_alignment_location | If the string is smaller than desired_right_alignment_location will add whitespace until the rightmost terminating index is equal to desired_right_alignment_location. |
[in] | whitespace | the character to use for whitespace. |
Compares two strings given their alpha-numeric determined value.
Appends a string to the back of this string.
[in] | string | The string to append. |
bool beginsWith | ( | const String & | s, |
bool | ignore_case = false ) const |
const char * c_str | ( | ) | const |
Used to access the raw memory of this string.
Converts a number into a char string. For example 0 will become 'A' and 27 will become 'AA'.
[in] | number | The number to convert to a character representation. |
|
static |
Converts an object into a TranslatedString. To use this function an object must have overwritten StringStream<t_type>::toDisplayString.
bool endsWith | ( | const String & | s, |
bool | ignore_case = false ) const |
String & formatAsTitleString | ( | ) |
Formats the string to be a title, capitalizing important characters and replacing underscores with spaces.
For a string representing a number, makes the decimals equal to the the provided value and adds comma seperators if number is large enough.
[in] | add_comma | Adds comma seperators if number is large enough |
[in] | decimals | the set number of decimals the string should have. |
String & formatNumberString | ( | bool | add_comma, |
uint04 | min_decimals, | ||
uint04 | max_decimals, | ||
uint04 | min_digits, | ||
char | decimal = '.', | ||
char | comma = ',' ) |
Modifies the contents of this string, that represents a given number using the provided rules.
[in] | add_comma | Adds comma seperators if number is large enough |
[in] | min_decimals | The minimum number of decimals the formatted number should have (will add 0's to end) |
[in] | max_decimals | The maximum number of decimals the formatted number should have (will remove more decimals) |
[in] | min_digits | The minimum number of digits the formatted number should have (will add 0's to the begining) |
[in] | decimal | The character to use as the decimal ('.') |
[in] | comma | The character to use as the comma (',') |
For a string representing a number, makes the decimals equal to the the provided value Example: String("1000000").formatNumberString(2); will make "1000000.00".
[in] | decimals | the set number of decimals the string should have. |
uint04 fromHex | ( | ) | const |
Converts a hex value into an unsigned 4 byte number.
|
inline |
Converts a string into an object. To use this function an object must have overwritten StringStream<t_type>::fromString.
uint08 hash | ( | ) | const |
Creates a simple, quick hash of the object. See hash(const char* value) for details of the implementation.
|
inlinestaticconstexpr |
constexpr method to hash a value. Also provides the hashing method used throughout the API to hash strings.
uint08 hashLower | ( | ) | const |
Creates a simple, quick hash of the object. See hash(const char* value) for details of the implementation.
uint08 hashUpper | ( | ) | const |
Creates a simple, quick hash of the object. See hash(const char* value) for details of the implementation.
bool hasSubString | ( | const char * | sub_string, |
bool | ignore_case = false ) const |
bool hasSubString | ( | const String & | sub_string, |
bool | ignore_case = false ) const |
|
inline |
Given a substring specified by the input, returns the first index of that string, if it exists.
[in] | sub_string | the value to find in the String |
Given a substring specified by the input, returns the first index of that string, if it exists.
[in] | sub_string | the value to find in the String |
[in] | start_pos | The index of where to begin searching for the sub_string. |
Given a substring specified by the input, returns the first index of that string, if it exists.
[in] | sub_string | the value to find in the String |
[in] | start_pos | The index of where to begin searching for the sub_string. |
[in] | size | The max span to continue searching for the sub_string. The sub_string must entirely reside within the span from start_pos to sie to be valid. |
Given a substring specified by the input, returns the first index of that string, if it exists.
[in] | sub_string | the value to find in the String |
[in] | ignore_case | whether or not to check using case sensitivity. |
[in] | start_index | The index of where to begin searching for the sub_string. |
[in] | size | The max span to continue searching for the sub_string. The sub_string must entirely reside within the span from start_pos to sie to be valid. |
Given a substring specified by the input, returns the first index of that string, if it exists.
[in] | sub_string | the value to find in the String |
[in] | ignore_case | whether or not to check using case sensitivity. |
[in] | start_index | The index of where to begin searching for the sub_string. |
uint04 indexOf | ( | const char * | sub_string, |
char | escape_char, | ||
bool | ignore_case = false, | ||
uint04 | start_index = 0 ) const |
Given a substring specified by the input, returns the first index of that string, if it exists.
[in] | sub_string | the value to find in the String |
[in] | escape_char | The char that when encountered, ends the search. |
[in] | ignore_case | whether or not to check using case sensitivity. |
[in] | start_index | The index of where to begin searching for the sub_string. |
uint04 indexOf | ( | const String & | sub_string, |
bool | ignore_case = false, | ||
uint04 | start_index = 0 ) const |
Given a substring specified by the input, returns the first index of that string, if it exists.
[in] | sub_string | the value to find in the String |
[in] | ignore_case | whether or not to check using case sensitivity. |
[in] | start_index | The index of where to begin searching for the sub_string. |
Finds key areas to insert new lines such that the rows are at most, the length provided.
[in] | max_line_size | The max size of any row of the resulting string |
bool isNumeric | ( | ) | const |
Checks to see if the string is a numeric string.
bool isSameNoCase | ( | const String & | s | ) | const |
Checks whether two strings match in a case-insensitive way.
[in] | s | The string to compare against |
|
static |
Checks whether a given character is a whitespace character or not.
[in] | s | the character to check against. |
uint04 lastIndexOf | ( | const char * | sub_string, |
bool | ignore_case = false ) const |
Given a substring specified by the input, returns the last index of that string, if it exists.
[in] | sub_string | the value to find in the String |
[in] | ignore_case | whether or not to check using case sensitivity. |
uint04 lastIndexOf | ( | const char | value, |
bool | ignore_case = false ) const |
Given a value specified by the input, returns the last index of that char, if it exists.
[in] | value | the value to find in the String |
[in] | ignore_case | whether or not to check using case sensitivity. |
bool matchesWildcard | ( | const String & | pattern | ) | const |
Checks whether two strings match allowing '' to be used as a wildcard pattern. For example, String("Hello").matchesWildcard("*ll") would return true.
[in] | pattern | The pattern used to check the string against. |
|
static |
Creates a string from a given number using the provided rules.
[in] | value | The value to convert to a string. |
[in] | add_comma | Adds comma seperators if number is large enough |
[in] | min_decimals | The minimum number of decimals the formatted number should have (will add 0's to end) |
[in] | max_decimals | The maximum number of decimals the formatted number should have (will remove more decimals) |
[in] | min_digits | The minimum number of digits the formatted number should have (will add 0's to the begining) |
[in] | decimal | The character to use as the decimal ('.') |
[in] | comma | The character to use as the comma (',') |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
bool operator< | ( | const String & | value | ) | const |
|
inline |
|
inline |
|
inline |
bool operator> | ( | const String & | value | ) | const |
String predictNextStringIncrement | ( | ) | const |
Looks in the string for key markers that might be an index, and attempts to increment the index. If no index is found a "1" will be inserted to the end of the string.
String & removeNonAlphaNumeric | ( | bool | remove_tab = true, |
bool | remove_space = true, | ||
bool | remove_new_line = true, | ||
bool | remove_r = true, | ||
bool | remove_numbers = false ) |
Removes any characters that aren't numbers or letters with other options available.
[in] | remove_tab | Whether or not to remove tabs |
[in] | remove_space | Whether or not to remove spaces |
[in] | remove_new_line | Whether or not to remove new lines '\n' |
[in] | remove_r | Whether or not to remove carage return '\r' |
[in] | remove_numbers | Whether or not to remove numbers. |
String & removeNonNumeric | ( | ) |
Removes anything that is not a number or decimal ('0'-'9' or .)
String & replace | ( | const Buffer< String, uint04, ObjectAllocator< false > > & | sub_string, |
const Buffer< String, uint04, ObjectAllocator< false > > & | replace_sub_string, | ||
bool | ignore_case = false ) |
Replaces ALL instances of the given substrings with the provided replacements. This allows safe replacement when the replacement string might contain the same data being replaced.
[in] | sub_string | The subsrings to replace |
[in] | replace_sub_string | The strings to replace ALL instances of the provided sub_string with. |
[in] | ignore_case | whether or not to check using case sensitivity checks. This will not affect the replacement value, only which parts to replace. |
String & replace | ( | const String & | sub_string, |
const String & | replace_sub_string, | ||
bool | ignore_case = false ) |
Replaces ALL instances of a given substring with the provided replacement.
[in] | sub_string | The subsring to replace |
[in] | replace_sub_string | The string to replace ALL instances of the provided sub_string with. |
[in] | ignore_case | whether or not to check using case sensitivity checks. This will not affect the replacement value, only which parts to replace. |
Shortans the string to the max size provided. If string is longer, searches for an ideal place to insert "...".
[in] | size | The max size of the new string. |
Buffer< String, uint04, ObjectAllocator< false > > splitString | ( | char | delimiter, |
bool | preserve_empty = true ) const |
Given a delimiter, breaks the string into subsections, returning an array of each subsection. If the String is empty, an empty String will be appended to the output if preserve_empty is true.
For example, String("The quick, dog,,jumped").splitString(',', true) would return {"The quick", " dog", "", "jumped"}
[in] | delimiter | The delimiter to split the string |
[in] | preserve_empty | If true, when two delimiters are encountered, an empty string is added to the return Buffer. If false, there will be no added empty strings. |
void splitString | ( | char | delimiter, |
Buffer< String, uint04, ObjectAllocator< false > > & | strings, | ||
bool | preserve_empty = true ) const |
Given multiple delimiter, breaks the string into subsections, and APPENDS each substring to the given Buffer. If the String is empty, an empty Buffer will be appended if preserve_empty is true.
[in] | delimiter | The delimiter to split the string |
[in] | preserve_empty | If true, when two delimiters are encountered, an empty string is added to the return Buffer. If false, there will be no added empty strings. |
[out] | strings | will be appended with substrings that were broken apart from this string using the delimiter. |
Buffer< String, uint04, ObjectAllocator< false > > splitString | ( | const Buffer< char > & | delimiter, |
bool | preserve_empty = true ) const |
Given multiple delimiter, breaks the string into subsections, returning an array of each subsection. If the String is empty, an empty String will be appended to the output if preserve_empty is true. For example, String("The quick, dog,,jumped").splitString({',', ' '}, true) would return {"The", "quick", "dog", "", "jumped"}.
[in] | delimiter | The delimiter to split the string |
[in] | preserve_empty | If true, when two delimiters are encountered, an empty string is added to the return Buffer. If false, there will be no added empty strings. |
void splitString | ( | const Buffer< char > & | delimiter, |
Buffer< String, uint04, ObjectAllocator< false > > & | strings, | ||
bool | preserve_empty = true ) const |
Given multiple delimiter, breaks the string into subsections, and APPENDS each substring to the given Buffer. If the String is empty, an empty String will be appended if preserve_empty is true.
[in] | delimiter | The delimiter to split the string |
[in] | preserve_empty | If true, when two delimiters are encountered, an empty string is added to the return Buffer. If false, there will be no added empty strings. |
[out] | strings | will be appended with substrings that were broken apart from this string using the delimiter. |
|
inlinestaticconstexpr |
constexpr method to get the length of a null-terminated string at compile time
[in] | value | A null terminated string. |
constexpr method to get the UTF8 length of a null-terminated string at compile time
[in] | value | A null-terminated UTF16 wchar string. |
Creates a substring from a given start position, to the end of the string.
[in] | start | The index where to start the substring. |
Creates a substring from a given start position, to the given end position, non-inclusive of the end index. If the end index is greater than the size of the string, all data past start is returned.
[in] | start | the index where to start the substring. |
[in] | end | the index where to end the substring (non-inclusive). |
|
static |
Converts the memory of the given object into a hexidecimal string.
[in] | value | The value to convert to a hex form. |
|
inlinestatic |
Converts a buffer of objects into a hexidecimal string.
[in] | values | The values to convert to a hex form. |
Converts a string of any type of data (assumed to be binary) into a hex representation.
[in] | values | Raw binary data in the form of a string. |
|
inlinestatic |
Converts a vector into a hex representation.
[in] | values | Raw binary data in the form of a string. |
|
inlinestatic |
Converts the memory of the given object into a hexidecimal string.
[in] | value | The value to convert to a hex form. |
Converts the memory of the given object into a hexidecimal string.
[in] | value | The value to convert to a hex form. |
String toLower | ( | ) | const |
changes all upper case characters into lower case characters.
String toUpper | ( | ) | const |
changes all lower case characters into upper case characters.
String & trimWhiteSpace | ( | ) |
Trims any white space (tabs, spaces, etc) from the beginning and end of the string.
Converts a single unicode character at advance into UTF8 and and returns it as a String
[in] | unicode | The UTF16 string of chars to append to this string |
[in,out] | advance | the location in unicode to append, will be incremented based on number of UT16 characters consumed (1 or 2). |
Converts a unicode null terminated string of chars into a UTF16 wchar and increments advance by the ammount of characters consumed to make the UTF16 character.
[in] | utf8 | the UTF8 value to convert to UTF16. |
[in,out] | advance | The advance from the start of utf8 which will be incremented by this function. |