Qt Contributor Summit 2019 - QtCore

From Qt Wiki
Revision as of 08:31, 21 November 2019 by Peppe (talk | contribs)
Jump to navigation Jump to search

Session notes.

Recap:

Calendaring & time

Containers

  • QList = QVector by default in Qt 6
  • s/QList/QVector/g before Qt 6 releaase to avoid merging nightmare
  • Not sure if to keep Qt5List. We need more evaluation about how much code breaks (e.g. when Creator, KDE port it)
  • QPair=std::pair => no brainer
  • QHash in terms of std::unordered_map: Lars, Peppe experimented on it, it "works", esp. after
  • Concerns regards std::unordered_map itself -- it's not great in terms of performance (or: it's "as bad" as QHash, so the only save is the maintenance). Should we look at other unorderd_map implementations under BSD? What about qHash and the seeding?
  • QMap => std::map, yes
  • QLinkedList => Qt5LinkedList
  • (Need to clarify what ends up in a Qt5Support library)
  • Do we need to provide generic accessors for arbitrary containers, esp. in the light of ranges added to C++20? (And what about things like toSet, toList, etc.?) Concerns raised by starting including std headers all over the place.

QString, QStringView, QByteArray

Split-up of QtCore

Codecs

Legacy text codecs implementations in Qt are going to be dropped from Qt itself; anything but UTF- codecs will require 3rd party (ICU).

Threading

  • QRecursiveMutex split from QMutex
  • QWaitCondition & QReadWriteCondition improvements?
  • Future of QFuture

Paths/Filesystem

  • If you know about Windows path handling: please help Eddy! (E.g. filesystem paths that are neither absolute or relative)
  • Discuss if we want a dedicated filesystem path class -- we need to evaluate the impact on our API.
    • We want overloads taking std::fs::path, but not sure about a dedicated class to store paths

Other