arsa
2.7
|
Very simple string class with some useful features. More...
#include <irrString.h>
Public Types | |
typedef T | char_type |
Public Member Functions | |
string () | |
Default constructor. More... | |
string (const string< T, TAlloc > &other) | |
Constructor. More... | |
template<class B , class A > | |
string (const string< B, A > &other) | |
Constructor from other string types. More... | |
string (const double number) | |
Constructs a string from a float. More... | |
string (int number) | |
Constructs a string from an int. More... | |
string (unsigned int number) | |
Constructs a string from an unsigned int. More... | |
string (long number) | |
Constructs a string from a long. More... | |
string (unsigned long number) | |
Constructs a string from an unsigned long. More... | |
template<class B > | |
string (const B *const c, u32 length) | |
Constructor for copying a string from a pointer with a given length. More... | |
template<class B > | |
string (const B *const c) | |
Constructor for Unicode and ASCII strings. More... | |
~string () | |
Destructor. More... | |
string< T, TAlloc > & | operator= (const string< T, TAlloc > &other) |
Assignment operator. More... | |
template<class B , class A > | |
string< T, TAlloc > & | operator= (const string< B, A > &other) |
Assignment operator for other string types. More... | |
template<class B > | |
string< T, TAlloc > & | operator= (const B *const c) |
Assignment operator for strings, ASCII and Unicode. More... | |
string< T, TAlloc > | operator+ (const string< T, TAlloc > &other) const |
Append operator for other strings. More... | |
template<class B > | |
string< T, TAlloc > | operator+ (const B *const c) const |
Append operator for strings, ASCII and Unicode. More... | |
T & | operator [] (const u32 index) |
Direct access operator. More... | |
const T & | operator [] (const u32 index) const |
Direct access operator. More... | |
bool | operator== (const T *const str) const |
Equality operator. More... | |
bool | operator== (const string< T, TAlloc > &other) const |
Equality operator. More... | |
bool | operator< (const string< T, TAlloc > &other) const |
Is smaller comparator. More... | |
bool | operator!= (const T *const str) const |
Inequality operator. More... | |
bool | operator!= (const string< T, TAlloc > &other) const |
Inequality operator. More... | |
u32 | size () const |
Returns length of the string's content. More... | |
bool | empty () const |
void | clear (bool releaseMemory=true) |
const T * | c_str () const |
Returns character string. More... | |
string< T, TAlloc > & | make_lower () |
Makes the string lower case. More... | |
string< T, TAlloc > & | make_upper () |
Makes the string upper case. More... | |
bool | equals_ignore_case (const string< T, TAlloc > &other) const |
Compares the strings ignoring case. More... | |
bool | equals_substring_ignore_case (const string< T, TAlloc > &other, const s32 sourcePos=0) const |
Compares the strings ignoring case. More... | |
bool | lower_ignore_case (const string< T, TAlloc > &other) const |
Compares the strings ignoring case. More... | |
bool | equalsn (const string< T, TAlloc > &other, u32 n) const |
compares the first n characters of the strings More... | |
bool | equalsn (const T *const str, u32 n) const |
compares the first n characters of the strings More... | |
string< T, TAlloc > & | append (T character) |
Appends a character to this string. More... | |
string< T, TAlloc > & | append (const T *const other, u32 length=0xffffffff) |
Appends a char string to this string. More... | |
string< T, TAlloc > & | append (const string< T, TAlloc > &other) |
Appends a string to this string. More... | |
string< T, TAlloc > & | append (const string< T, TAlloc > &other, u32 length) |
Appends a string of the length l to this string. More... | |
string< T, TAlloc > & | insert (u32 pos, const char *s, u32 n) |
Insert a certain amount of characters into the string before the given index. More... | |
void | reserve (u32 count) |
Reserves some memory. More... | |
s32 | findFirst (T c) const |
finds first occurrence of character in string More... | |
s32 | findFirstChar (const T *const c, u32 count=1) const |
finds first occurrence of a character of a list in string More... | |
template<class B > | |
s32 | findFirstCharNotInList (const B *const c, u32 count=1) const |
Finds first position of a character not in a given list. More... | |
template<class B > | |
s32 | findLastCharNotInList (const B *const c, u32 count=1) const |
Finds last position of a character not in a given list. More... | |
s32 | findNext (T c, u32 startPos) const |
finds next occurrence of character in string More... | |
s32 | findLast (T c, s32 start=-1) const |
finds last occurrence of character in string More... | |
s32 | findLastChar (const T *const c, u32 count=1) const |
finds last occurrence of a character of a list in string More... | |
template<class B > | |
s32 | find (const B *const str, const u32 start=0) const |
finds another string in this string More... | |
string< T > | subString (u32 begin, s32 length, bool make_lower=false) const |
Returns a substring. More... | |
string< T, TAlloc > & | operator+= (T c) |
Appends a character to this string. More... | |
string< T, TAlloc > & | operator+= (const T *const c) |
Appends a char string to this string. More... | |
string< T, TAlloc > & | operator+= (const string< T, TAlloc > &other) |
Appends a string to this string. More... | |
string< T, TAlloc > & | operator+= (const int i) |
Appends a string representation of a number to this string. More... | |
string< T, TAlloc > & | operator+= (const unsigned int i) |
Appends a string representation of a number to this string. More... | |
string< T, TAlloc > & | operator+= (const long i) |
Appends a string representation of a number to this string. More... | |
string< T, TAlloc > & | operator+= (const unsigned long i) |
Appends a string representation of a number to this string. More... | |
string< T, TAlloc > & | operator+= (const double i) |
Appends a string representation of a number to this string. More... | |
string< T, TAlloc > & | operator+= (const float i) |
Appends a string representation of a number to this string. More... | |
string< T, TAlloc > & | replace (T toReplace, T replaceWith) |
Replaces all characters of a special type with another one. More... | |
string< T, TAlloc > & | replace (const string< T, TAlloc > &toReplace, const string< T, TAlloc > &replaceWith) |
Replaces all instances of a string with another one. More... | |
string< T, TAlloc > & | remove (T c) |
Removes characters from a string. More... | |
string< T, TAlloc > & | remove (const string< T, TAlloc > &toRemove) |
Removes a string from the string. More... | |
string< T, TAlloc > & | removeChars (const string< T, TAlloc > &characters) |
Removes characters from a string. More... | |
string< T, TAlloc > & | trim (const string< T, TAlloc > &whitespace=" \t\n\r") |
Trims the string. More... | |
string< T, TAlloc > & | eraseTrailingFloatZeros (char decimalPoint='.') |
Erase 0's at the end when a string ends with a floating point number. More... | |
string< T, TAlloc > & | erase (u32 index) |
Erases a character from the string. More... | |
string< T, TAlloc > & | validate () |
verify the existing string. More... | |
T | lastChar () const |
gets the last char of a string or null More... | |
template<class container > | |
u32 | split (container &ret, const T *const delimiter, u32 countDelimiters=1, bool ignoreEmptyTokens=true, bool keepSeparators=false) const |
Split string into parts (tokens). More... | |
Friends | |
size_t | multibyteToWString (string< wchar_t > &destination, const char *source, u32 sourceSize) |
Internally used by the other multibyteToWString functions. More... | |
Very simple string class with some useful features.
string<c8> and string<wchar_t> both accept Unicode AND ASCII/Latin-1, so you can assign Unicode to string<c8> and ASCII/Latin-1 to string<wchar_t> (and the other way round) if you want to.
However, note that the conversation between both is not done using any encoding. This means that c8 strings are treated as ASCII/Latin-1, not UTF-8, and are simply expanded to the equivalent wchar_t, while Unicode/wchar_t characters are truncated to 8-bit ASCII/Latin-1 characters, discarding all other information in the wchar_t.
Helper functions for converting between UTF-8 and wchar_t are provided outside the string class for explicit use.
Definition at line 37 of file irrString.h.
typedef T irr::core::string< T, TAlloc >::char_type |
Definition at line 98 of file irrString.h.
|
inline |
|
inline |
|
inline |
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inline |
Constructor for copying a string from a pointer with a given length.
Definition at line 295 of file irrString.h.
|
inline |
|
inline |
|
inline |
Appends a character to this string.
character | Character to append. |
Definition at line 634 of file irrString.h.
|
inline |
Appends a char string to this string.
other | Char string to append. |
length | The length of the string to append. |
Definition at line 651 of file irrString.h.
|
inline |
Appends a string to this string.
other | String to append. |
Definition at line 683 of file irrString.h.
|
inline |
Appends a string of the length l to this string.
other | other String to append to this string. |
length | How much characters of the other string to add to this one. |
Definition at line 706 of file irrString.h.
|
inline |
Returns character string.
Definition at line 526 of file irrString.h.
|
inline |
Definition at line 514 of file irrString.h.
|
inline |
Informs if the string is empty or not.
Definition at line 509 of file irrString.h.
|
inline |
Compares the strings ignoring case.
other | Other string to compare. |
Definition at line 553 of file irrString.h.
|
inline |
Compares the strings ignoring case.
other | Other string to compare. |
sourcePos | where to start to compare in the string |
Definition at line 566 of file irrString.h.
|
inline |
compares the first n characters of the strings
other | Other string to compare. |
n | Number of characters to compare |
Definition at line 600 of file irrString.h.
|
inline |
compares the first n characters of the strings
str | Other string to compare. |
n | Number of characters to compare |
Definition at line 617 of file irrString.h.
|
inline |
Erases a character from the string.
May be slow, because all elements following after the erased element have to be copied.
index | Index of element to be erased. |
Definition at line 1326 of file irrString.h.
|
inline |
Erase 0's at the end when a string ends with a floating point number.
After generating strings from floats we often end up with strings ending up with lots of zeros which don't add any value. Erase 'em all. Examples: "0.100000" becomes "0.1" "10.000000" becomes "10" "foo 3.140000" becomes "foo 3.14" "no_num.000" stays "no_num.000" "1." stays "1."
Definition at line 1295 of file irrString.h.
|
inline |
finds another string in this string
str | Another string |
start | Start position of the search |
Definition at line 916 of file irrString.h.
|
inline |
finds first occurrence of character in string
c | Character to search for. |
Definition at line 775 of file irrString.h.
|
inline |
finds first occurrence of a character of a list in string
c | List of characters to find. For example if the method should find the first occurrence of 'a' or 'b', this parameter should be "ab". |
count | Amount of characters in the list. Usually, this should be strlen(c) |
Definition at line 791 of file irrString.h.
|
inline |
Finds first position of a character not in a given list.
c | List of characters not to find. For example if the method should find the first occurrence of a character not 'a' or 'b', this parameter should be "ab". |
count | Amount of characters in the list. Usually, this should be strlen(c) |
Definition at line 813 of file irrString.h.
|
inline |
finds last occurrence of character in string
c | Character to search for. |
start | start to search reverse ( default = -1, on end ) |
Definition at line 879 of file irrString.h.
|
inline |
finds last occurrence of a character of a list in string
c | List of strings to find. For example if the method should find the last occurrence of 'a' or 'b', this parameter should be "ab". |
count | Amount of characters in the list. Usually, this should be strlen(c) |
Definition at line 896 of file irrString.h.
|
inline |
Finds last position of a character not in a given list.
c | List of characters not to find. For example if the method should find the first occurrence of a character not 'a' or 'b', this parameter should be "ab". |
count | Amount of characters in the list. Usually, this should be strlen(c) |
Definition at line 840 of file irrString.h.
|
inline |
finds next occurrence of character in string
c | Character to search for. |
startPos | Position in string to start searching. |
Definition at line 864 of file irrString.h.
|
inline |
Insert a certain amount of characters into the string before the given index.
Definition at line 737 of file irrString.h.
|
inline |
|
inline |
Compares the strings ignoring case.
other | Other string to compare. |
Definition at line 583 of file irrString.h.
|
inline |
|
inline |
|
inline |
Direct access operator.
Definition at line 430 of file irrString.h.
|
inline |
Direct access operator.
Definition at line 438 of file irrString.h.
|
inline |
Inequality operator.
Definition at line 486 of file irrString.h.
|
inline |
Inequality operator.
Definition at line 493 of file irrString.h.
|
inline |
|
inline |
|
inline |
Appends a character to this string.
c | Character to append. |
Definition at line 981 of file irrString.h.
|
inline |
Appends a char string to this string.
c | Char string to append. |
Definition at line 990 of file irrString.h.
|
inline |
Appends a string to this string.
other | String to append. |
Definition at line 999 of file irrString.h.
|
inline |
Appends a string representation of a number to this string.
i | Number to append. |
Definition at line 1008 of file irrString.h.
|
inline |
Appends a string representation of a number to this string.
i | Number to append. |
Definition at line 1017 of file irrString.h.
|
inline |
Appends a string representation of a number to this string.
i | Number to append. |
Definition at line 1026 of file irrString.h.
|
inline |
Appends a string representation of a number to this string.
i | Number to append. |
Definition at line 1035 of file irrString.h.
|
inline |
Appends a string representation of a number to this string.
i | Number to append. |
Definition at line 1044 of file irrString.h.
|
inline |
Appends a string representation of a number to this string.
i | Number to append. |
Definition at line 1053 of file irrString.h.
|
inline |
|
inline |
|
inline |
Assignment operator for other string types.
Definition at line 354 of file irrString.h.
|
inline |
|
inline |
|
inline |
|
inline |
Removes characters from a string.
c | Character to remove. |
Definition at line 1183 of file irrString.h.
|
inline |
Removes a string from the string.
toRemove | String to remove. |
Definition at line 1205 of file irrString.h.
|
inline |
Removes characters from a string.
characters | Characters to remove. |
Definition at line 1238 of file irrString.h.
|
inline |
Replaces all characters of a special type with another one.
toReplace | Character to replace. |
replaceWith | Character replacing the old one. |
Definition at line 1063 of file irrString.h.
|
inline |
Replaces all instances of a string with another one.
toReplace | The string to replace. |
replaceWith | The string replacing the old one. |
Definition at line 1075 of file irrString.h.
|
inline |
Reserves some memory.
count | Amount of characters to reserve. |
Definition at line 762 of file irrString.h.
|
inline |
Returns length of the string's content.
Definition at line 502 of file irrString.h.
|
inline |
Split string into parts (tokens).
This method will split a string at certain delimiter characters into the container passed in as reference. The type of the container has to be given as template parameter. It must provide a push_back and a size method.
ret | The result container. Tokens are added, the container is not cleared. |
delimiter | C-style string of delimiter characters |
countDelimiters | Number of delimiter characters |
ignoreEmptyTokens | Flag to avoid empty substrings in the result container. If two delimiters occur without a character in between or an empty substring would be placed in the result. Or if a delimiter is the last character an empty substring would be added at the end. If this flag is set, only non-empty strings are stored. |
keepSeparators | Flag which allows to add the separator to the result string. If this flag is true, the concatenation of the substrings results in the original string. Otherwise, only the characters between the delimiters are returned. |
Definition at line 1390 of file irrString.h.
|
inline |
Returns a substring.
begin | Start of substring. |
length | Length of substring. |
make_lower | copy only lower case |
Definition at line 948 of file irrString.h.
|
inline |
Trims the string.
Removes the specified characters (by default, Latin-1 whitespace) from the beginning and the end of the string.
Definition at line 1274 of file irrString.h.
|
inline |
|
friend |
Internally used by the other multibyteToWString functions.
Definition at line 1487 of file irrString.h.