UCommon
Public Member Functions | Protected Attributes
ucommon::utf8_pointer Class Reference

Pointer to utf8 encoded character data. More...

#include <unicode.h>

Public Member Functions

char * c_str (void) const
 Get c string we point to.
void dec (void)
 Iterative decrement of a utf8 pointer to prior codepoint.
void inc (void)
 Iterative increment of a utf8 pointer to next codepoint.
size_t len (void) const
 Get length of null terminated utf8 string in codepoints.
 operator bool () const
 Check if text is valid pointer.
 operator char * () const
 Convert utf8 pointer to a generic string pointer.
bool operator! () const
 Check if text is an invalid pointer.
bool operator!= (const char *string) const
 check if pointer does not equal another string.
ucs4_t operator* () const
 Get unicode character pointed to by pointer.
utf8_pointer operator+ (long offset) const
 Get new utf8 string after adding a codepoint offset.
utf8_pointeroperator++ ()
 Iterative increment of a utf8 pointer to prior codepoint.
utf8_pointeroperator+= (long offset)
 Adjust utf8 pointer by specified codepoints forward.
utf8_pointer operator- (long offset) const
 Get new utf8 string after subtracting a codepoint offset.
utf8_pointeroperator-- ()
 Iterative decrement of a utf8 pointer to next codepoint.
utf8_pointeroperator-= (long offset)
 Adjust utf8 pointer by specified codepoints backward.
utf8_pointeroperator= (const char *string)
 Assign a utf8 string to point to.
bool operator== (const char *string) const
 check if pointer equals another string.
ucs4_t operator[] (long codepoint) const
 Extract a unicode character from a specified codepoint.
 utf8_pointer ()
 Create a utf8 pointer set to NULL.
 utf8_pointer (const char *string)
 Create a utf8 pointer for an existing char pointer.
 utf8_pointer (const utf8_pointer &copy)
 Create a utf8 pointer as a copy of existing utf8 pointer.

Protected Attributes

uint8_t * text

Detailed Description

Pointer to utf8 encoded character data.

This is a kind of "char *" for utf8 text.

Author:
David Sugar <dyfet@gnutelephony.org>

Definition at line 392 of file unicode.h.


Constructor & Destructor Documentation

ucommon::utf8_pointer::utf8_pointer ( const char *  string)

Create a utf8 pointer for an existing char pointer.

Parameters:
stringpointer to use.

Create a utf8 pointer as a copy of existing utf8 pointer.

Parameters:
copyof object to use.

Member Function Documentation

char* ucommon::utf8_pointer::c_str ( void  ) const [inline]

Get c string we point to.

Returns:
string we point to.

Definition at line 520 of file unicode.h.

size_t ucommon::utf8_pointer::len ( void  ) const [inline]

Get length of null terminated utf8 string in codepoints.

Returns:
codepoint length of string.

Definition at line 534 of file unicode.h.

Here is the call graph for this function:

ucommon::utf8_pointer::operator bool ( ) const [inline]

Check if text is valid pointer.

Returns:
true if not NULL.

Definition at line 459 of file unicode.h.

ucommon::utf8_pointer::operator char * ( ) const [inline]

Convert utf8 pointer to a generic string pointer.

Returns:
generic string pointer.

Definition at line 527 of file unicode.h.

bool ucommon::utf8_pointer::operator! ( ) const [inline]

Check if text is an invalid pointer.

Returns:
false if not NULL.

Definition at line 466 of file unicode.h.

bool ucommon::utf8_pointer::operator!= ( const char *  string) const [inline]

check if pointer does not equal another string.

Parameters:
stringto check.
Returns:
false if same memory address.

Definition at line 506 of file unicode.h.

ucs4_t ucommon::utf8_pointer::operator* ( ) const [inline]

Get unicode character pointed to by pointer.

Returns:
unicode character we are pointing to.

Definition at line 513 of file unicode.h.

Here is the call graph for this function:

utf8_pointer ucommon::utf8_pointer::operator+ ( long  offset) const

Get new utf8 string after adding a codepoint offset.

Parameters:
offsetto add.
Returns:
new utf8 pointer pointing to specified offset.
utf8_pointer& ucommon::utf8_pointer::operator++ ( )

Iterative increment of a utf8 pointer to prior codepoint.

Returns:
object incremented.
utf8_pointer& ucommon::utf8_pointer::operator+= ( long  offset)

Adjust utf8 pointer by specified codepoints forward.

Parameters:
offsetto increment by.
Returns:
object incremented.
utf8_pointer ucommon::utf8_pointer::operator- ( long  offset) const

Get new utf8 string after subtracting a codepoint offset.

Parameters:
offsetto subtract.
Returns:
new utf8 pointer pointing to specified offset.
utf8_pointer& ucommon::utf8_pointer::operator-- ( )

Iterative decrement of a utf8 pointer to next codepoint.

Returns:
object decremented.
utf8_pointer& ucommon::utf8_pointer::operator-= ( long  offset)

Adjust utf8 pointer by specified codepoints backward.

Parameters:
offsetto decrement by.
Returns:
object decremented.
utf8_pointer& ucommon::utf8_pointer::operator= ( const char *  string)

Assign a utf8 string to point to.

Parameters:
stringto point to.
Returns:
current object after set to string.
bool ucommon::utf8_pointer::operator== ( const char *  string) const [inline]

check if pointer equals another string.

Parameters:
stringto check.
Returns:
true if same memory address.

Definition at line 498 of file unicode.h.

ucs4_t ucommon::utf8_pointer::operator[] ( long  codepoint) const

Extract a unicode character from a specified codepoint.

Parameters:
codepointoffset to extract character from.
Returns:
unicode character or 0.

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