Irrlicht 3D Engine
irr::core::string< T, TAlloc > Class Template Reference

#include <irrString.h>

List of all members.

Public Types

Public Member Functions


Detailed Description

template<typename T, typename TAlloc = irrAllocator<T>>
class irr::core::string< T, TAlloc >

Definition at line 73 of file irrString.h.


Member Typedef Documentation

template<typename T, typename TAlloc = irrAllocator<T>>
typedef T irr::core::string< T, TAlloc >::char_type

Definition at line 77 of file irrString.h.


Constructor & Destructor Documentation

template<typename T, typename TAlloc = irrAllocator<T>>
irr::core::string< T, TAlloc >::string ( ) [inline]

Default constructor.

Definition at line 80 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
irr::core::string< T, TAlloc >::string ( const string< T, TAlloc > &  other) [inline]

Constructor.

Definition at line 89 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
template<class B , class A >
irr::core::string< T, TAlloc >::string ( const string< B, A > &  other) [inline]

Constructor from other string types.

Definition at line 97 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
irr::core::string< T, TAlloc >::string ( const double  number) [inline, explicit]

Constructs a string from a float.

Definition at line 105 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
irr::core::string< T, TAlloc >::string ( int  number) [inline, explicit]

Constructs a string from an int.

Definition at line 115 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
irr::core::string< T, TAlloc >::string ( unsigned int  number) [inline, explicit]

Constructs a string from an unsigned int.

Definition at line 163 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
irr::core::string< T, TAlloc >::string ( long  number) [inline, explicit]

Constructs a string from a long.

Definition at line 194 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
irr::core::string< T, TAlloc >::string ( unsigned long  number) [inline, explicit]

Constructs a string from an unsigned long.

Definition at line 242 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
template<class B >
irr::core::string< T, TAlloc >::string ( const B *const  c,
u32  length 
) [inline]

Constructor for copying a string from a pointer with a given length.

Definition at line 274 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
template<class B >
irr::core::string< T, TAlloc >::string ( const B *const  c) [inline]

Constructor for unicode and ascii strings.

Definition at line 296 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
irr::core::string< T, TAlloc >::~string ( ) [inline]

Destructor.

Definition at line 304 of file irrString.h.


Member Function Documentation

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::append ( character) [inline]
template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::append ( const T *const  other,
u32  length = 0xffffffff 
) [inline]

Appends a char string to this string.

Parameters:
other,:Char string to append.
length,:The length of the string to append.

Definition at line 620 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::append ( const string< T, TAlloc > &  other) [inline]

Appends a string to this string.

Parameters:
other,:String to append.

Definition at line 652 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::append ( const string< T, TAlloc > &  other,
u32  length 
) [inline]

Appends a string of the length l to this string.

Parameters:
other,:other String to append to this string.
length,:How much characters of the other string to add to this one.

Definition at line 675 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
bool irr::core::string< T, TAlloc >::empty ( ) const [inline]

Informs if the string is empty or not.

Returns:
True if the string is empty, false if not.

Definition at line 488 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
bool irr::core::string< T, TAlloc >::equals_ignore_case ( const string< T, TAlloc > &  other) const [inline]

Compares the strings ignoring case.

Parameters:
other,:Other string to compare.
Returns:
True if the strings are equal ignoring case.

Definition at line 522 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
bool irr::core::string< T, TAlloc >::equals_substring_ignore_case ( const string< T, TAlloc > &  other,
const s32  sourcePos = 0 
) const [inline]

Compares the strings ignoring case.

Parameters:
other,:Other string to compare.
sourcePos,:where to start to compare in the string
Returns:
True if the strings are equal ignoring case.

Definition at line 535 of file irrString.h.

Referenced by irr::core::isFileExtension().

template<typename T, typename TAlloc = irrAllocator<T>>
bool irr::core::string< T, TAlloc >::equalsn ( const string< T, TAlloc > &  other,
u32  n 
) const [inline]

compares the first n characters of the strings

Parameters:
otherOther string to compare.
nNumber of characters to compare
Returns:
True if the n first characters of both strings are equal.

Definition at line 569 of file irrString.h.

Referenced by irr::core::isInSameDirectory().

template<typename T, typename TAlloc = irrAllocator<T>>
bool irr::core::string< T, TAlloc >::equalsn ( const T *const  str,
u32  n 
) const [inline]

compares the first n characters of the strings

Parameters:
strOther string to compare.
nNumber of characters to compare
Returns:
True if the n first characters of both strings are equal.

Definition at line 586 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::erase ( u32  index) [inline]

Erases a character from the string.

May be slow, because all elements following after the erased element have to be copied.

Parameters:
index,:Index of element to be erased.

Definition at line 1235 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
template<class B >
s32 irr::core::string< T, TAlloc >::find ( const B *const  str,
const u32  start = 0 
) const [inline]

finds another string in this string

Parameters:
str,:Another string
start,:Start position of the search
Returns:
Positions where the string has been found, or -1 if not found.

Definition at line 859 of file irrString.h.

Referenced by irr::core::string< fschar_t >::replace().

template<typename T, typename TAlloc = irrAllocator<T>>
s32 irr::core::string< T, TAlloc >::findFirst ( c) const [inline]

finds first occurrence of character in string

Parameters:
c,:Character to search for.
Returns:
Position where the character has been found, or -1 if not found.

Definition at line 718 of file irrString.h.

Referenced by irr::core::fast_atof_move().

template<typename T, typename TAlloc = irrAllocator<T>>
s32 irr::core::string< T, TAlloc >::findFirstChar ( const T *const  c,
u32  count = 1 
) const [inline]

finds first occurrence of a character of a list in string

Parameters:
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)
Returns:
Position where one of the characters has been found, or -1 if not found.

Definition at line 734 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
template<class B >
s32 irr::core::string< T, TAlloc >::findFirstCharNotInList ( const B *const  c,
u32  count = 1 
) const [inline]

Finds first position of a character not in a given list.

Parameters:
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)
Returns:
Position where the character has been found, or -1 if not found.

Definition at line 756 of file irrString.h.

Referenced by irr::core::string< fschar_t >::trim().

template<typename T, typename TAlloc = irrAllocator<T>>
s32 irr::core::string< T, TAlloc >::findLast ( c,
s32  start = -1 
) const [inline]

finds last occurrence of character in string

Parameters:
c,:Character to search for.
start,:start to search reverse ( default = -1, on end )
Returns:
Position where the character has been found, or -1 if not found.

Definition at line 822 of file irrString.h.

Referenced by irr::core::cutFilenameExtension(), irr::core::getFileNameExtension(), and irr::core::isFileExtension().

template<typename T, typename TAlloc = irrAllocator<T>>
s32 irr::core::string< T, TAlloc >::findLastChar ( const T *const  c,
u32  count = 1 
) const [inline]

finds last occurrence of a character of a list in string

Parameters:
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)
Returns:
Position where one of the characters has been found, or -1 if not found.

Definition at line 839 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
template<class B >
s32 irr::core::string< T, TAlloc >::findLastCharNotInList ( const B *const  c,
u32  count = 1 
) const [inline]

Finds last position of a character not in a given list.

Parameters:
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)
Returns:
Position where the character has been found, or -1 if not found.

Definition at line 783 of file irrString.h.

Referenced by irr::core::string< fschar_t >::trim().

template<typename T, typename TAlloc = irrAllocator<T>>
s32 irr::core::string< T, TAlloc >::findNext ( c,
u32  startPos 
) const [inline]

finds next occurrence of character in string

Parameters:
c,:Character to search for.
startPos,:Position in string to start searching.
Returns:
Position where the character has been found, or -1 if not found.

Definition at line 807 of file irrString.h.

Referenced by irr::core::isInSameDirectory().

template<typename T, typename TAlloc = irrAllocator<T>>
T irr::core::string< T, TAlloc >::lastChar ( ) const [inline]

gets the last char of a string or null

Definition at line 1274 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
bool irr::core::string< T, TAlloc >::lower_ignore_case ( const string< T, TAlloc > &  other) const [inline]

Compares the strings ignoring case.

Parameters:
other,:Other string to compare.
Returns:
True if this string is smaller ignoring case.

Definition at line 552 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::make_lower ( ) [inline]

Makes the string lower case.

Definition at line 502 of file irrString.h.

Referenced by irr::io::SNamedPath::PathToName(), and irr::core::string< fschar_t >::subString().

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::make_upper ( ) [inline]

Makes the string upper case.

Definition at line 511 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
bool irr::core::string< T, TAlloc >::operator!= ( const T *const  str) const [inline]

Inequality operator.

Definition at line 465 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
bool irr::core::string< T, TAlloc >::operator!= ( const string< T, TAlloc > &  other) const [inline]

Inequality operator.

Definition at line 472 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc> irr::core::string< T, TAlloc >::operator+ ( const string< T, TAlloc > &  other) const [inline]

Append operator for other strings.

Definition at line 388 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
template<class B >
string<T,TAlloc> irr::core::string< T, TAlloc >::operator+ ( const B *const  c) const [inline]

Append operator for strings, ascii and unicode.

Definition at line 399 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::operator+= ( c) [inline]

Appends a character to this string.

Parameters:
cCharacter to append.

Definition at line 925 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::operator+= ( const T *const  c) [inline]

Appends a char string to this string.

Parameters:
cChar string to append.

Definition at line 934 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::operator+= ( const string< T, TAlloc > &  other) [inline]

Appends a string to this string.

Parameters:
otherString to append.

Definition at line 943 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::operator+= ( const int  i) [inline]

Appends a string representation of a number to this string.

Parameters:
iNumber to append.

Definition at line 952 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::operator+= ( const unsigned int  i) [inline]

Appends a string representation of a number to this string.

Parameters:
iNumber to append.

Definition at line 961 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::operator+= ( const long  i) [inline]

Appends a string representation of a number to this string.

Parameters:
iNumber to append.

Definition at line 970 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::operator+= ( const unsigned long  i) [inline]

Appends a string representation of a number to this string.

Parameters:
iNumber to append.

Definition at line 979 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::operator+= ( const double  i) [inline]

Appends a string representation of a number to this string.

Parameters:
iNumber to append.

Definition at line 988 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::operator+= ( const float  i) [inline]

Appends a string representation of a number to this string.

Parameters:
iNumber to append.

Definition at line 997 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
bool irr::core::string< T, TAlloc >::operator< ( const string< T, TAlloc > &  other) const [inline]

Is smaller comparator.

Definition at line 451 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::operator= ( const string< T, TAlloc > &  other) [inline]

Assignment operator.

Definition at line 311 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
template<class B , class A >
string<T,TAlloc>& irr::core::string< T, TAlloc >::operator= ( const string< B, A > &  other) [inline]

Assignment operator for other string types.

Definition at line 333 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
template<class B >
string<T,TAlloc>& irr::core::string< T, TAlloc >::operator= ( const B *const  c) [inline]

Assignment operator for strings, ascii and unicode.

Definition at line 342 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
bool irr::core::string< T, TAlloc >::operator== ( const T *const  str) const [inline]

Equality operator.

Definition at line 425 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
bool irr::core::string< T, TAlloc >::operator== ( const string< T, TAlloc > &  other) const [inline]

Equality operator.

Definition at line 440 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
T& irr::core::string< T, TAlloc >::operator[] ( const u32  index) [inline]

Direct access operator.

Definition at line 409 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
const T& irr::core::string< T, TAlloc >::operator[] ( const u32  index) const [inline]

Direct access operator.

Definition at line 417 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::remove ( c) [inline]

Removes characters from a string.

Parameters:
c,:Character to remove.

Definition at line 1127 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::remove ( const string< T, TAlloc > &  toRemove) [inline]

Removes a string from the string.

Parameters:
toRemove,:String to remove.

Definition at line 1149 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::removeChars ( const string< T, TAlloc > &  characters) [inline]

Removes characters from a string.

Parameters:
characters,:Characters to remove.

Definition at line 1182 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::replace ( toReplace,
replaceWith 
) [inline]

Replaces all characters of a special type with another one.

Parameters:
toReplaceCharacter to replace.
replaceWithCharacter replacing the old one.

Definition at line 1007 of file irrString.h.

Referenced by irr::io::SNamedPath::PathToName(), and irr::core::string< fschar_t >::replace().

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::replace ( const string< T, TAlloc > &  toReplace,
const string< T, TAlloc > &  replaceWith 
) [inline]

Replaces all instances of a string with another one.

Parameters:
toReplaceThe string to replace.
replaceWithThe string replacing the old one.

Definition at line 1019 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
void irr::core::string< T, TAlloc >::reserve ( u32  count) [inline]

Reserves some memory.

Parameters:
count,:Amount of characters to reserve.

Definition at line 705 of file irrString.h.

Referenced by irr::core::string< fschar_t >::subString().

template<typename T, typename TAlloc = irrAllocator<T>>
template<class container >
u32 irr::core::string< T, TAlloc >::split ( container &  ret,
const T *const  c,
u32  count = 1,
bool  ignoreEmptyTokens = true,
bool  keepSeparators = false 
) const [inline]

split string into parts.

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.

Parameters:
retThe result container
cC-style string of delimiter characters
countNumber of delimiter characters
ignoreEmptyTokensFlag to avoid empty substrings in the result container. If two delimiters occur without a character in between, an empty substring would be placed in the result. If this flag is set, only non-empty strings are stored.
keepSeparatorsFlag 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.
Returns:
The number of resulting substrings

Definition at line 1298 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
string<T> irr::core::string< T, TAlloc >::subString ( u32  begin,
s32  length,
bool  make_lower = false 
) const [inline]

Returns a substring.

Parameters:
beginStart of substring.
lengthLength of substring.
make_lowercopy only lower case

Definition at line 891 of file irrString.h.

Referenced by irr::core::cutFilenameExtension(), irr::core::getFileNameExtension(), and irr::core::string< fschar_t >::trim().

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::trim ( const string< T, TAlloc > &  whitespace = " \t\n\r") [inline]

Trims the string.

Removes the specified characters (by default, Latin-1 whitespace) from the begining and the end of the string.

Definition at line 1218 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
string<T,TAlloc>& irr::core::string< T, TAlloc >::validate ( ) [inline]

verify the existing string.

Definition at line 1247 of file irrString.h.

Referenced by irr::core::deletePathFromPath().


The documentation for this class was generated from the following file: