On Thursday, 22 de September de 2011 09:08:02 Marc Mutz wrote: > Hi Thiago, > > On Tuesday August 23 2011, Thiago Macieira wrote: > > Moreover, imagine an embedded device that wants to save space in the > > minimal base system: they could choose to compile Qt and all of their > > applications without STL, thus saving a few hundred kilobytes of > > libstdc++. > > But user applications could still use STL if they wanted and interoperate > > with Qt, only triggering the install of that lib. > > I wonder: have you measured that the size wouldn't be _smaller_ if Qt used > the STL instead of its own container classes? :)
No, I haven't, because no one has volunteered so far to rewrite the containers
using STL.
> Here's an idea:
> 1. Make the QTL name-compatible with the STL (let's call this QtSTL)
> 2. Use the std::names instead of the QNames everywhere
> (or make the namespace configurable).
Here's another:
- rewrite the current Qt containers, using their current names, on top of
STL, keeping full source and behaviour compatibility (including reference
counting)
> That way, you'd allow competition between the QtSTL and any other STL. And
> the user would pick the one that best fit their needs instead of being
> forced to always carry the QtSTL with them, even if the rest of the
> application uses another STL.
I don't think we're interested in following STL requirements. At least, I am
not and I want to spend my time in things that aren't working, instead of
rewriting what is.
Your blog on the containers was very well written and pointed out many issues
that could be improved, sure. Rewriting the Qt containers with their current
API and behaviour as a reference-counting layer on top of STL could be the
best of both worlds.
Maybe for Qt 6.
> What do you think?
Two STLs would never work. You have to pick one for the entire stack -- just
ask the Solaris / OpenSolaris / Nevada people.
Besides, we're under a guideline to keep source compatibility. Changing
*everything* to use STL, including STL behaviour, is a conversation non-
starter.
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
Software Architect - Intel Open Source Technology Center
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Qt5-feedback mailing list [email protected] http://lists.qt.nokia.com/mailman/listinfo/qt5-feedback
