cppx-core
Classes | Functions | Variables
cppx::utf16 Namespace Reference

Classes

class  Generator
 

Functions

 CPPX_USE_STD (basic_string, basic_string_view, string, string_view, u16string, wstring, iterator_traits, move, next)
 
template<class Char , class Result_char = char16_t, class = Enable_if_< magnitude_bits_per_<Result_char> >= 16>
auto from_string_view (const basic_string_view< Char > &sv) -> basic_string< Result_char >
 
template<class Char >
auto from (const P_< const Char > s) -> u16string
 
template<class Char >
auto from (const basic_string< Char > &s) -> u16string
 
auto from (u16string s) -> u16string
 
template<class Char >
auto from (const basic_string_view< Char > &s) -> u16string
 
template<class Char >
auto wide_from (const P_< const Char > s) -> wstring
 
template<class Char >
auto wide_from (const basic_string< Char > &s) -> wstring
 
template<class Char >
auto wide_from (const basic_string_view< Char > &s) -> wstring
 
 CPPX_USE_STD (distance, invoke, ref, next)
 
 CPPX_USE_STD (basic_string, basic_string_view)
 
template<class Char >
auto n_units_for (const basic_string_view< Char > &sv) noexcept -> Size
 
template<class Char >
auto n_units_for (const P_< Char > s) noexcept -> Size
 
template<class Char >
auto n_units_for (const basic_string< Char > &s) noexcept -> Size
 
constexpr Range_< unsigned > range_of_pair_value_1 (0xD800, 0xDBFF)
 
constexpr Range_< unsigned > range_of_pair_value_2 (0xDC00, 0xDFFF)
 
constexpr auto code_from_pair (const unsigned v1, const unsigned v2) noexcept -> uint32_t
 
constexpr auto pair_value_1_from (const uint32_t code) -> unsigned
 
constexpr auto pair_value_2_from (const uint32_t code) -> unsigned
 
template<class Out_iterator >
auto from_code_point (const uint32_t code_point, const Out_iterator destination) -> Out_iterator
 

Variables

constexpr uint32_t first_beyond = 1uL << 16
 
constexpr unsigned max_value = first_beyond - 1
 

Function Documentation

◆ code_from_pair()

constexpr auto cppx::utf16::code_from_pair ( const unsigned  v1,
const unsigned  v2 
) -> uint32_t
inlinenoexcept

Definition at line 19 of file utf16-surrogate-pairs.hpp.

◆ CPPX_USE_STD() [1/3]

cppx::utf16::CPPX_USE_STD ( basic_string  ,
basic_string_view  ,
string  ,
string_view  ,
u16string  ,
wstring  ,
iterator_traits  ,
move  ,
next   
)

◆ CPPX_USE_STD() [2/3]

cppx::utf16::CPPX_USE_STD ( basic_string  ,
basic_string_view   
)

◆ CPPX_USE_STD() [3/3]

cppx::utf16::CPPX_USE_STD ( distance  ,
invoke  ,
ref  ,
next   
)

◆ from() [1/4]

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

Definition at line 39 of file utf16-from.hpp.

◆ from() [2/4]

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

Definition at line 44 of file utf16-from.hpp.

◆ from() [3/4]

auto cppx::utf16::from ( u16string  s) -> u16string
inline

Definition at line 48 of file utf16-from.hpp.

◆ from() [4/4]

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

Definition at line 53 of file utf16-from.hpp.

◆ from_code_point()

template<class Out_iterator >
auto cppx::utf16::from_code_point ( const uint32_t  code_point,
const Out_iterator  destination 
) -> Out_iterator

Definition at line 48 of file utf16-surrogate-pairs.hpp.

◆ from_string_view()

template<class Char , class Result_char = char16_t, class = Enable_if_< magnitude_bits_per_<Result_char> >= 16>
auto cppx::utf16::from_string_view ( const basic_string_view< Char > &  sv) -> basic_string<Result_char>
inline

Definition at line 19 of file utf16-from.hpp.

◆ n_units_for() [1/3]

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

Definition at line 12 of file utf16-n_units_for.hpp.

◆ n_units_for() [2/3]

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

Definition at line 27 of file utf16-n_units_for.hpp.

◆ n_units_for() [3/3]

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

Definition at line 32 of file utf16-n_units_for.hpp.

◆ pair_value_1_from()

constexpr auto cppx::utf16::pair_value_1_from ( const uint32_t  code) -> unsigned
inline

Definition at line 30 of file utf16-surrogate-pairs.hpp.

◆ pair_value_2_from()

constexpr auto cppx::utf16::pair_value_2_from ( const uint32_t  code) -> unsigned
inline

Definition at line 37 of file utf16-surrogate-pairs.hpp.

◆ range_of_pair_value_1()

constexpr Range_<unsigned> cppx::utf16::range_of_pair_value_1 ( 0xD800  ,
0xDBFF   
)

◆ range_of_pair_value_2()

constexpr Range_<unsigned> cppx::utf16::range_of_pair_value_2 ( 0xDC00  ,
0xDFFF   
)

◆ wide_from() [1/3]

template<class Char >
auto cppx::utf16::wide_from ( const P_< const Char >  s) -> wstring
inline

Definition at line 58 of file utf16-from.hpp.

◆ wide_from() [2/3]

template<class Char >
auto cppx::utf16::wide_from ( const basic_string< Char > &  s) -> wstring
inline

Definition at line 63 of file utf16-from.hpp.

◆ wide_from() [3/3]

template<class Char >
auto cppx::utf16::wide_from ( const basic_string_view< Char > &  s) -> wstring
inline

Definition at line 72 of file utf16-from.hpp.

Variable Documentation

◆ first_beyond

constexpr uint32_t cppx::utf16::first_beyond = 1uL << 16

Definition at line 12 of file utf16-surrogate-pairs.hpp.

◆ max_value

constexpr unsigned cppx::utf16::max_value = first_beyond - 1

Definition at line 13 of file utf16-surrogate-pairs.hpp.