From 770ed476cae95397c0d525b8913ab5cdf2efde4d Mon Sep 17 00:00:00 2001 From: q66 Date: Fri, 5 Jan 2018 22:16:18 +0100 Subject: [PATCH] sink-writing decode --- ostd/string.hh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ostd/string.hh b/ostd/string.hh index adf8200..3fe2b60 100644 --- a/ostd/string.hh +++ b/ostd/string.hh @@ -787,6 +787,15 @@ namespace utf { */ bool decode(wstring_range &r, char32_t &ret) noexcept; + template + bool decode(R &sink, basic_char_range &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