openMSX
Namespaces | Classes | Functions
utf8 Namespace Reference

Namespaces

namespace  internal
 
namespace  unchecked
 

Classes

class  invalid_code_point
 
class  invalid_utf16
 
class  invalid_utf8
 
class  iterator
 
class  not_enough_room
 

Functions

template<typename octet_iterator , typename output_iterator >
output_iterator replace_invalid (octet_iterator start, octet_iterator end, output_iterator out, uint32_t replacement)
 
template<typename octet_iterator , typename output_iterator >
output_iterator replace_invalid (octet_iterator start, octet_iterator end, output_iterator out)
 
template<typename octet_iterator >
octet_iterator append (uint32_t cp, octet_iterator result)
 
template<typename octet_iterator >
uint32_t next (octet_iterator &it, octet_iterator end)
 
template<typename octet_iterator >
uint32_t peek_next (octet_iterator it, octet_iterator end)
 
template<typename octet_iterator >
uint32_t prior (octet_iterator &it, octet_iterator start)
 
template<typename octet_iterator , typename distance_type >
void advance (octet_iterator &it, distance_type n, octet_iterator end)
 
template<typename octet_iterator >
auto distance (octet_iterator first, octet_iterator last)
 
template<typename u16bit_iterator , typename octet_iterator >
octet_iterator utf16to8 (u16bit_iterator start, u16bit_iterator end, octet_iterator result)
 
template<typename u16bit_iterator , typename octet_iterator >
u16bit_iterator utf8to16 (octet_iterator start, octet_iterator end, u16bit_iterator result)
 
template<typename octet_iterator , typename u32bit_iterator >
octet_iterator utf32to8 (u32bit_iterator start, u32bit_iterator end, octet_iterator result)
 
template<typename octet_iterator , typename u32bit_iterator >
u32bit_iterator utf8to32 (octet_iterator start, octet_iterator end, u32bit_iterator result)
 
template<typename octet_iterator >
constexpr octet_iterator find_invalid (octet_iterator start, octet_iterator end)
 The library API - functions intended to be called by the users.
 
template<typename octet_iterator >
constexpr bool is_valid (octet_iterator start, octet_iterator end)
 
template<typename octet_iterator >
constexpr bool is_bom (octet_iterator it)
 
template<typename octet_iterator >
constexpr octet_iterator sync_forward (octet_iterator it)
 
template<typename octet_iterator >
constexpr octet_iterator sync_backward (octet_iterator it)
 
constexpr bool is_pua (uint32_t cp)
 

Function Documentation

◆ advance()

template<typename octet_iterator , typename distance_type >
void utf8::advance ( octet_iterator &  it,
distance_type  n,
octet_iterator  end 
)

Definition at line 189 of file utf8_checked.hh.

References end(), next(), and repeat().

◆ append()

template<typename octet_iterator >
octet_iterator utf8::append ( uint32_t  cp,
octet_iterator  result 
)

◆ distance()

template<typename octet_iterator >
auto utf8::distance ( octet_iterator  first,
octet_iterator  last 
)

Definition at line 195 of file utf8_checked.hh.

References next().

◆ find_invalid()

template<typename octet_iterator >
constexpr octet_iterator utf8::find_invalid ( octet_iterator  start,
octet_iterator  end 
)
constexpr

The library API - functions intended to be called by the users.

Definition at line 212 of file utf8_core.hh.

References end(), utf8::internal::OK, and utf8::internal::validate_next().

Referenced by is_valid().

◆ is_bom()

template<typename octet_iterator >
constexpr bool utf8::is_bom ( octet_iterator  it)
constexpr

Definition at line 231 of file utf8_core.hh.

◆ is_pua()

constexpr bool utf8::is_pua ( uint32_t  cp)
constexpr

Definition at line 257 of file utf8_core.hh.

◆ is_valid()

template<typename octet_iterator >
constexpr bool utf8::is_valid ( octet_iterator  start,
octet_iterator  end 
)
constexpr

Definition at line 225 of file utf8_core.hh.

References end(), and find_invalid().

◆ next()

template<typename octet_iterator >
uint32_t utf8::next ( octet_iterator &  it,
octet_iterator  end 
)

◆ peek_next()

template<typename octet_iterator >
uint32_t utf8::peek_next ( octet_iterator  it,
octet_iterator  end 
)

Definition at line 169 of file utf8_checked.hh.

References end(), and next().

◆ prior()

template<typename octet_iterator >
uint32_t utf8::prior ( octet_iterator &  it,
octet_iterator  start 
)

◆ replace_invalid() [1/2]

template<typename octet_iterator , typename output_iterator >
output_iterator utf8::replace_invalid ( octet_iterator  start,
octet_iterator  end,
output_iterator  out 
)
inline

Definition at line 111 of file utf8_checked.hh.

References end(), and replace_invalid().

◆ replace_invalid() [2/2]

template<typename octet_iterator , typename output_iterator >
output_iterator utf8::replace_invalid ( octet_iterator  start,
octet_iterator  end,
output_iterator  out,
uint32_t  replacement 
)

Definition at line 76 of file utf8_checked.hh.

References append(), end(), utf8::internal::is_trail(), and utf8::internal::validate_next().

Referenced by replace_invalid().

◆ sync_backward()

template<typename octet_iterator >
constexpr octet_iterator utf8::sync_backward ( octet_iterator  it)
constexpr

Definition at line 249 of file utf8_core.hh.

References utf8::internal::is_trail().

◆ sync_forward()

template<typename octet_iterator >
constexpr octet_iterator utf8::sync_forward ( octet_iterator  it)
constexpr

Definition at line 242 of file utf8_core.hh.

References utf8::internal::is_trail().

◆ utf16to8()

template<typename u16bit_iterator , typename octet_iterator >
octet_iterator utf8::utf16to8 ( u16bit_iterator  start,
u16bit_iterator  end,
octet_iterator  result 
)

◆ utf32to8()

template<typename octet_iterator , typename u32bit_iterator >
octet_iterator utf8::utf32to8 ( u32bit_iterator  start,
u32bit_iterator  end,
octet_iterator  result 
)

Definition at line 245 of file utf8_checked.hh.

References append(), and end().

◆ utf8to16()

template<typename u16bit_iterator , typename octet_iterator >
u16bit_iterator utf8::utf8to16 ( octet_iterator  start,
octet_iterator  end,
u16bit_iterator  result 
)

◆ utf8to32()

template<typename octet_iterator , typename u32bit_iterator >
u32bit_iterator utf8::utf8to32 ( octet_iterator  start,
octet_iterator  end,
u32bit_iterator  result 
)

Definition at line 255 of file utf8_checked.hh.

References end(), and next().