summaryrefslogtreecommitdiffstats
path: root/src/corelib/text/qstringtokenizer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Doc: Fix documentation issues for QStringTokenizerTopi Reinio2020-10-291-14/+7
| | | | | | | | | | | Add documentation-specific variants of lvalue/rvalue-this overloads that QDoc manages to parse as separate entities. Document begin() and cbegin() iterator getters in one go. Task-number: QTBUG-86295 Change-Id: I2768dc6525bbf067e1597aa12e2e727f6d9fc35a Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Reference proper SplitBehaviour enum in docsNicolas Fella2020-10-021-1/+1
| | | | | | | | | QString::SkipEmptyParts is Qt::SkipEmptyParts now. Pick-to: 5.15 Change-Id: Ie351bbe9d2350e771f821a9f0bc9f581be5b0022 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Fix some qdoc warnings for QString/View/TokenizerVolker Hilsheimer2020-09-261-32/+47
| | | | | | | | | | | | | | | | | Use correct member function prototype, which requires the template declaration. Remove see-alsos that don't exist. Document parameters for qTokenize. Still lots of warnings from QStringTokenizer, due to the inheritance structure of that template class and the declarations of nested types in undocumented base classes. Also, qdoc doesn't seem to recognize training this-lvalue/this-rvalue declarations for overloads, and considers the second toContainer documentations to override the first. Change-Id: Iadf967d3328ddda52b6f66786836853bddeda79b Reviewed-by: Topi Reiniƶ <topi.reinio@qt.io>
* Documentation fixes for QStringTokenizerKai Koehne2020-07-011-9/+9
| | | | | | Task-number: QTBUG-85343 Change-Id: Ib647d90ba3cfa1181690dc745249637031c7ad67 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Use QList instead of QVector in corelib implementationJarek Kobus2020-06-291-1/+1
| | | | | | | | Omitting state machine and docs for now. Task-number: QTBUG-84469 Change-Id: Ibfa5e7035515773461f6cdbff35299315ef65737 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Long live QStringTokenizer!Marc Mutz2020-06-031-0/+357
This class is designed as C++20-style generator / lazy sequence, and the new return value of QString{,View}::tokenize(). It thus is more similar to a hand-coded loop around indexOf() than QString::split(), which returns a container (the filling of which allocates memory). The template arguments of QStringTokenizer intricately depend on the arguments with which it is constructed, so QStringTokenizer cannot be used directly without C++17 CTAD. To work around this issue, add a factory function, qTokenize(). LATER: - ~Optimize QLatin1String needles (avoid repeated L1->UTF16 conversion)~ (out of scope for QStringTokenizer, should be solved in the respective indexOf()) - Keep per-instantiation state: * Boyer-Moore table [ChangeLog][QtCore][QStringTokenizer] New class. [ChangeLog][QtCore][qTokenize] New function. Change-Id: I7a7a02e9175cdd3887778f29f2f91933329be759 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>