![]() |
VR-Link API Documentation for DIS
|
A unicode string. More...
Inheritance diagram for DtUcString:
Collaboration diagram for DtUcString:Classes | |
| struct | CodeUnitArray |
| Internal structure used to store the code units. More... | |
Public Types | |
| typedef unsigned short | CodeUnit |
Public Member Functions | |
| DtUcString () | |
| CTOR creates an empty string. More... | |
| DtUcString (size_t len, DtUnicodeChar c=DtUnicodeChar('\0')) | |
| CTOR create a string of n length filled with the unicode character c. More... | |
| DtUcString (const DtUcString &str) | |
| Copy ctor copies the string, this function will NOT allocate memory for the string, and thus it is fast to pass by value, and create many identical copies of a string. More... | |
| ~DtUcString () | |
| DTOR may NOT deallocate memory as this string may share data. More... | |
| DtUcString & | operator= (const DtUcString &str) |
| Assignment operator copies the string, this function will NOT allocate memory for the string, and thus it is fast to pass by value, and create many identical copies of a string. More... | |
| template<typename QStringType , typename QCoreApp > | |
| QStringType | translate () const |
| Utility function for translating a DtUcString variable initialized using the static DtUcString::tr function, and QLinguist. More... | |
| void | setFromWCharArray (const wchar_t utf16[], int len=-1) |
| Set from an wchar string, the string MUST be zero terminated if the length is not passed, the encoding of wchar arrays are different on each platform. More... | |
| void | setFromUtf8 (const unsigned char *utf8, int len=-1) |
| Set from an UTF-8 encoded string, the string MUST be zero terminated if the length is not passed. More... | |
| void | setFromUtf8 (const std::string &utf8) |
| void | setFromLatin1 (const char *latin, int len=-1) |
| Set from an UTF-8 encoded string, the string MUST be zero terminated if the length is not passed. More... | |
| void | setFromUtf16 (const unsigned short *utf16, int len=-1) |
| Set from an UTF-16 encoded string, the string MUST be zero terminated if the length is not passed. More... | |
| void | setFromUtf32 (const unsigned int *utf32, int len=-1) |
| Set from an UTF-32 encoded string, the string MUST be zero terminated if the length is not passed. More... | |
| void | setFromAscii (const std::string &ascii) |
| Set from an ascii string, the string MUST be zero terminated if the length is not passed. More... | |
| void | setFromAscii (const char *ascii, int len=-1) |
| Set from an ascii string, the string MUST be zero terminated if the length is not passed. More... | |
| template<typename QStringType > | |
| void | setFromQString (QStringType qstr) |
| Template function for setting from Qt 4 style string. More... | |
| void | toAscii (std::string &str) const |
| Encode to an ascii string. More... | |
| std::string | toAscii () const |
| void | toLatin1 (std::string &str) const |
| Encode to an Latin-1 string. More... | |
| std::string | toLatin1 () const |
| void | toUtf8 (std::string &str) const |
| Encode to a UTF-8 string. More... | |
| std::string | toUtf8 () const |
| void | toWideString (std::wstring &str) const |
| Encode to a wstring. More... | |
| std::wstring | toWideString () const |
| template<typename QStringType > | |
| QStringType | toQString () const |
| Template function for outputting a Qt 4 style string. More... | |
| template<typename QStringType > | |
| void | toQString (QStringType &qstr) const |
| Template function for initializing a Qt 4 style string. More... | |
| DtUcString & | operator+= (const DtUcString &str) |
| Append a string to the end. More... | |
| DtUcString & | operator+= (const DtUnicodeChar &x) |
| Append a character to the end. More... | |
| DtUcString | operator+ (const DtUcString &str) const |
| Append two strings together. More... | |
| bool | operator== (const DtUcString &other) const |
| Test if two strings are identical. More... | |
| bool | operator!= (const DtUcString &other) const |
| Test if two strings are not identical. More... | |
| bool | operator< (const DtUcString &other) const |
| Test if a string is less than another based on their first different character or the length. More... | |
| size_t | length () const |
| Get the length in Code Units. More... | |
| size_t | sizeInBytes () const |
| Get the size in 8bit bytes. More... | |
| size_t | calculateCodePoints () const |
| Calculate the number of Code Points. More... | |
| const CodeUnit * | codeUnits () const |
| Get an array of code units. More... | |
| int | indexOf (const DtUnicodeChar &x, size_t pos=0) const |
| Search for a character starting a pos, returns index, or -1 if not found. More... | |
| int | indexOf (const DtUcString &x, size_t pos=0) const |
| Search for a string starting a pos, returns index, or -1 if not found. More... | |
| int | lastIndexOf (const DtUnicodeChar &x, size_t pos=0) const |
| Search for a character starting a pos, returns index, or -1 if not found. More... | |
| int | lastIndexOf (const DtUcString &x, size_t pos=0) const |
| Search for a string starting a pos, returns index, or -1 if not found. More... | |
| DtUcString | subString (size_t pos=0, int len=-1) const |
| Create a substring starting at position, for n characters. More... | |
| void | push_back (const DtUnicodeChar &x) |
| Append a unicode character to the string. More... | |
| void | resize (int size) |
| Resize a string to a new size, if the size < 0 the string will be empty. More... | |
| virtual bool | snipFront (const char ch, bool toLastCh=false) |
| Truncates everything before or after the character, including the character, respectively. More... | |
| virtual bool | snipBack (const char ch, bool fromFirstCh=false) |
| Truncates everything before or after the character, including the character, respectively. More... | |
Static Public Member Functions | |
| static DtUcString | fromWCharArray (const wchar_t utf16[], int len=-1) |
| Set from a wchar_t array, compiler encoding specific, the string MUST be zero terminated if the length is not passed. More... | |
| static DtUcString | fromWideString (const std::wstring &str) |
| Set from a std::wstring. More... | |
| static DtUcString | fromUtf8 (const unsigned char *utf8, int len=-1) |
| Create a unicode string from an UTF-16 encoded string, the string MUST be zero terminated if the length is not passed. More... | |
| static DtUcString | fromUtf8 (const std::string &utf8) |
| static DtUcString | fromUtf16 (const unsigned short *utf16, int len=-1) |
| Create a unicode string from an UTF-16 encoded string, the string MUST be zero terminated if the length is not passed. More... | |
| static DtUcString | fromUtf32 (const unsigned int *utf32, int len=-1) |
| Create a unicode string from an UTF-32 encoded string, the string MUST be zero terminated if the length is not passed. More... | |
| static DtUcString | fromAscii (const std::string &ascii) |
| Create a unicode string from an ascii string, the string MUST be zero terminated if the length is not passed. More... | |
| static DtUcString | fromAscii (const char *ascii, int len=-1) |
| Create a unicode string from an ascii string, the string MUST be zero terminated if the length is not passed. More... | |
| static DtUcString | tr (const char *ascii) |
| Ascii translation function, used to be compatible with Qt's translation tools. More... | |
| template<typename QStringType > | |
| static DtUcString | fromQString (QStringType qstr) |
| Template function for setting from Qt 4 style string. More... | |
Protected Types | |
| enum | Encoding { Ascii, Latin1, Utf8 } |
Protected Member Functions | |
| DtUcString (const char *ascii, int len=-1, Encoding encoding=Ascii) | |
| DtUcString (const unsigned short *utf16, int len=-1) | |
| DtUcString (const unsigned int *utf32, int len=-1) | |
| DtUcString (const std::string &ascii) | |
| DtUcString (const DtUcString &a, const DtUcString &b) | |
Protected Attributes | |
| CodeUnitArray | myCodeUnits |
A unicode string.
DtUcString stores a UTF-16 encoded unicode string. Code Point, a Unicode character, UTF encodes a Code Point in 1 or 2 Code Units. Code Unit, a 16 bit word. Each character is 1 or 2 code units.
DtUcString uses copy on write, thus creating copies and passing by value is cheap, however special care must be taken when passing between threads. DtUcString reference counts are thread safe, however the content is not so thread synchronization is required when modifying strings.
| typedef unsigned short DtUcString::CodeUnit |
|
protected |
|
inline |
CTOR creates an empty string.
|
inlineexplicit |
CTOR create a string of n length filled with the unicode character c.
|
inline |
Copy ctor copies the string, this function will NOT allocate memory for the string, and thus it is fast to pass by value, and create many identical copies of a string.
|
inline |
DTOR may NOT deallocate memory as this string may share data.
|
inlineexplicitprotected |
|
inlineexplicitprotected |
|
inlineexplicitprotected |
|
inlineexplicitprotected |
|
inlineexplicitprotected |
|
inline |
Calculate the number of Code Points.
|
inline |
Get an array of code units.
Referenced by hash_value().
|
inlinestatic |
Create a unicode string from an ascii string, the string MUST be zero terminated if the length is not passed.
|
inlinestatic |
Create a unicode string from an ascii string, the string MUST be zero terminated if the length is not passed.
|
inlinestatic |
Template function for setting from Qt 4 style string.
|
inlinestatic |
Create a unicode string from an UTF-16 encoded string, the string MUST be zero terminated if the length is not passed.
|
inlinestatic |
Create a unicode string from an UTF-32 encoded string, the string MUST be zero terminated if the length is not passed.
|
inlinestatic |
Create a unicode string from an UTF-16 encoded string, the string MUST be zero terminated if the length is not passed.
|
inlinestatic |
|
inlinestatic |
Set from a wchar_t array, compiler encoding specific, the string MUST be zero terminated if the length is not passed.
|
inlinestatic |
Set from a std::wstring.
|
inline |
Search for a character starting a pos, returns index, or -1 if not found.
|
inline |
Search for a string starting a pos, returns index, or -1 if not found.
|
inline |
Search for a character starting a pos, returns index, or -1 if not found.
|
inline |
Search for a string starting a pos, returns index, or -1 if not found.
|
inline |
Get the length in Code Units.
This is NOT the length in bytes, or the number of code points.
Referenced by hash_value().
|
inline |
Test if two strings are not identical.
|
inline |
Append two strings together.
|
inline |
Append a string to the end.
|
inline |
Append a character to the end.
|
inline |
Test if a string is less than another based on their first different character or the length.
Used for sorting strings.
|
inline |
Assignment operator copies the string, this function will NOT allocate memory for the string, and thus it is fast to pass by value, and create many identical copies of a string.
|
inline |
Test if two strings are identical.
|
inline |
Append a unicode character to the string.
|
inline |
Resize a string to a new size, if the size < 0 the string will be empty.
If size is greater than the current size, the string is extended to make it size characters long with the extra characters added to the end. The new characters are uninitialized. If size is less than the current size, characters are removed from the end. If the size is less than 0, the string will be resized to 0 without deallocating if possible.
|
inline |
Set from an ascii string, the string MUST be zero terminated if the length is not passed.
|
inline |
Set from an ascii string, the string MUST be zero terminated if the length is not passed.
|
inline |
Set from an UTF-8 encoded string, the string MUST be zero terminated if the length is not passed.
|
inline |
Template function for setting from Qt 4 style string.
|
inline |
Set from an UTF-16 encoded string, the string MUST be zero terminated if the length is not passed.
|
inline |
Set from an UTF-32 encoded string, the string MUST be zero terminated if the length is not passed.
|
inline |
Set from an UTF-8 encoded string, the string MUST be zero terminated if the length is not passed.
|
inline |
|
inline |
Set from an wchar string, the string MUST be zero terminated if the length is not passed, the encoding of wchar arrays are different on each platform.
Do NOT assume a wchar string is UTF16 or UTF32.
|
inline |
Get the size in 8bit bytes.
Truncates everything before or after the character, including the character, respectively.
Normally, snipFront stops at the first occurrence of "ch", and snipBack stops at the last occurrence of "ch". The second argument flags reverse this. Return value is true if "ch" was found in the string. Does not include the null terminator (only searches characters counted by size).
Truncates everything before or after the character, including the character, respectively.
Normally, snipFront stops at the first occurrence of "ch", and snipBack stops at the last occurrence of "ch". The second argument flags reverse this. Return value is true if "ch" was found in the string. Does not include the null terminator (only searches characters counted by size).
|
inline |
Create a substring starting at position, for n characters.
If len is -1. for the remaining characters. if pos is out of range then a null string is returned.
|
inline |
Encode to an ascii string.
All non Ascii characters are skipped. Ascii is 0-127
|
inline |
|
inline |
Encode to an Latin-1 string.
All non Latin-1 characters are skipped. Latin-1 is is 0-255
|
inline |
|
inline |
Template function for outputting a Qt 4 style string.
|
inline |
Template function for initializing a Qt 4 style string.
|
inline |
Encode to a UTF-8 string.
|
inline |
|
inline |
Encode to a wstring.
|
inline |
|
inlinestatic |
Ascii translation function, used to be compatible with Qt's translation tools.
This will simply call fromAscii. The name 'tr' is used by Qt's translation tools when scanning source code for translatable strings. This function should only take string literals aka "characters" and should never take pointer variables.
| QStringType DtUcString::translate | ( | ) | const |
Utility function for translating a DtUcString variable initialized using the static DtUcString::tr function, and QLinguist.
|
protected |