diff --git a/icu4c/source/common/unicode/utfiter.h b/icu4c/source/common/unicode/utfiter.h index 37f2aa0e873..ad913eafb4e 100644 --- a/icu4c/source/common/unicode/utfiter.h +++ b/icu4c/source/common/unicode/utfiter.h @@ -1324,13 +1324,15 @@ public: UTFStringCodePoints &operator=(const UTFStringCodePoints &other) = default; /** @draft ICU 78 */ - UTFIterator::iterator> begin() const { - return {s.begin(), s.begin(), s.end()}; + auto begin() const { + const Unit *limit = s.data() + s.length(); + return UTFIterator(s.data(), s.data(), limit); } /** @draft ICU 78 */ - UTFIterator::iterator> end() const { - return {s.begin(), s.end(), s.end()}; + auto end() const { + const Unit *limit = s.data() + s.length(); + return UTFIterator(s.data(), limit, limit); } /** @@ -1866,13 +1868,13 @@ public: UnsafeUTFStringCodePoints &operator=(const UnsafeUTFStringCodePoints &other) = default; /** @draft ICU 78 */ - UnsafeUTFIterator::iterator> begin() const { - return {s.begin()}; + auto begin() const { + return UnsafeUTFIterator(s.data()); } /** @draft ICU 78 */ - UnsafeUTFIterator::iterator> end() const { - return {s.end()}; + auto end() const { + return UnsafeUTFIterator(s.data() + s.length()); } /**