cppx-core
Classes | Functions
cppx::utf8 Namespace Reference

Classes

class  Generator
 
struct  Symbol_strings
 

Functions

 CPPX_USE_STD (basic_string, basic_string_view, iterator_traits, move, next, string, string_view)
 
template<class Char >
auto from_string_view (const basic_string_view< Char > &ws) -> string
 
template<class Char >
auto from (const P_< const Char > s) -> string
 
template<class Char >
auto from (const basic_string< Char > &s) -> string
 
auto from (string s) -> string
 
template<class Char >
auto from (const basic_string_view< Char > &s) -> string
 
 CPPX_USE_STD (basic_string, basic_string_view, iterator_traits, exchange, move, next, string)
 
constexpr auto is_the_execution_character_set () -> Truth
 
 CPPX_USE_STD (string_view)
 
auto is_single_byte (const char ch) -> Truth
 
auto is_valid_single_byte (const char ch) -> Truth
 
auto is_continuation_byte (const char ch) -> Truth
 
auto is_valid_continuation_byte (const char ch) -> Truth
 
auto is_lead_byte (const char ch) -> Truth
 
auto is_valid_lead_byte (const char ch) -> Truth
 
auto group_size_for_lead_byte (const char lead_byte) -> int
 
void move_to_next (P_< const char > &p)
 
void move_to_next (P_< const char > &p, const P_< const char > p_beyond)
 
void move_to_prev (P_< const char > &p)
 
auto move_to_prev (P_< const char > &p, const P_< const char > p_first) -> Truth
 
void advance (P_< const char > &p, const Size distance)
 
auto advance (P_< const char > &p, const Size distance, const string_view &range) -> Truth
 
auto next (P_< const char > p) -> P_< const char >
 
auto next (P_< const char > p, const P_< const char > p_beyond) -> P_< const char >
 
auto prev (P_< const char > p) -> P_< const char >
 
auto to_prev_code_point (P_< const char > p, const P_< const char > p_first) -> P_< const char >
 
auto n_code_points_in (const string_view &view) -> Size
 
 CPPX_USE_STD (basic_string, basic_string_view, iterator_traits, move, next, string)
 
template<class Char >
auto n_bytes_for (const basic_string_view< Char > &sv) noexcept -> Size
 
auto n_bytes_for (const basic_string_view< char > &sv) noexcept -> Size
 
template<class Char >
auto n_bytes_for (const P_< Char > s) noexcept -> Size
 
template<class Char >
auto n_bytes_for (const basic_string< Char > &s) noexcept -> Size
 

Function Documentation

◆ advance() [1/2]

void cppx::utf8::advance ( P_< const char > &  p,
const Size  distance 
)
inline

Definition at line 99 of file utf8-iteration.hpp.

◆ advance() [2/2]

auto cppx::utf8::advance ( P_< const char > &  p,
const Size  distance,
const string_view &  range 
) -> Truth
inline

Definition at line 111 of file utf8-iteration.hpp.

◆ CPPX_USE_STD() [1/4]

cppx::utf8::CPPX_USE_STD ( basic_string  ,
basic_string_view  ,
iterator_traits  ,
move  ,
next  ,
string   
)

◆ CPPX_USE_STD() [2/4]

cppx::utf8::CPPX_USE_STD ( basic_string  ,
basic_string_view  ,
iterator_traits  ,
move  ,
next  ,
string  ,
string_view   
)

◆ CPPX_USE_STD() [3/4]

cppx::utf8::CPPX_USE_STD ( string_view  )

◆ CPPX_USE_STD() [4/4]

cppx::utf8::CPPX_USE_STD ( basic_string  ,
basic_string_view  ,
iterator_traits  ,
exchange  ,
move  ,
next  ,
string   
)

◆ from() [1/4]

template<class Char >
auto cppx::utf8::from ( const P_< const Char >  s) -> string
inline

Definition at line 31 of file utf8-from.hpp.

◆ from() [2/4]

template<class Char >
auto cppx::utf8::from ( const basic_string< Char > &  s) -> string
inline

Definition at line 36 of file utf8-from.hpp.

◆ from() [3/4]

auto cppx::utf8::from ( string  s) -> string
inline

Definition at line 40 of file utf8-from.hpp.

◆ from() [4/4]

template<class Char >
auto cppx::utf8::from ( const basic_string_view< Char > &  s) -> string
inline

Definition at line 45 of file utf8-from.hpp.

◆ from_string_view()

template<class Char >
auto cppx::utf8::from_string_view ( const basic_string_view< Char > &  ws) -> string
inline

Definition at line 12 of file utf8-from.hpp.

◆ group_size_for_lead_byte()

auto cppx::utf8::group_size_for_lead_byte ( const char  lead_byte) -> int
inline

Definition at line 59 of file utf8-iteration.hpp.

◆ is_continuation_byte()

auto cppx::utf8::is_continuation_byte ( const char  ch) -> Truth
inline

Definition at line 29 of file utf8-iteration.hpp.

◆ is_lead_byte()

auto cppx::utf8::is_lead_byte ( const char  ch) -> Truth
inline

Definition at line 41 of file utf8-iteration.hpp.

◆ is_single_byte()

auto cppx::utf8::is_single_byte ( const char  ch) -> Truth
inline

Definition at line 21 of file utf8-iteration.hpp.

◆ is_the_execution_character_set()

constexpr auto cppx::utf8::is_the_execution_character_set ( ) -> Truth

Definition at line 7 of file utf8-is_the_execution_character_set.hpp.

◆ is_valid_continuation_byte()

auto cppx::utf8::is_valid_continuation_byte ( const char  ch) -> Truth
inline

Definition at line 37 of file utf8-iteration.hpp.

◆ is_valid_lead_byte()

auto cppx::utf8::is_valid_lead_byte ( const char  ch) -> Truth
inline

Definition at line 49 of file utf8-iteration.hpp.

◆ is_valid_single_byte()

auto cppx::utf8::is_valid_single_byte ( const char  ch) -> Truth
inline

Definition at line 25 of file utf8-iteration.hpp.

◆ move_to_next() [1/2]

void cppx::utf8::move_to_next ( P_< const char > &  p)
inline

Definition at line 71 of file utf8-iteration.hpp.

◆ move_to_next() [2/2]

void cppx::utf8::move_to_next ( P_< const char > &  p,
const P_< const char >  p_beyond 
)
inline

Definition at line 76 of file utf8-iteration.hpp.

◆ move_to_prev() [1/2]

void cppx::utf8::move_to_prev ( P_< const char > &  p)
inline

Definition at line 84 of file utf8-iteration.hpp.

◆ move_to_prev() [2/2]

auto cppx::utf8::move_to_prev ( P_< const char > &  p,
const P_< const char >  p_first 
) -> Truth
inline

Definition at line 89 of file utf8-iteration.hpp.

◆ n_bytes_for() [1/4]

template<class Char >
auto cppx::utf8::n_bytes_for ( const basic_string_view< Char > &  sv) -> Size
inlinenoexcept

Definition at line 33 of file utf8-n_bytes_for.hpp.

◆ n_bytes_for() [2/4]

auto cppx::utf8::n_bytes_for ( const basic_string_view< char > &  sv) -> Size
inlinenoexcept

Definition at line 42 of file utf8-n_bytes_for.hpp.

◆ n_bytes_for() [3/4]

template<class Char >
auto cppx::utf8::n_bytes_for ( const P_< Char >  s) -> Size
inlinenoexcept

Definition at line 48 of file utf8-n_bytes_for.hpp.

◆ n_bytes_for() [4/4]

template<class Char >
auto cppx::utf8::n_bytes_for ( const basic_string< Char > &  s) -> Size
inlinenoexcept

Definition at line 53 of file utf8-n_bytes_for.hpp.

◆ n_code_points_in()

auto cppx::utf8::n_code_points_in ( const string_view &  view) -> Size
inline

Definition at line 162 of file utf8-iteration.hpp.

◆ next() [1/2]

auto cppx::utf8::next ( P_< const char >  p) -> P_<const char>
inline

Definition at line 134 of file utf8-iteration.hpp.

◆ next() [2/2]

auto cppx::utf8::next ( P_< const char >  p,
const P_< const char >  p_beyond 
) -> P_<const char>
inline

Definition at line 141 of file utf8-iteration.hpp.

◆ prev()

auto cppx::utf8::prev ( P_< const char >  p) -> P_<const char>
inline

Definition at line 148 of file utf8-iteration.hpp.

◆ to_prev_code_point()

auto cppx::utf8::to_prev_code_point ( P_< const char >  p,
const P_< const char >  p_first 
) -> P_<const char>
inline

Definition at line 155 of file utf8-iteration.hpp.