sink-writing decode

master
Daniel Kolesa 2018-01-05 22:16:18 +01:00
parent 58ccfbe276
commit 770ed476ca
1 changed files with 9 additions and 0 deletions

View File

@ -787,6 +787,15 @@ namespace utf {
*/
bool decode(wstring_range &r, char32_t &ret) noexcept;
template<typename R, typename C>
bool decode(R &sink, basic_char_range<C const> &r) {
if (char32_t ch; utf::decode(r, ch)) {
sink.put(ch);
return true;
}
return false;
}
namespace detail {
std::size_t u8_encode(
char (&ret)[4], char32_t ch