On Dienstag, 19. Januar 2016 12:02:12 CET Knoll Lars wrote: > Things are not just black and white. But we can’t do a Qt6 that simply > removes all of them completely. We’d leave most of our users behind on Qt 5 > forever. So we have to find better, and maybe more incremental, ways to > handle this. With a radical 'let’s throw them all away' approach we will > leave all our current users behind.
Just an idea: We deprecate them, so all our api use std::vector and such. We add a qt5support library which contains classes like: template<typename T> class QVector : public std::vector<T> { QVector(std::vector<T>); // implicit conversion from std::vector /* All the Qt API goes here */ }; I believe this should be mostly source compatible. This also assume we can use std in our ABI (which i think we should allow) Marc Mutz wrote: > > E.g. QVector seriously needs to support move-only types (like > > unique_ptr) in a C++11 world. Oops... it never will... it's CoWed... Actually, it might be possible, using SFINAE, to disable the copy constructor of QVector when the T is not copyable. (and we also do not call detach for such T since it cannot be copyed and therefore cannot be shared) -- Olivier Woboq - Qt services and support - https://woboq.com - https://code.woboq.org _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development