libosmscout  1.1.1
Classes | Typedefs | Functions | Variables
utf8helper Namespace Reference

Classes

struct  character
 
struct  Parser
 Parse and transform an UTF8 string. More...
 
class  UTF8String
 

Typedefs

using Transform = codepoint(*)(const character *, int context)
 functor implements desired transformation of the character It has 2 arguments: More...
 
using byte = uint8_t
 
using codepoint = uint32_t
 

Functions

std::string UTF8ToUpper (const std::string &text)
 
std::string UTF8ToLower (const std::string &text)
 
std::string UTF8Normalize (const std::string &text)
 
std::string UTF8Capitalize (const std::string &text)
 
std::string UTF8Transliterate (const std::string &text)
 
codepoint TransformNop (const character *, int)
 
codepoint TransformUpper (const character *, int)
 
codepoint TransformLower (const character *, int)
 
codepoint TransformCapitalize (const character *, int)
 
codepoint TransformNormalize (const character *, int)
 
codepoint TransformTransliterate (const character *, int)
 

Variables

constexpr int None = 0x00
 
constexpr int IsSpace = 0x01
 
constexpr int IsBreaker = 0x02
 
constexpr int IsControl = 0x04
 
constexpr int IsModifier = 0x08
 
constexpr int IsDiacritic = 0x10
 
constexpr int IsPunctuation = 0x20
 
constexpr codepoint NullCodepoint = 0
 
const character charmap_us7ascii []
 
const characterpagemap_16 [32]
 
const character charmap_c2 []
 
const character charmap_c3 []
 
const character charmap_c4 []
 
const character charmap_c5 []
 
const character charmap_c6 []
 
const character charmap_c7 []
 
const character charmap_c8 []
 
const character charmap_c9 []
 
const character charmap_ca []
 
const character charmap_cb []
 
const character charmap_cc []
 
const character charmap_cd []
 
const character charmap_ce []
 
const character charmap_cf []
 
const character charmap_d0 []
 
const character charmap_d1 []
 
const character charmap_d2 []
 
const character charmap_d3 []
 
const character charmap_d4 []
 
const character charmap_d5 []
 
const character charmap_d6 []
 
const characterpagemap_24_e1 []
 
const character charmap_e1_82 []
 
const character charmap_e1_83 []
 
const character charmap_e1_b8 []
 
const character charmap_e1_b9 []
 
const character charmap_e1_ba []
 
const character charmap_e1_bb []
 
const character charmap_e1_bc []
 
const character charmap_e1_bd []
 
const character charmap_e1_be []
 
const character charmap_e1_bf []
 
const characterpagemap_24_e2 []
 
const character charmap_e2_80 []
 
const character charmap_e2_81 []
 
const character charmap_e2_82 []
 
const character charmap_e2_b4 []
 
const characterpagemap_32_f0_90 []
 
const character charmap_f0_90_92 []
 
const character charmap_f0_90_93 []
 
const characterpagemap_32_f0_9e []
 
const character charmap_f0_9e_a4 []
 

Typedef Documentation

◆ byte

using utf8helper::byte = typedef uint8_t

◆ codepoint

using utf8helper::codepoint = typedef uint32_t

◆ Transform

using utf8helper::Transform = typedef codepoint (*)(const character*, int context)

functor implements desired transformation of the character It has 2 arguments:

  • The character struct matching the current code point
  • The context, it is the category of the preceding sequence It must return the new code point to be dumped instead, or NullCodepoint to discard the sequence.

Function Documentation

◆ TransformCapitalize()

codepoint utf8helper::TransformCapitalize ( const character ,
int   
)

◆ TransformLower()

codepoint utf8helper::TransformLower ( const character ,
int   
)

◆ TransformNop()

codepoint utf8helper::TransformNop ( const character ,
int   
)

◆ TransformNormalize()

codepoint utf8helper::TransformNormalize ( const character ,
int   
)

◆ TransformTransliterate()

codepoint utf8helper::TransformTransliterate ( const character ,
int   
)

◆ TransformUpper()

codepoint utf8helper::TransformUpper ( const character ,
int   
)

◆ UTF8Capitalize()

std::string utf8helper::UTF8Capitalize ( const std::string &  text)

◆ UTF8Normalize()

std::string utf8helper::UTF8Normalize ( const std::string &  text)

◆ UTF8ToLower()

std::string utf8helper::UTF8ToLower ( const std::string &  text)

◆ UTF8ToUpper()

std::string utf8helper::UTF8ToUpper ( const std::string &  text)

◆ UTF8Transliterate()

std::string utf8helper::UTF8Transliterate ( const std::string &  text)

Variable Documentation

◆ charmap_c2

const character utf8helper::charmap_c2[]

◆ charmap_c3

const character utf8helper::charmap_c3[]

◆ charmap_c4

const character utf8helper::charmap_c4[]

◆ charmap_c5

const character utf8helper::charmap_c5[]

◆ charmap_c6

const character utf8helper::charmap_c6[]

◆ charmap_c7

const character utf8helper::charmap_c7[]

◆ charmap_c8

const character utf8helper::charmap_c8[]

◆ charmap_c9

const character utf8helper::charmap_c9[]

◆ charmap_ca

const character utf8helper::charmap_ca[]

◆ charmap_cb

const character utf8helper::charmap_cb[]

◆ charmap_cc

const character utf8helper::charmap_cc[]

◆ charmap_cd

const character utf8helper::charmap_cd[]

◆ charmap_ce

const character utf8helper::charmap_ce[]

◆ charmap_cf

const character utf8helper::charmap_cf[]

◆ charmap_d0

const character utf8helper::charmap_d0[]

◆ charmap_d1

const character utf8helper::charmap_d1[]

◆ charmap_d2

const character utf8helper::charmap_d2[]

◆ charmap_d3

const character utf8helper::charmap_d3[]

◆ charmap_d4

const character utf8helper::charmap_d4[]

◆ charmap_d5

const character utf8helper::charmap_d5[]

◆ charmap_d6

const character utf8helper::charmap_d6[]

◆ charmap_e1_82

const character utf8helper::charmap_e1_82[]

◆ charmap_e1_83

const character utf8helper::charmap_e1_83[]

◆ charmap_e1_b8

const character utf8helper::charmap_e1_b8[]

◆ charmap_e1_b9

const character utf8helper::charmap_e1_b9[]

◆ charmap_e1_ba

const character utf8helper::charmap_e1_ba[]

◆ charmap_e1_bb

const character utf8helper::charmap_e1_bb[]

◆ charmap_e1_bc

const character utf8helper::charmap_e1_bc[]

◆ charmap_e1_bd

const character utf8helper::charmap_e1_bd[]

◆ charmap_e1_be

const character utf8helper::charmap_e1_be[]

◆ charmap_e1_bf

const character utf8helper::charmap_e1_bf[]

◆ charmap_e2_80

const character utf8helper::charmap_e2_80[]

◆ charmap_e2_81

const character utf8helper::charmap_e2_81[]

◆ charmap_e2_82

const character utf8helper::charmap_e2_82[]

◆ charmap_e2_b4

const character utf8helper::charmap_e2_b4[]

◆ charmap_f0_90_92

const character utf8helper::charmap_f0_90_92[]

◆ charmap_f0_90_93

const character utf8helper::charmap_f0_90_93[]

◆ charmap_f0_9e_a4

const character utf8helper::charmap_f0_9e_a4[]

◆ charmap_us7ascii

const character utf8helper::charmap_us7ascii[]

◆ IsBreaker

constexpr int utf8helper::IsBreaker = 0x02

◆ IsControl

constexpr int utf8helper::IsControl = 0x04

◆ IsDiacritic

constexpr int utf8helper::IsDiacritic = 0x10

◆ IsModifier

constexpr int utf8helper::IsModifier = 0x08

◆ IsPunctuation

constexpr int utf8helper::IsPunctuation = 0x20

◆ IsSpace

constexpr int utf8helper::IsSpace = 0x01

◆ None

constexpr int utf8helper::None = 0x00

◆ NullCodepoint

constexpr codepoint utf8helper::NullCodepoint = 0

◆ pagemap_16

const character* utf8helper::pagemap_16[32]

◆ pagemap_24_e1

const character* utf8helper::pagemap_24_e1[]

◆ pagemap_24_e2

const character* utf8helper::pagemap_24_e2[]

◆ pagemap_32_f0_90

const character* utf8helper::pagemap_32_f0_90[]

◆ pagemap_32_f0_9e

const character* utf8helper::pagemap_32_f0_9e[]