KJS::UString Class Reference

`#include <ustring.h>`

## Public Member Functions

| UString ()
| UString (char c)
| UString (const char *c)
| UString (const UChar *c, int length)
| UString (UChar *c, int length, bool copy)
| UString (const UString &s)
| UString (const QString &)
| UString (const DOM::DOMString &)
| UString (const UString &, const UString &)
| ~UString ()
UString & | append (const UString &)
CString | cstring () const
char * | ascii () const
DOM::DOMString | string () const
QString | qstring () const
QConstString | qconststring () const
UString & | operator= (const char *c)
UString & | operator= (const UString &)
UString & | operator+= (const UString &s)
const UChar * | data () const
bool | isNull () const
bool | isEmpty () const
bool | is8Bit () const
int | size () const
UChar | operator[] (int pos) const
UCharReference | operator[] (int pos)
double | toDouble (bool tolerateTrailingJunk, bool tolerateEmptyString) const
double | toDouble (bool tolerateTrailingJunk) const
double | toDouble () const
unsigned long | toULong (bool *ok, bool tolerateEmptyString) const
unsigned long | toULong (bool *ok=0) const
unsigned int | toUInt32 (bool *ok=0) const
unsigned int | toStrictUInt32 (bool *ok=0) const
unsigned | toArrayIndex (bool *ok=0) const
UString | toLower () const
UString | toUpper () const
int | find (const UString &f, int pos=0) const
int | find (UChar, int pos=0) const
int | rfind (const UString &f, int pos) const
int | rfind (UChar, int pos) const
UString | substr (int pos=0, int len=-1) const

## Static Public Member Functions

static UString | from (int i)
static UString | from (unsigned int u)
static UString | from (long l)
static UString | from (double d)

## Static Public Attributes

static UString | null

## Friends

class | UCharReference
class | Identifier
class | PropertyMap
class | PropertyMapHashTableEntry
bool | operator== (const UString &, const UString &)

## Detailed Description

Unicode string class.

Definition at line 189 of file ustring.h.

## Constructor & Destructor Documentation

UString::UString | ( |  | ) |

Constructs a null string.

Definition at line 270 of file ustring.cpp.

UString::UString | ( | char | c | ) |

explicit

Constructs a string from the single character c.

Definition at line 276 of file ustring.cpp.

UString::UString | ( | const char * | c | ) |

Constructs a string from a classical zero determined char string.

Definition at line 283 of file ustring.cpp.

UString::UString | ( | const UChar * | c,
|  | int | length
| ) |  |

Constructs a string from an array of Unicode characters of the specified length.

Definition at line 300 of file ustring.cpp.

UString::UString | ( | UChar * | c,
|  | int | length,
|  | bool | copy
| ) |  |

If copy is false the string data will be adopted.

That means that the data will NOT be copied and the pointer will be deleted when the UString object is modified or destroyed. Behaviour defaults to a deep copy if copy is true.

Definition at line 311 of file ustring.cpp.

KJS::UString::UString | ( | const UString & | s | ) |

inline

Copy constructor.

Makes a shallow copy only.

Definition at line 256 of file ustring.h.

KJS::UString::UString | ( | const QString & |  | ) |

Convenience declaration only ! You'll be on your own to write the implementation for a construction from QString.

Note: feel free to contact me if you want to see a dummy header for your favorite FooString class here !

KJS::UString::UString | ( | const DOM::DOMString & |  | ) |

Convenience declaration only ! See UString(const QString&).

UString::UString | ( | const UString & | a,
|  | const UString & | b
| ) |  |

Concatenation constructor.

Makes operator+ more efficient.

Definition at line 326 of file ustring.cpp.

KJS::UString::~UString | ( |  | ) |

inline

Destructor.

If this handle was the only one holding a reference to the string the data will be freed.

Definition at line 277 of file ustring.h.

## Member Function Documentation

UString & UString::append | ( | const UString & | t | ) |

Append another string.

Definition at line 458 of file ustring.cpp.

char * UString::ascii | ( |  | ) | const

Convert the Unicode string to plain ASCII chars chopping of any higher bytes.

This method should only be used for debugging purposes as it is neither Unicode safe nor free from side effects. In order not to waste any memory the char buffer is static and shared by all UString instances.

Definition at line 486 of file ustring.cpp.

CString UString::cstring | ( |  | ) | const

Returns
  The string converted to the 8-bit string type CString().

Definition at line 481 of file ustring.cpp.

const UChar* KJS::UString::data | ( |  | ) | const

inline

Returns
  A pointer to the internal Unicode data.

Definition at line 339 of file ustring.h.

int UString::find | ( | const UString & | f,
|  | int | pos = `0`
| ) |  | const

Returns
  Position of first occurrence of f starting at position pos. -1 if the search was not successful.

Definition at line 799 of file ustring.cpp.

UString UString::from | ( | int | i | ) |

static

Constructs a string from an int.

Definition at line 341 of file ustring.cpp.

UString UString::from | ( | unsigned int | u | ) |

static

Constructs a string from an unsigned int.

Definition at line 346 of file ustring.cpp.

UString UString::from | ( | long | l | ) |

static

Constructs a string from a long.

Definition at line 364 of file ustring.cpp.

UString UString::from | ( | double | d | ) |

static

Constructs a string from a double.

Definition at line 390 of file ustring.cpp.

bool UString::is8Bit | ( |  | ) | const

Use this if you want to make sure that this string is a plain ASCII string.

For example, if you don't want to lose any information when using cstring() or ascii().

Returns
  True if the string doesn't contain any non-ASCII characters.

Definition at line 550 of file ustring.cpp.

bool KJS::UString::isEmpty | ( |  | ) | const

inline

Returns
  True if null or zero length.

Definition at line 347 of file ustring.h.

bool KJS::UString::isNull | ( |  | ) | const

inline

Returns
  True if null.

Definition at line 343 of file ustring.h.

UString& KJS::UString::operator+= | ( | const UString & | s | ) |

inline

Appends the specified string.

Definition at line 334 of file ustring.h.

UString & UString::operator= | ( | const char * | c | ) |

Assignment operator.

Definition at line 523 of file ustring.cpp.

UChar UString::operator[] | ( | int | pos | ) | const

Const character at specified position.

Definition at line 563 of file ustring.cpp.

UCharReference UString::operator[] | ( | int | pos | ) |

Writable reference to character at specified position.

Definition at line 571 of file ustring.cpp.

QConstString KJS::UString::qconststring | ( |  | ) | const

See also
  UString(const QString&).

QString KJS::UString::qstring | ( |  | ) | const

See also
  UString(const QString&).

int UString::rfind | ( | const UString & | f,
|  | int | pos
| ) |  | const

Returns
  Position of first occurrence of f searching backwards from position pos. -1 if the search was not successful.

Definition at line 833 of file ustring.cpp.

int KJS::UString::size | ( |  | ) | const

inline

Returns
  The length of the string.

Definition at line 359 of file ustring.h.

DOM::DOMString KJS::UString::string | ( |  | ) | const

See also
  UString(const QString&).

UString UString::substr | ( | int | pos = `0`,
|  | int | len = `-1`
| ) |  | const

Returns
  The sub string starting at position pos and length len.

Definition at line 869 of file ustring.cpp.

unsigned UString::toArrayIndex | ( | bool * | ok = `0` | ) | const

Attempts an conversion to an array index.

The "ok" boolean will be set to true if it is a valid array index according to the rule from ECMA 15.2 about what an array index is. It must exactly match the string form of an unsigned integer, and be less than 2^32 - 1.

Definition at line 791 of file ustring.cpp.

double UString::toDouble | ( | bool | tolerateTrailingJunk,
|  | bool | tolerateEmptyString
| ) |  | const

Attempts an conversion to a number.

Apart from floating point numbers, the algorithm will recognize hexadecimal representations (as indicated by a 0x or 0X prefix) and +/- Infinity. Returns NaN if the conversion failed.

Parameters

  tolerateTrailingJunk | if true, toDouble can tolerate garbage after the number.
  tolerateEmptyString | if false, toDouble will turn an empty string into NaN rather than 0.

Definition at line 608 of file ustring.cpp.

UString UString::toLower | ( |  | ) | const

Returns this string converted to lower case characters.

Definition at line 707 of file ustring.cpp.

unsigned long UString::toULong | ( | bool * | ok,
|  | bool | tolerateEmptyString
| ) |  | const

Attempts an conversion to an unsigned long integer.

ok will be set according to the success. @

Parameters

  ok | make this point to a bool in case you need to know whether the conversion succeeded.
  tolerateEmptyString | if false, toULong will return false for *ok for an empty string.

Definition at line 686 of file ustring.cpp.

UString UString::toUpper | ( |  | ) | const

Returns this string converted to upper case characters.

Definition at line 715 of file ustring.cpp.

## Member Data Documentation

UString UString::null

static

Static instance of a null string.

Definition at line 428 of file ustring.h.

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

- ustring.h
- ustring.cpp

KDE Home | KDE Accessibility Home | Description of Access Keys