Android-cuttlefish cvd tool
Classes | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
teeui::UTF8Range< CharIterator > Class Template Reference

#include <utf8range.h>

Classes

class  Iter
 

Public Member Functions

 UTF8Range (CharIterator begin, CharIterator end)
 
 UTF8Range ()
 
 UTF8Range (const UTF8Range &)=default
 
 UTF8Range (UTF8Range &&)=default
 
UTF8Rangeoperator= (UTF8Range &&)=default
 
UTF8Rangeoperator= (const UTF8Range &)=default
 
Iter begin () const
 
Iter end () const
 
bool verify ()
 

Static Public Member Functions

static size_t byteCount (char c)
 
static unsigned long codePoint (CharIterator begin)
 

Private Attributes

CharIterator begin_
 
CharIterator end_
 

Detailed Description

template<typename CharIterator>
class teeui::UTF8Range< CharIterator >

Important notice. The UTF8Range only works on verified UTF8 encoded strings. E.g. if the string successfully passed through our CBOR formatting (see cbor.h) it is safe to use with UTF8Range. Alternatively, you can call verify() on a new range.

Constructor & Destructor Documentation

◆ UTF8Range() [1/4]

template<typename CharIterator >
teeui::UTF8Range< CharIterator >::UTF8Range ( CharIterator  begin,
CharIterator  end 
)
inline

◆ UTF8Range() [2/4]

template<typename CharIterator >
teeui::UTF8Range< CharIterator >::UTF8Range ( )
inline

◆ UTF8Range() [3/4]

template<typename CharIterator >
teeui::UTF8Range< CharIterator >::UTF8Range ( const UTF8Range< CharIterator > &  )
default

◆ UTF8Range() [4/4]

template<typename CharIterator >
teeui::UTF8Range< CharIterator >::UTF8Range ( UTF8Range< CharIterator > &&  )
default

Member Function Documentation

◆ begin()

template<typename CharIterator >
Iter teeui::UTF8Range< CharIterator >::begin ( ) const
inline

◆ byteCount()

template<typename CharIterator >
static size_t teeui::UTF8Range< CharIterator >::byteCount ( char  c)
inlinestatic

Decodes a header byte of a UTF8 sequence. In UTF8 encoding the number of leading ones indicate the length of the UTF8 sequence. Following bytes start with b10 followed by six payload bits. Sequences of length one start with a 0 followed by 7 payload bits.

◆ codePoint()

template<typename CharIterator >
static unsigned long teeui::UTF8Range< CharIterator >::codePoint ( CharIterator  begin)
inlinestatic

◆ end()

template<typename CharIterator >
Iter teeui::UTF8Range< CharIterator >::end ( ) const
inline

◆ operator=() [1/2]

template<typename CharIterator >
UTF8Range & teeui::UTF8Range< CharIterator >::operator= ( const UTF8Range< CharIterator > &  )
default

◆ operator=() [2/2]

template<typename CharIterator >
UTF8Range & teeui::UTF8Range< CharIterator >::operator= ( UTF8Range< CharIterator > &&  )
default

◆ verify()

template<typename CharIterator >
bool teeui::UTF8Range< CharIterator >::verify ( )
inline

Member Data Documentation

◆ begin_

template<typename CharIterator >
CharIterator teeui::UTF8Range< CharIterator >::begin_
private

◆ end_

template<typename CharIterator >
CharIterator teeui::UTF8Range< CharIterator >::end_
private

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