1 #pragma once // Source encoding: UTF-8 with BOM (π is a lowercase Greek "pi"). 7 #include <c/assert.hpp> 8 #include <c/stdint.hpp> 19 inline constexpr
auto code_from_pair(
const unsigned v1,
const unsigned v2 ) noexcept
46 class =
Enable_if_<(magnitude_bits_per_<Item_for_iterator_<Out_iterator>> >= 16)>
54 *destination = static_cast<Out_value>( code_point );
55 return next( destination );
58 Out_iterator it = destination;
constexpr unsigned max_value
auto from_code_point(const uint32_t code_point, const Out_iterator destination) -> Out_iterator
constexpr Range_< unsigned > range_of_pair_value_2(0xDC00, 0xDFFF)
constexpr auto pair_value_1_from(const uint32_t code) -> unsigned
constexpr uint32_t first_beyond
constexpr Range_< unsigned > range_of_pair_value_1(0xD800, 0xDBFF)
constexpr auto code_from_pair(const unsigned v1, const unsigned v2) noexcept -> uint32_t
auto next(P_< const char > p) -> P_< const char >
typename std::iterator_traits< Iterator >::value_type Item_for_iterator_
std::enable_if_t< condition, Result > Enable_if_
Just more readable than enable_if_t.
Byte and Signed_byte, + std::byte support definitions as_number and as_std_byte.
constexpr auto pair_value_2_from(const uint32_t code) -> unsigned