On Saturday 18 March 2017 23:17:54 Ville Voutilainen wrote: > On 19 March 2017 at 00:13, Marc Mutz <[email protected]> wrote: > >> > port these code lines manually come Qt 6. I do not consider auto > >> > variables "generic code". > >> > >> Right. I, however, do consider them generic code. :) > > > > You're free to call a chicken a pig for your own entertainment, but in > > the interest of understanding what everyone says, please stick to > > established definitions. Generic code is generally understood to be code > > that uses generic > > I have no trouble finding Concepts designers who consider auto the most > generic concept, one that has no requirements. It fits right into a > spectrum of constraints > between a concrete type and, well, itself, as auto is the other end of > that spectrum; > that's especially true of auto-type parameters, which are already in C++14, > but also of auto-type variables, which are already in C++11. Considering > that you can use an auto-type variable as a result of an overloaded call, > I daresay it fulfills the definition of generic code even by the measures > you cited.
Yes, auto can be called the most generic concept. Yes, using auto arguments makes a function generic. No, using auto to simply save having to write the type of the initialising expression in code that cannot be called generic in its original form does _not_ make said code generic. And that is what we were talking about: On Saturday 18 March 2017 11:25:12 Ville Voutilainen wrote: > On 18 March 2017 at 11:51, Marc Mutz <[email protected]> wrote: > > 1. Replace QList in generic code by QListOrVector, tell users to hold > > QLists > > > > they get from Qt API only in type-deduced variables. > > In other words, introduce generic code where there wasn't generic code > before - users writing > non-generic code calling non-templates that return QLists will need to > use deduction or a metaprogramming tool. Ok, I can see where there might be a misunderstanding here. The comma in my original sentence should be read as a semicolon. I meant: 1a. Replace QList in generic code by QListOrVector 1b. Tell users to hold QLists they get from Qt API only in type-deduced variables. With (1b), I was referring to stuff like: QStringList parts = string.split(...); // Don't do that in new code auto parts = string.split(...); // do this instead -- 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
