Public Member Functions | Protected Attributes

ucc::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 (const char *string)
 Create a utf8 pointer for an existing char pointer.
 utf8_pointer ()
 Create a utf8 pointer set to NULL.
 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 339 of file unicode.h.


Constructor & Destructor Documentation

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

Create a utf8 pointer for an existing char pointer.

Parameters:
string pointer to use.
ucc::utf8_pointer::utf8_pointer ( const utf8_pointer copy  ) 

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

Parameters:
copy of object to use.

Member Function Documentation

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

Get c string we point to.

Returns:
string we point to.

Definition at line 467 of file unicode.h.

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

Get length of null terminated utf8 string in codepoints.

Returns:
codepoint length of string.

Definition at line 481 of file unicode.h.

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

Check if text is valid pointer.

Returns:
true if not NULL.

Definition at line 406 of file unicode.h.

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

Convert utf8 pointer to a generic string pointer.

Returns:
generic string pointer.

Definition at line 474 of file unicode.h.

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

Check if text is an invalid pointer.

Returns:
false if not NULL.

Definition at line 413 of file unicode.h.

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

check if pointer does not equal another string.

Parameters:
string to check.
Returns:
false if same memory address.

Definition at line 453 of file unicode.h.

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

Get unicode character pointed to by pointer.

Returns:
unicode character we are pointing to.

Definition at line 460 of file unicode.h.

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

Get new utf8 string after adding a codepoint offset.

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

Iterative increment of a utf8 pointer to prior codepoint.

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

Adjust utf8 pointer by specified codepoints forward.

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

Get new utf8 string after subtracting a codepoint offset.

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

Iterative decrement of a utf8 pointer to next codepoint.

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

Adjust utf8 pointer by specified codepoints backward.

Parameters:
offset to decrement by.
Returns:
object decremented.
utf8_pointer& ucc::utf8_pointer::operator= ( const char *  string  ) 

Assign a utf8 string to point to.

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

check if pointer equals another string.

Parameters:
string to check.
Returns:
true if same memory address.

Definition at line 445 of file unicode.h.

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

Extract a unicode character from a specified codepoint.

Parameters:
codepoint offset to extract character from.
Returns:
unicode character or 0.

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