[Development] Changing qreal to a float
André Somers
andre at familiesomers.nl
Tue Feb 21 09:38:58 CET 2012
Op 21-2-2012 9:35, Thiago Macieira schreef:
> On terça-feira, 21 de fevereiro de 2012 08.24.52, Samuel Rødal wrote:
>> Also, I guess we'll want convenience functions "QRectD QRectF::toRectD()
>> const" etc. Can that be done with the typedefs proposed above, or does
>> it require having "QRectD QRectD::toRectD() const" as well?
> With some template magic it can be done.
>
> If you write:
> template<class t> class QBasicRect;
> typedef QBasicRect<float> QRectF;
> typedef QBasicRect<double> QRectD;
>
> Then you can't specialise QBasicRect<float or double> anymore. You can only use
> the default expansion or partial specialisations that are yet to be written.
> That means it's easier to add an "constexpr inline QRectD toRectD() const;" to
> all classes than to just the float and integer ones.
>
> But someone really motivated can add more magic using QEnableIf.
>
Just wondering: while I think using templates for these classes is a
good idea in principle, will using such template magic as you are
suggesting here hurt compilation times, both of Qt itself and Qt
applications using these classes?
André
More information about the Development
mailing list