KiCad PCB EDA Suite
Loading...
Searching...
No Matches
UTF8::uni_iter Class Reference

uni_iter is a non-mutating iterator that walks through unicode code points in the UTF8 encoded string. More...

#include <utf8.h>

Public Member Functions

 uni_iter ()
 
 uni_iter (const uni_iter &o)
 
const uni_iteroperator++ ()
 pre-increment and return uni_iter at new position
 
uni_iter operator++ (int)
 post-increment and return uni_iter at initial position
 
unsigned operator-> () const
 return unicode at current position
 
unsigned operator* () const
 return unicode at current position
 
uni_iter operator- (int aVal) const
 
bool operator== (const uni_iter &other) const
 
bool operator!= (const uni_iter &other) const
 
bool operator< (const uni_iter &other) const
 Since the ++ operators advance more than one byte, this is your best loop termination test, < end(), not == end().
 
bool operator<= (const uni_iter &other) const
 
bool operator> (const uni_iter &other) const
 
bool operator>= (const uni_iter &other) const
 

Private Member Functions

 uni_iter (const char *start)
 

Private Attributes

const unsigned char * it
 

Friends

class UTF8
 

Detailed Description

uni_iter is a non-mutating iterator that walks through unicode code points in the UTF8 encoded string.

The normal ++(), ++(int), ->(), and *() operators are all supported for read only access and some return an unsigned holding the unicode character appropriate for the respective operator.

Definition at line 208 of file utf8.h.

Constructor & Destructor Documentation

◆ uni_iter() [1/3]

UTF8::uni_iter::uni_iter ( )
inline

Definition at line 211 of file utf8.h.

References it.

Referenced by operator-().

◆ uni_iter() [2/3]

UTF8::uni_iter::uni_iter ( const uni_iter o)
inline

Definition at line 216 of file utf8.h.

References it.

◆ uni_iter() [3/3]

UTF8::uni_iter::uni_iter ( const char *  start)
inlineprivate

Definition at line 275 of file utf8.h.

Member Function Documentation

◆ operator!=()

bool UTF8::uni_iter::operator!= ( const uni_iter other) const
inline

Definition at line 260 of file utf8.h.

References it.

◆ operator*()

unsigned UTF8::uni_iter::operator* ( ) const
inline

return unicode at current position

Definition at line 248 of file utf8.h.

References it, and UTF8::uni_forward().

◆ operator++() [1/2]

const uni_iter & UTF8::uni_iter::operator++ ( )
inline

pre-increment and return uni_iter at new position

Definition at line 222 of file utf8.h.

References it, and UTF8::uni_forward().

◆ operator++() [2/2]

uni_iter UTF8::uni_iter::operator++ ( int  )
inline

post-increment and return uni_iter at initial position

Definition at line 229 of file utf8.h.

References it, and UTF8::uni_forward().

◆ operator-()

uni_iter UTF8::uni_iter::operator- ( int  aVal) const
inline

Definition at line 257 of file utf8.h.

References it, and uni_iter().

◆ operator->()

unsigned UTF8::uni_iter::operator-> ( ) const
inline

return unicode at current position

Definition at line 238 of file utf8.h.

References it, and UTF8::uni_forward().

◆ operator<()

bool UTF8::uni_iter::operator< ( const uni_iter other) const
inline

Since the ++ operators advance more than one byte, this is your best loop termination test, < end(), not == end().

Definition at line 264 of file utf8.h.

References it.

◆ operator<=()

bool UTF8::uni_iter::operator<= ( const uni_iter other) const
inline

Definition at line 265 of file utf8.h.

References it.

◆ operator==()

bool UTF8::uni_iter::operator== ( const uni_iter other) const
inline

Definition at line 259 of file utf8.h.

References it.

◆ operator>()

bool UTF8::uni_iter::operator> ( const uni_iter other) const
inline

Definition at line 266 of file utf8.h.

References it.

◆ operator>=()

bool UTF8::uni_iter::operator>= ( const uni_iter other) const
inline

Definition at line 267 of file utf8.h.

References it.

Friends And Related Function Documentation

◆ UTF8

friend class UTF8
friend

Definition at line 270 of file utf8.h.

Member Data Documentation

◆ it

const unsigned char* UTF8::uni_iter::it
private

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