On Tuesday 31 January 2017 10:55:52 Иван Комиссаров wrote: > What about toInt/toDouble/etc, toLower/toUpper, right/left/mid (aka > std::string_view::remove_prefix/suffix), find and other QString methods > that doesn't modify the string? Do you plan to add them later or support > only small subset of operations (similar to std::string_view?) > Or maybe i miss some commits?
As I wrote multiple times before, the end game is that QStringView carries all of the const QString API, as much as is possible. Hopefully, that will be the state going into 5.10.0. If it goes into 5.9, it will only provide a very limited subset, but even so it allows full use of the type in APIs since many parsing tasks quickly delegate to something working on QChar*, anyway. ATM, I try to strike a balance between adding new functions and adding new users. Adding new functions is a lot of work, since I write comprehensive tests that test a function across all string-like classes in Qt and that tend to find bugs in other implementations, too, cf. QStringRef::toLatin1(). Adding new users is comparatively easy, and more rewarding work. As for toInt() etc, they need QStringView support in QLocale, which is what I'm focusing on atm, with several patches already up on Gerrit. Stuff like toLower() has less priority, since toString().toLower() is just as efficient (non-shared QString returned invoking rvalue-overload of toLower(), reusing the internal buffer). But they will come, too, but I'm not sure about the form. They could return QString, of course, or they could take any container, toStdBasicString-style, so you could pass a QVarLengthArray or a static buffer. > What about QByteArrayView? Do you plan to use std::string_view instead? QByteArrayView will also come. Come Qt 6, QStringView, QLatin1String, QByteArrayView should all be represented by the same template. Until then, tst_qstringapisymmetry ensures equally-named functions have a subset of operations between them that behave identical (the views have stricter preconditions for some functions, thus "subset"). Thanks, Marc -- Marc Mutz <[email protected]> | Senior Software Engineer KDAB (Deutschland) GmbH & Co.KG, a KDAB Group Company Tel: +49-30-521325470 KDAB - The Qt, C++ and OpenGL Experts _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
