A copy-on-write utf8 string class that operates by reference count. More...
#include <unicode.h>
Protected Member Functions | |
void | add (const unicode_t unicode) |
Add (append) unicode to a utf8 encoded string. | |
ucs4_t | at (int position) const |
Return unicode character found at a specific codepoint in the string. | |
unsigned | ccount (ucs4_t character) const |
Count occurrences of a unicode character in string. | |
strsize_t | count (void) const |
Count codepoints in current string. | |
const char * | find (ucs4_t character, strsize_t start=0) const |
Find first occurrence of character in string. | |
size_t | get (unicode_t unicode, size_t size) const |
Extract a unicode byte sequence from utf8 object. | |
UString | get (strsize_t codepoint, strsize_t size=0) const |
Get a new string object as a substring of the current object. | |
const char * | operator() (int offset) const |
Reference a string in the object by codepoint offset. | |
UString | operator() (int codepoint, strsize_t size) const |
Get a new substring through object expression. | |
size_t | operator() (unicode_t unicode, size_t size) const |
Extract a unicode byte sequence from utf8 object. | |
ucs4_t | operator[] (int position) const |
Reference a unicode character in string object by array offset. | |
const char * | rfind (ucs4_t character, strsize_t end=npos) const |
Find last occurrence of character in string. | |
void | set (const unicode_t unicode) |
Set a utf8 encoded string based on unicode data. | |
UString (const UString &existing) | |
Construct a copy of a string object. | |
UString (const unicode_t *text, const unicode_t *end) | |
Create a string for a substring. | |
UString (const char *text, strsize_t size) | |
Create a string from null terminated text up to a maximum specified size. | |
UString (const unicode_t text) | |
Create a utf8 aware string for a null terminated unicode string. | |
UString (strsize_t size) | |
Create an empty string with a buffer pre-allocated to a specified size. | |
UString () | |
Create a new empty utf8 aware string object. | |
virtual | ~UString () |
Destroy string. |
A copy-on-write utf8 string class that operates by reference count.
This is derived from the classic uCommon String class by adding operations that are utf8 encoding aware.
Definition at line 193 of file unicode.h.
ucommon::UString::UString | ( | strsize_t | size | ) | [protected] |
Create an empty string with a buffer pre-allocated to a specified size.
size | of buffer to allocate. |
ucommon::UString::UString | ( | const unicode_t | text | ) | [protected] |
Create a utf8 aware string for a null terminated unicode string.
text | of ucs4 encoded data. |
ucommon::UString::UString | ( | const char * | text, | |
strsize_t | size | |||
) | [protected] |
Create a string from null terminated text up to a maximum specified size.
text | to use for string. | |
size | limit of new string. |
Create a string for a substring.
The end of the substring is a pointer within the substring itself.
text | to use for string. | |
end | of text in substring. |
ucommon::UString::UString | ( | const UString & | existing | ) | [protected] |
Construct a copy of a string object.
Our copy inherits the same reference counted instance of cstring as in the original.
existing | string to copy from. |
virtual ucommon::UString::~UString | ( | ) | [protected, virtual] |
Destroy string.
De-reference cstring. If last reference to cstring, then also remove cstring from heap.
void ucommon::UString::add | ( | const unicode_t | unicode | ) | [protected] |
Add (append) unicode to a utf8 encoded string.
unicode | text to add. |
ucs4_t ucommon::UString::at | ( | int | position | ) | const [protected] |
Return unicode character found at a specific codepoint in the string.
position | of codepoint in string, negative values computed from end. |
Reimplemented from ucommon::string.
unsigned ucommon::UString::ccount | ( | ucs4_t | character | ) | const [protected] |
Count occurrences of a unicode character in string.
character | code to search for. |
strsize_t ucommon::UString::count | ( | void | ) | const [inline, protected] |
Count codepoints in current string.
Reimplemented from ucommon::string.
Find first occurrence of character in string.
character | code to search for. | |
start | offset in string in codepoints. |
size_t ucommon::UString::get | ( | unicode_t | unicode, | |
size_t | size | |||
) | const [protected] |
Extract a unicode byte sequence from utf8 object.
unicode | data buffer. | |
size | of data buffer. |
Get a new string object as a substring of the current object.
codepoint | offset of substring. | |
size | of substring in codepoints or 0 if to end. |
Reimplemented from ucommon::string.
const char* ucommon::UString::operator() | ( | int | offset | ) | const [protected] |
Reference a string in the object by codepoint offset.
Positive offsets are from the start of the string, negative from the end.
offset | to string position. |
Reimplemented from ucommon::string.
Get a new substring through object expression.
codepoint | offset of substring. | |
size | of substring or 0 if to end. |
Reimplemented from ucommon::string.
size_t ucommon::UString::operator() | ( | unicode_t | unicode, | |
size_t | size | |||
) | const [inline, protected] |
ucs4_t ucommon::UString::operator[] | ( | int | position | ) | const [inline, protected] |
Reference a unicode character in string object by array offset.
position | of codepoint offset to character. |
Reimplemented from ucommon::string.
Find last occurrence of character in string.
character | code to search for. | |
end | offset to start from in codepoints. |
void ucommon::UString::set | ( | const unicode_t | unicode | ) | [protected] |
Set a utf8 encoded string based on unicode data.
unicode | text to set. |