Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials

# irr::core::string< T, TAlloc > Class Template Reference

`#include <irrString.h>`

List of all members.

## Public Member Functions
void | append (const string< T > &other, u32 length)
| Appends a string of the length l to this string.
void | append (const string< T > &other)
| Appends a string to this string.
void | append (const T *const other)
| Appends a char string to this string.
void | append (T character)
| Appends a character to this string.
const T * | c_str () const
| Returns character string.
bool | equals_ignore_case (const string< T > &other) const
| Compares the strings ignoring case.
bool | equals_substring_ignore_case (const string< T > &other, const s32 sourcePos=0) const
| Compares the strings ignoring case.
bool | equalsn (const T *const str, u32 n) const
| compares the first n characters of the strings
bool | equalsn (const string< T > &other, u32 n) const
| compares the first n characters of the strings
void | erase (u32 index)
| Erases a character from the string.
template<class B>
s32 | find (const B *const str) const
| finds another string in this string
s32 | findFirst (T c) const
| finds first occurrence of character in string
s32 | findFirstChar (const T *const c, u32 count) const
| finds first occurrence of a character of a list in string
template<class B>
s32 | findFirstCharNotInList (const B *const c, u32 count) const
| Finds first position of a character not in a given list.
s32 | findLast (T c, s32 start=-1) const
| finds last occurrence of character in string
s32 | findLastChar (const T *const c, u32 count) const
| finds last occurrence of a character of a list in string
template<class B>
s32 | findLastCharNotInList (const B *const c, u32 count) const
| Finds last position of a character not in a given list.
s32 | findNext (T c, u32 startPos) const
| finds next occurrence of character in string
T | lastChar () const
| gets the last char of a string or null
bool | lower_ignore_case (const string< T > &other) const
| Compares the strings ignoring case.
void | make_lower ()
| Makes the string lower case.
void | make_upper ()
| Makes the string upper case.
bool | operator!= (const string< T > &other) const
| Inequality operator.
bool | operator!= (const T *const str) const
| Inequality operator.
template<class B>
string< T > | operator+ (const B *const c) const
| Append operator for strings, ascii and unicode.
string< T > | operator+ (const string< T > &other) const
| Append operator for other strings.
string< T > & | operator+= (const float i)
| Appends a string representation of a number to this string.
string< T > & | operator+= (const double i)
| Appends a string representation of a number to this string.
string< T > & | operator+= (const unsigned long &i)
| Appends a string representation of a number to this string.
string< T > & | operator+= (const long i)
| Appends a string representation of a number to this string.
string< T > & | operator+= (const unsigned int i)
| Appends a string representation of a number to this string.
string< T > & | operator+= (const int i)
| Appends a string representation of a number to this string.
string< T > & | operator+= (const string< T > &other)
| Appends a string to this string.
string< T > & | operator+= (const T *const c)
| Appends a char string to this string.
string< T > & | operator+= (T c)
| Appends a character to this string.
bool | operator< (const string< T > &other) const
| Is smaller comparator.
template<class B>
string< T > & | operator= (const B *const c)
| Assignment operator for strings, ascii and unicode.
template<class B>
string< T > & | operator= (const string< B > &other)
| Assignment operator for other string types.
string< T > & | operator= (const string< T > &other)
| Assignment operator.
bool | operator== (const string< T > &other) const
| Equality operator.
bool | operator== (const T *const str) const
| Equality operator.
const T & | operator[] (const u32 index) const
| Direct access operator.
T & | operator[] (const u32 index)
| Direct access operator.
void | replace (T toReplace, T replaceWith)
| Replaces all characters of a special type with another one.
void | reserve (u32 count)
| Reserves some memory.
u32 | size () const
| Returns length of string.
template<class B>
| string (const B *const c)
| Constructor for unicode and ascii strings.
template<class B>
| string (const B *const c, u32 length)
| Constructor for copying a string from a pointer with a given length.
| string (unsigned int number)
| Constructs a string from an unsigned int.
| string (int number)
| Constructs a string from an int.
| string (const double number)
| Constructs a string from a float.
template<class B>
| string (const string< B > &other)
| Constructor from other string types.
| string (const string< T > &other)
| Constructor.
| string ()
| Default constructor.
string< T > | subString (u32 begin, s32 length) const
| Returns a substring.
string< T > & | trim (const string< T > &whitespace=" \t\n\r")
| Trims the string.
void | validate ()
| verify the existing string.
virtual | ~string ()
| Destructor.

## Detailed Description

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

Definition at line 73 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 78 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

irr::core::string< T, TAlloc >::string | ( | const string< T > & | other | ) | `[inline]`

Constructor.

Definition at line 87 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
template<class B>

irr::core::string< T, TAlloc >::string | ( | const string< B > & | other | ) | `[inline]`

Constructor from other string types.

Definition at line 95 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 103 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 113 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 161 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 193 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 215 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

virtual irr::core::string< T, TAlloc >::~string | ( |  | ) | `[inline, virtual]`

Destructor.

Definition at line 223 of file irrString.h.

## Member Function Documentation

template<typename T, typename TAlloc = irrAllocator<T>>

void irr::core::string< T, TAlloc >::append | ( | const string< T > & | 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 569 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

void irr::core::string< T, TAlloc >::append | ( | const string< T > & | other | ) | `[inline]`

Appends a string to this string.

Parameters:

  | other,: | String to append.

Definition at line 551 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

void irr::core::string< T, TAlloc >::append | ( | const T *const | other | ) | `[inline]`

Appends a char string to this string.

Parameters:

  | other,: | Char string to append.

Definition at line 523 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

void irr::core::string< T, TAlloc >::append | ( | T | character | ) | `[inline]`

Appends a character to this string.

Parameters:

  | character,: | Character to append.

Definition at line 509 of file irrString.h.

Referenced by irr::core::string< char >::append(), irr::scene::quake3::dumpShader(), irr::scene::quake3::dumpVarGroup(), irr::scene::quake3::getTextures(), irr::core::string< char >::operator+(), and irr::core::string< char >::operator+=().

template<typename T, typename TAlloc = irrAllocator<T>>

const T* irr::core::string< T, TAlloc >::c_str | ( |  | ) | const`[inline]`

Returns character string.

Returns:
  pointer to C-style zero terminated string.

Definition at line 403 of file irrString.h.

Referenced by irr::core::deletePathFromFilename(), irr::gui::IGUIElement::deserializeAttributes(), irr::scene::ISceneNode::getName(), irr::gui::IGUIElement::getText(), irr::scene::quake3::IShader::operator<(), irr::scene::quake3::SVariable::operator<(), irr::core::string< char >::operator=(), irr::scene::quake3::IShader::operator==(), irr::scene::quake3::SVariable::operator==(), and irr::scene::ISceneNode::serializeAttributes().

template<typename T, typename TAlloc = irrAllocator<T>>

bool irr::core::string< T, TAlloc >::equals_ignore_case | ( | const string< T > & | 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 428 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

bool irr::core::string< T, TAlloc >::equals_substring_ignore_case | ( | const string< T > & | 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 441 of file irrString.h.

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

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:

  | str | Other string to compare.
  | n | Number of characters to compare

Returns:
  True if the n first characters of both strings are equal.

Definition at line 492 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

bool irr::core::string< T, TAlloc >::equalsn | ( | const string< T > & | other,
|  | u32 | n |
| ) |  |  | const`[inline]`

compares the first n characters of the strings

Parameters:

  | other | Other string to compare.
  | n | Number of characters to compare

Returns:
  True if the n first characters of both strings are equal.

Definition at line 475 of file irrString.h.

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

template<typename T, typename TAlloc = irrAllocator<T>>

void 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 907 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`[inline]`

finds another string in this string

Parameters:

  | str,: | Another string

Returns:
  Positions where the string has been found, or -1 if not found.

Definition at line 741 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

s32 irr::core::string< T, TAlloc >::findFirst | ( | T | 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 607 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

s32 irr::core::string< T, TAlloc >::findFirstChar | ( | const T *const | c,
|  | u32 | count |
| ) |  |  | 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 623 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 |
| ) |  |  | 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 645 of file irrString.h.

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

template<typename T, typename TAlloc = irrAllocator<T>>

s32 irr::core::string< T, TAlloc >::findLast | ( | T | 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 705 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 |
| ) |  |  | 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 722 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 |
| ) |  |  | 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 669 of file irrString.h.

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

template<typename T, typename TAlloc = irrAllocator<T>>

s32 irr::core::string< T, TAlloc >::findNext | ( | T | 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 690 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 943 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

bool irr::core::string< T, TAlloc >::lower_ignore_case | ( | const string< T > & | 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 458 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

void irr::core::string< T, TAlloc >::make_lower | ( |  | ) | `[inline]`

Makes the string lower case.

Definition at line 410 of file irrString.h.

Referenced by irr::video::ITexture::ITexture().

template<typename T, typename TAlloc = irrAllocator<T>>

void irr::core::string< T, TAlloc >::make_upper | ( |  | ) | `[inline]`

Makes the string upper case.

Definition at line 418 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

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

Inequality operator.

Definition at line 387 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 380 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
template<class B>

string<T> irr::core::string< T, TAlloc >::operator+ | ( | const B *const | c | ) | const`[inline]`

Append operator for strings, ascii and unicode.

Definition at line 310 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

string<T> irr::core::string< T, TAlloc >::operator+ | ( | const string< T > & | other | ) | const`[inline]`

Append operator for other strings.

Definition at line 299 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

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

Appends a string representation of a number to this string.

Parameters:

  | i | Number to append.

Definition at line 869 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

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

Appends a string representation of a number to this string.

Parameters:

  | i | Number to append.

Definition at line 860 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

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

Appends a string representation of a number to this string.

Parameters:

  | i | Number to append.

Definition at line 851 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

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

Appends a string representation of a number to this string.

Parameters:

  | i | Number to append.

Definition at line 842 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

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

Appends a string representation of a number to this string.

Parameters:

  | i | Number to append.

Definition at line 833 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

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

Appends a string representation of a number to this string.

Parameters:

  | i | Number to append.

Definition at line 824 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

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

Appends a string to this string.

Parameters:

  | other | String to append.

Definition at line 815 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

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

Appends a char string to this string.

Parameters:

  | c | Char string to append.

Definition at line 806 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

string<T>& irr::core::string< T, TAlloc >::operator+= | ( | T | c | ) | `[inline]`

Appends a character to this string.

Parameters:

  | c | Character to append.

Definition at line 797 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

bool irr::core::string< T, TAlloc >::operator< | ( | const string< T > & | other | ) | const`[inline]`

Is smaller comparator.

Definition at line 362 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
template<class B>

string<T>& irr::core::string< T, TAlloc >::operator= | ( | const B *const | c | ) | `[inline]`

Assignment operator for strings, ascii and unicode.

Definition at line 257 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>
template<class B>

string<T>& irr::core::string< T, TAlloc >::operator= | ( | const string< B > & | other | ) | `[inline]`

Assignment operator for other string types.

Definition at line 248 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

string<T>& irr::core::string< T, TAlloc >::operator= | ( | const string< T > & | other | ) | `[inline]`

Assignment operator.

Definition at line 230 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

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

Equality operator.

Definition at line 351 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 336 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 328 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 320 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

void irr::core::string< T, TAlloc >::replace | ( | T | toReplace,
|  | T | replaceWith |
| ) |  |  | `[inline]`

Replaces all characters of a special type with another one.

Parameters:

  | toReplace | Character to replace.
  | replaceWith | Character replacing the old one.

Definition at line 879 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 594 of file irrString.h.

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

template<typename T, typename TAlloc = irrAllocator<T>>

u32 irr::core::string< T, TAlloc >::size | ( |  | ) | const`[inline]`

Returns length of string.

Returns:
  Length of the string in characters.

Definition at line 395 of file irrString.h.

Referenced by irr::core::string< char >::append(), irr::core::cutFilenameExtension(), irr::core::deletePathFromFilename(), irr::core::deletePathFromPath(), irr::scene::quake3::getCullingFunction(), irr::core::getFileNameExtension(), irr::core::isInSameDirectory(), irr::scene::quake3::SVariable::isValid(), irr::core::string< char >::operator=(), and irr::core::string< char >::subString().

template<typename T, typename TAlloc = irrAllocator<T>>

string<T> irr::core::string< T, TAlloc >::subString | ( | u32 | begin,
|  | s32 | length |
| ) |  |  | const`[inline]`

Returns a substring.

Parameters:

  | begin,: | Start of substring.
  | length,: | Length of substring.

Definition at line 772 of file irrString.h.

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

template<typename T, typename TAlloc = irrAllocator<T>>

string<T>& irr::core::string< T, TAlloc >::trim | ( | const string< T > & | 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 890 of file irrString.h.

template<typename T, typename TAlloc = irrAllocator<T>>

void irr::core::string< T, TAlloc >::validate | ( |  | ) | `[inline]`

verify the existing string.

Definition at line 918 of file irrString.h.

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

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

- irrString.h

| The Irrlicht Engine Documentation © 2003-2009 by Nikolaus Gebhardt. Generated on Sun Jan 10 09:24:10 2010 by Doxygen (1.5.6)