Details
-
Suggestion
-
Resolution: Fixed
-
P3: Somewhat important
-
None
-
None
-
13
-
15ff5bafa (dev), cbaecba8d (6.6), 0d7a4e5e9 (6.5), edcb8e901 (dev), ff0c19168 (6.5), 70eab2cfd (6.6), 016addc20 (dev)
-
Foundation Sprint 84, Foundation Sprint 85, Foundation Sprint 86, Foundation Sprint 87, Foundation Sprint 88, Foundation Sprint 89, Foundation Sprint 90, Foundation Sprint 91, Foundation Sprint 92
Description
This is a follow-up task on QTBUG-106198.
QString::assign() can currently handle value_type's that correspond to UTF-16 and UTF-32-encoded data. It can not handle (SFINAEs out) UTF-8-encoded data, as that requires to keep state between input code points, and qstringconverter.h is currently not #include'able from qstring.h. The contiguous_iterator case is actually handled by the QAnyStringView overload, and would work if not SFINAEd out. It's SFINAEd out to keep the condition (and docs) sane. It's the non-contiguous_iterator case that's the problem.
Acceptance criteria:
- QString::assign() accepts input_iterator sequences
- correctly decodes UTF-8 to UTF-16
Attachments
Issue Links
- is required for
-
QTBUG-116048 QArrayDataPointer::assign(it, it): apply lessons learned in imlementing QString::assign(it, it) for UTF-8
-
- Open
-
- split from
-
QTBUG-106198 QString: add missing STL-style assign()
-
- Closed
-
For Gerrit Dashboard: QTBUG-114208 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
488440,34 | QString: assign() [4/4]: (it,it) overload for UTF-8 data types | dev | qt/qtbase | Status: MERGED | +2 | 0 |
490705,3 | Don't protect qstringbuilder.h indirect includes | dev | qt/qtbase | Status: MERGED | +2 | 0 |
490706,7 | Drag qstring.h out of the qstringbuilder.h guard | dev | qt/qtbase | Status: MERGED | +2 | 0 |
494378,2 | Don't protect qstringbuilder.h indirect includes | 6.6 | qt/qtbase | Status: MERGED | +2 | 0 |
494379,2 | Don't protect qstringbuilder.h indirect includes | 6.5 | qt/qtbase | Status: MERGED | +2 | 0 |
494683,2 | Drag qstring.h out of the qstringbuilder.h guard | 6.6 | qt/qtbase | Status: MERGED | +2 | 0 |
494684,2 | Drag qstring.h out of the qstringbuilder.h guard | 6.5 | qt/qtbase | Status: MERGED | +2 | 0 |