46 class internal_writer;
66 class internal_writer;
80 virtual uint32_t
next() = 0;
82 void to_utf8(std::function<
bool(
char,
int)>
const &fn)
89 if (!fn((
char)c, pos))
break;
92 void to_utf16(std::function<
bool(uint16_t)>
const &fn)
98 if (!fn((uint16_t)c))
break;
101 void to_utf32(std::function<
bool(uint32_t)>
const &fn)
120 utf32(uint32_t
const *
ptr,
size_t len);
121 uint32_t
next()
override;
133 utf16(uint16_t
const *
ptr,
size_t len);
134 uint32_t
next()
override;
141 utf8(
char const *ptr,
char const *end);
142 utf8(
char const *ptr);
143 utf8(
char const *ptr,
size_t len);
144 uint32_t
next()
override;
virtual uint32_t next()=0
virtual ~abstract_unicode_reader()=default
void to_utf8(std::function< bool(char, int)> const &fn)
Definition: unicode.h:82
void to_utf16(std::function< bool(uint16_t)> const &fn)
Definition: unicode.h:92
void to_utf32(std::function< bool(uint32_t)> const &fn)
Definition: unicode.h:101
char const * end
Definition: unicode.h:20
utf8decoder(char const *begin, char const *end)
Definition: unicode.cpp:117
char const * begin
Definition: unicode.h:19
utf8_reader_state_t s
Definition: unicode.h:23
uint32_t next()
Definition: unicode.cpp:125
size_t offset() const
Definition: unicode.h:27
size_t pos
Definition: unicode.h:21
Definition: unicode.h:124
uint16_t const * end
Definition: unicode.h:128
utf16(uint16_t const *ptr, uint16_t const *end)
Definition: unicode.cpp:168
uint16_t const * ptr
Definition: unicode.h:127
uint32_t next() override
Definition: unicode.cpp:186
uint16_t get()
Definition: unicode.cpp:336
utf16encoder(abstract_unicode_reader *reader=nullptr)
Definition: unicode.cpp:295
bool next_()
Definition: unicode.cpp:307
void set(abstract_unicode_reader *reader)
Definition: unicode.cpp:300
struct utf16encoder::internal_data data
bool next()
Definition: unicode.cpp:318
Definition: unicode.h:111
uint32_t next() override
Definition: unicode.cpp:158
uint32_t const * ptr
Definition: unicode.h:114
uint32_t const * end
Definition: unicode.h:115
utf32(uint32_t const *ptr, uint32_t const *end)
Definition: unicode.cpp:140
Definition: unicode.h:137
unicode_helper_::utf8decoder reader
Definition: unicode.h:139
size_t offset() const
Definition: unicode.h:145
uint32_t next() override
Definition: unicode.cpp:361
utf8(char const *ptr, char const *end)
Definition: unicode.cpp:346
int pos() const
Definition: unicode.cpp:272
bool next()
Definition: unicode.cpp:246
bool next_()
Definition: unicode.cpp:235
char get()
Definition: unicode.cpp:264
void set(abstract_unicode_reader *reader)
Definition: unicode.cpp:228
utf8encoder(abstract_unicode_reader *reader=nullptr)
Definition: unicode.cpp:223
struct utf8encoder::internal_data data
Definition: unicode.cpp:4
uint32_t b
Definition: unicode.h:14
int a
Definition: unicode.h:13
int pos
Definition: unicode.h:63
uint16_t c
Definition: unicode.h:61
abstract_unicode_reader * reader
Definition: unicode.h:60
uint16_t buf[2]
Definition: unicode.h:62
int len
Definition: unicode.h:63
abstract_unicode_reader * reader
Definition: unicode.h:40
char buf[8]
Definition: unicode.h:42
int len
Definition: unicode.h:43
int pos
Definition: unicode.h:43
char c
Definition: unicode.h:41