diff --git a/icu4c/source/test/intltest/utfiteratortest.cpp b/icu4c/source/test/intltest/utfiteratortest.cpp index 5cb1e62c384..31baa285388 100644 --- a/icu4c/source/test/intltest/utfiteratortest.cpp +++ b/icu4c/source/test/intltest/utfiteratortest.cpp @@ -105,6 +105,20 @@ std::string_view firstSequence8(std::string_view s) { } } +template // some istream or streambuf +std::u32string cpFromInput(InputStream &in) { + // This is a single-pass input_iterator. + std::istreambuf_iterator bufIter(in); + std::istreambuf_iterator bufLimit; + auto begin = utfIterator(bufIter); + auto limit = utfIterator(bufLimit); + std::u32string s32; + for (; bufIter != bufLimit; ++bufIter) { + s32.push_back(*bufIter); + } + return s32; +} + #endif // SAMPLE_CODE template