Unravel Engine C++ Reference
Loading...
Searching...
No Matches
utf8 Namespace Reference

Namespaces

namespace  internal
 
namespace  unchecked
 

Classes

class  exception
 
class  invalid_code_point
 
class  invalid_utf16
 
class  invalid_utf8
 
class  iterator
 
class  not_enough_room
 

Typedefs

typedef unsigned char utfchar8_t
 
typedef unsigned short utfchar16_t
 
typedef unsigned int utfchar32_t
 

Functions

template<typename octet_iterator >
octet_iterator append (utfchar32_t cp, octet_iterator result)
 The library API - functions intended to be called by the users.
 
void append (utfchar32_t cp, std::string &s)
 
template<typename word_iterator >
word_iterator append16 (utfchar32_t cp, word_iterator result)
 
template<typename octet_iterator , typename output_iterator >
output_iterator replace_invalid (octet_iterator start, octet_iterator end, output_iterator out, utfchar32_t replacement)
 
template<typename octet_iterator , typename output_iterator >
output_iterator replace_invalid (octet_iterator start, octet_iterator end, output_iterator out)
 
std::string replace_invalid (const std::string &s, utfchar32_t replacement)
 
std::string replace_invalid (const std::string &s)
 
template<typename octet_iterator >
utfchar32_t next (octet_iterator &it, octet_iterator end)
 
template<typename word_iterator >
utfchar32_t next16 (word_iterator &it, word_iterator end)
 
template<typename octet_iterator >
utfchar32_t peek_next (octet_iterator it, octet_iterator end)
 
template<typename octet_iterator >
utfchar32_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 >
std::iterator_traits< octet_iterator >::difference_type 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 >
octet_iterator find_invalid (octet_iterator start, octet_iterator end)
 
const char * find_invalid (const char *str)
 
std::size_t find_invalid (const std::string &s)
 
template<typename octet_iterator >
bool is_valid (octet_iterator start, octet_iterator end)
 
bool is_valid (const char *str)
 
bool is_valid (const std::string &s)
 
template<typename octet_iterator >
bool starts_with_bom (octet_iterator it, octet_iterator end)
 
bool starts_with_bom (const std::string &s)
 
void append16 (utfchar32_t cp, std::u16string &s)
 
std::string utf16to8 (const std::u16string &s)
 
std::u16string utf8to16 (const std::string &s)
 
std::string utf32to8 (const std::u32string &s)
 
std::u32string utf8to32 (const std::string &s)
 
std::string utf16to8 (std::u16string_view s)
 
std::u16string utf8to16 (std::string_view s)
 
std::string utf32to8 (std::u32string_view s)
 
std::u32string utf8to32 (std::string_view s)
 
std::size_t find_invalid (std::string_view s)
 
bool is_valid (std::string_view s)
 
std::string replace_invalid (std::string_view s, char32_t replacement)
 
std::string replace_invalid (std::string_view s)
 
bool starts_with_bom (std::string_view s)
 
std::u8string utf16tou8 (const std::u16string &s)
 
std::u8string utf16tou8 (std::u16string_view s)
 
std::u16string utf8to16 (const std::u8string &s)
 
std::u16string utf8to16 (const std::u8string_view &s)
 
std::u8string utf32tou8 (const std::u32string &s)
 
std::u8string utf32tou8 (const std::u32string_view &s)
 
std::u32string utf8to32 (const std::u8string &s)
 
std::u32string utf8to32 (const std::u8string_view &s)
 
std::size_t find_invalid (const std::u8string &s)
 
bool is_valid (const std::u8string &s)
 
std::u8string replace_invalid (const std::u8string &s, char32_t replacement)
 
std::u8string replace_invalid (const std::u8string &s)
 
bool starts_with_bom (const std::u8string &s)
 

Variables

const utfchar8_t bom [] = {0xef, 0xbb, 0xbf}
 The library API - functions intended to be called by the users.
 

Typedef Documentation

◆ utfchar16_t

typedef unsigned short utf8::utfchar16_t

Definition at line 70 of file core.h.

◆ utfchar32_t

typedef unsigned int utf8::utfchar32_t

Definition at line 71 of file core.h.

◆ utfchar8_t

typedef unsigned char utf8::utfchar8_t

Definition at line 69 of file core.h.

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 202 of file checked.h.

◆ append() [1/2]

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

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

Definition at line 74 of file checked.h.

◆ append() [2/2]

void utf8::append ( utfchar32_t cp,
std::string & s )
inline

Definition at line 82 of file checked.h.

◆ append16() [1/2]

void utf8::append16 ( utfchar32_t cp,
std::u16string & s )
inline

Definition at line 35 of file cpp11.h.

◆ append16() [2/2]

template<typename word_iterator >
word_iterator utf8::append16 ( utfchar32_t cp,
word_iterator result )

Definition at line 88 of file checked.h.

◆ distance()

template<typename octet_iterator >
std::iterator_traits< octet_iterator >::difference_type utf8::distance ( octet_iterator first,
octet_iterator last )

Definition at line 218 of file checked.h.

◆ find_invalid() [1/5]

const char * utf8::find_invalid ( const char * str)
inline

Definition at line 454 of file core.h.

◆ find_invalid() [2/5]

std::size_t utf8::find_invalid ( const std::string & s)
inline

Definition at line 460 of file core.h.

◆ find_invalid() [3/5]

std::size_t utf8::find_invalid ( const std::u8string & s)
inline

Definition at line 91 of file cpp20.h.

◆ find_invalid() [4/5]

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

Definition at line 443 of file core.h.

◆ find_invalid() [5/5]

std::size_t utf8::find_invalid ( std::string_view s)
inline

Definition at line 63 of file cpp17.h.

◆ is_valid() [1/5]

bool utf8::is_valid ( const char * str)
inline

Definition at line 472 of file core.h.

◆ is_valid() [2/5]

bool utf8::is_valid ( const std::string & s)
inline

Definition at line 477 of file core.h.

◆ is_valid() [3/5]

bool utf8::is_valid ( const std::u8string & s)
inline

Definition at line 97 of file cpp20.h.

◆ is_valid() [4/5]

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

Definition at line 467 of file core.h.

◆ is_valid() [5/5]

bool utf8::is_valid ( std::string_view s)
inline

Definition at line 69 of file cpp17.h.

◆ next()

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

Definition at line 151 of file checked.h.

◆ next16()

template<typename word_iterator >
utfchar32_t utf8::next16 ( word_iterator & it,
word_iterator end )

Definition at line 171 of file checked.h.

◆ peek_next()

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

Definition at line 181 of file checked.h.

◆ prior()

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

Definition at line 187 of file checked.h.

◆ replace_invalid() [1/8]

std::string utf8::replace_invalid ( const std::string & s)
inline

Definition at line 143 of file checked.h.

◆ replace_invalid() [2/8]

std::string utf8::replace_invalid ( const std::string & s,
utfchar32_t replacement )
inline

Definition at line 136 of file checked.h.

◆ replace_invalid() [3/8]

std::u8string utf8::replace_invalid ( const std::u8string & s)
inline

Definition at line 109 of file cpp20.h.

◆ replace_invalid() [4/8]

std::u8string utf8::replace_invalid ( const std::u8string & s,
char32_t replacement )
inline

Definition at line 102 of file cpp20.h.

◆ replace_invalid() [5/8]

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 130 of file checked.h.

◆ replace_invalid() [6/8]

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

Definition at line 97 of file checked.h.

◆ replace_invalid() [7/8]

std::string utf8::replace_invalid ( std::string_view s)
inline

Definition at line 81 of file cpp17.h.

◆ replace_invalid() [8/8]

std::string utf8::replace_invalid ( std::string_view s,
char32_t replacement )
inline

Definition at line 74 of file cpp17.h.

◆ starts_with_bom() [1/4]

bool utf8::starts_with_bom ( const std::string & s)
inline

Definition at line 494 of file core.h.

◆ starts_with_bom() [2/4]

bool utf8::starts_with_bom ( const std::u8string & s)
inline

Definition at line 116 of file cpp20.h.

◆ starts_with_bom() [3/4]

template<typename octet_iterator >
bool utf8::starts_with_bom ( octet_iterator it,
octet_iterator end )
inline

Definition at line 485 of file core.h.

◆ starts_with_bom() [4/4]

bool utf8::starts_with_bom ( std::string_view s)
inline

Definition at line 88 of file cpp17.h.

◆ utf16to8() [1/3]

std::string utf8::utf16to8 ( const std::u16string & s)
inline

Definition at line 40 of file cpp11.h.

◆ utf16to8() [2/3]

std::string utf8::utf16to8 ( std::u16string_view s)
inline

Definition at line 35 of file cpp17.h.

◆ utf16to8() [3/3]

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

Definition at line 227 of file checked.h.

◆ utf16tou8() [1/2]

std::u8string utf8::utf16tou8 ( const std::u16string & s)
inline

Definition at line 35 of file cpp20.h.

◆ utf16tou8() [2/2]

std::u8string utf8::utf16tou8 ( std::u16string_view s)
inline

Definition at line 42 of file cpp20.h.

◆ utf32to8() [1/3]

std::string utf8::utf32to8 ( const std::u32string & s)
inline

Definition at line 54 of file cpp11.h.

◆ utf32to8() [2/3]

std::string utf8::utf32to8 ( std::u32string_view s)
inline

Definition at line 49 of file cpp17.h.

◆ utf32to8() [3/3]

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

Definition at line 269 of file checked.h.

◆ utf32tou8() [1/2]

std::u8string utf8::utf32tou8 ( const std::u32string & s)
inline

Definition at line 63 of file cpp20.h.

◆ utf32tou8() [2/2]

std::u8string utf8::utf32tou8 ( const std::u32string_view & s)
inline

Definition at line 70 of file cpp20.h.

◆ utf8to16() [1/5]

std::u16string utf8::utf8to16 ( const std::string & s)
inline

Definition at line 47 of file cpp11.h.

◆ utf8to16() [2/5]

std::u16string utf8::utf8to16 ( const std::u8string & s)
inline

Definition at line 49 of file cpp20.h.

◆ utf8to16() [3/5]

std::u16string utf8::utf8to16 ( const std::u8string_view & s)
inline

Definition at line 56 of file cpp20.h.

◆ utf8to16() [4/5]

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

Definition at line 254 of file checked.h.

◆ utf8to16() [5/5]

std::u16string utf8::utf8to16 ( std::string_view s)
inline

Definition at line 42 of file cpp17.h.

◆ utf8to32() [1/5]

std::u32string utf8::utf8to32 ( const std::string & s)
inline

Definition at line 61 of file cpp11.h.

◆ utf8to32() [2/5]

std::u32string utf8::utf8to32 ( const std::u8string & s)
inline

Definition at line 77 of file cpp20.h.

◆ utf8to32() [3/5]

std::u32string utf8::utf8to32 ( const std::u8string_view & s)
inline

Definition at line 84 of file cpp20.h.

◆ utf8to32() [4/5]

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

Definition at line 278 of file checked.h.

◆ utf8to32() [5/5]

std::u32string utf8::utf8to32 ( std::string_view s)
inline

Definition at line 56 of file cpp17.h.

Variable Documentation

◆ bom

const utfchar8_t utf8::bom[] = {0xef, 0xbb, 0xbf}

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

Definition at line 440 of file core.h.