ucommon
|
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. | |
UString | get (strsize_t codepoint, strsize_t size=0) const |
Get a new string object as a substring of the current object. | |
size_t | get (unicode_t unicode, size_t size) const |
Extract a unicode byte sequence from utf8 object. | |
const char * | operator() (int offset) const |
Reference a string in the object by codepoint offset. | |
size_t | operator() (unicode_t unicode, size_t size) const |
Extract a unicode byte sequence from utf8 object. | |
UString | operator() (int codepoint, strsize_t size) const |
Get a new substring through object expression. | |
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 (strsize_t size) | |
Create an empty string with a buffer pre-allocated to a specified size. | |
UString (const unicode_t text) | |
Create a utf8 aware string for a null terminated unicode string. | |
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 () | |
Create a new empty utf8 aware string object. | |
UString (const UString &existing) | |
Construct a copy of a 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.
UString::UString | ( | strsize_t | size | ) | [protected] |
Create an empty string with a buffer pre-allocated to a specified size.
size | of buffer to allocate. |
UString::UString | ( | const unicode_t | text | ) | [protected] |
Create a utf8 aware string for a null terminated unicode string.
text | of ucs4 encoded data. |
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. |
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 UString::~UString | ( | ) | [protected, virtual] |
Destroy string.
De-reference cstring. If last reference to cstring, then also remove cstring from heap.
void UString::add | ( | const unicode_t | unicode | ) | [protected] |
Add (append) unicode to a utf8 encoded string.
unicode | text to add. |
ucs4_t 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 string.
unsigned UString::ccount | ( | ucs4_t | character | ) | const [protected] |
Count occurrences of a unicode character in string.
character | code to search for. |
strsize_t UString::count | ( | void | ) | const [inline, protected] |
Find first occurrence of character in string.
character | code to search for. |
start | offset in string in codepoints. |
size_t 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 string.
Get a new substring through object expression.
codepoint | offset of substring. |
size | of substring or 0 if to end. |
Reimplemented from string.
const char* 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 string.
size_t UString::operator() | ( | unicode_t | unicode, |
size_t | size | ||
) | const [inline, protected] |
ucs4_t UString::operator[] | ( | int | position | ) | const [inline, protected] |
Find last occurrence of character in string.
character | code to search for. |
end | offset to start from in codepoints. |
void UString::set | ( | const unicode_t | unicode | ) | [protected] |
Set a utf8 encoded string based on unicode data.
unicode | text to set. |