[Development] Question about QCoreApplicationData::*_libpaths
Thiago Macieira
thiago.macieira at intel.com
Tue Jan 19 18:34:48 CET 2016
On Tuesday 19 January 2016 19:16:25 Marc Mutz wrote:
> That may be so. But most of what is _missing_ is implementable in Qt 5:
>
> - equal_range on hashed containers
No idea what that is.
> - range inserts, ctors, assignments
Already done for QVector for Qt6. However, since I wrote this on top of
QGenericArray, I can't push it to Qt 5.
> - exception safety guarantees
Done since Qt 5.0 by João, but missed the release deadline. It's QGenericArray
using QArrayDataPointer and QArrayDataOps.
Also, we changed our policy towards exception-safety since 5.0 and this work
is no longer needed.
> - move semantics on realloc / insertions
This is easy to implement in QArrayDataOps. However, due to CoW, we'd have to
duplicate the code paths depending on whether the refcount was 1 or not.
That's a runtime decision, so I don't think this is worth it.
> - emplace (with Q_COMPILER_UNIFORM_INIT ifdef)
Done in QGenericArray, but not really relevant since we don't support move-
only types.
> - not requiring op= / default ctor in QVector
Not interesting to me.
> - move-only payload types (hard with CoW)
Ditto.
> - splicing in node-based containers (hard with CoW)
Ditto and no one has asked this in 10 years that QLinkedList has existed.
> - atomic operations on QSharedPointer
Explain more, please.
> - alias ctors for QSharedPointer
Ditto.
> - changing iterator → const_iterator in insert / erase argumentsis
> (hampered by QT_STRICT_ITERATORS preventing iterator → const_iterator
> implicit conversions, otherwise one could write erase loops over
> node-based containers that only detach when actually removing an element)
Sounds like a Qt 6 change. Adding overloads is possible.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
More information about the Development
mailing list