12#include "../utility/utility.hpp"
13#include "../macros.hpp"
18#if defined(HI_HAS_SSE2)
22hi_export_module(hikogui.char_maps.iso_8859_1);
24hi_export
namespace hi {
inline namespace v1 {
32 using char_type =
char;
34 [[
nodiscard]]
constexpr std::endian guess_endian(
void const *ptr,
size_t size, std::endian endian)
const noexcept
36 return std::endian::native;
39 template<
typename It,
typename EndIt>
48 hi_axiom(code_point < 0x11'0000);
49 hi_axiom(
not(code_point >= 0xd800
and code_point < 0xe000));
51 if (code_point < 0x0100) {
52 return {uint8_t{1},
true};
55 return {uint8_t{1},
false};
60 constexpr void write(
char32_t code_point,
It&
dst)
const noexcept
62 hi_axiom(code_point < 0x11'0000);
63 hi_axiom(
not(code_point >= 0xd800
and code_point < 0xe000));
65 if (code_point < 0x0100) {
72#if defined(HI_HAS_SSE2)
74 hi_force_inline
__m128i read_ascii_chunk16(
It it)
const noexcept
Definition of the char_converter<From,To> functor.
@ read
Allow read access to a file.
@ write
Allow write access to a file.
DOXYGEN BUG.
Definition algorithm_misc.hpp:20
The HikoGUI namespace.
Definition recursive_iterator.hpp:15
constexpr Out narrow_cast(In const &rhs) noexcept
Cast numeric values without loss of precision.
Definition cast.hpp:378
Character encoder/decoder template.
Definition char_converter.hpp:89