6a3c6f939f
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>
26 lines
480 B
Prolog
26 lines
480 B
Prolog
TEMPLATE = subdirs
|
|
|
|
SUBDIRS = \
|
|
qbytearray \
|
|
qbytearraylist \
|
|
qbytearraymatcher \
|
|
qbytedatabuffer \
|
|
qchar \
|
|
qcollator \
|
|
qlatin1string \
|
|
qlocale \
|
|
qregexp \
|
|
qregularexpression \
|
|
qstring \
|
|
qstring_no_cast_from_bytearray \
|
|
qstringapisymmetry \
|
|
qstringbuilder \
|
|
qstringconverter \
|
|
qstringiterator \
|
|
qstringlist \
|
|
qstringmatcher \
|
|
qstringref \
|
|
qstringtokenizer \
|
|
qstringview \
|
|
qtextboundaryfinder
|