On terça-feira, 21 de fevereiro de 2012 09.59.49, Marc Mutz wrote:
> A tangential question: should QRect be QBasicRect<int> (in which case it
> would  probably have a class invariant of right()-left()==width() instead
> of width()-1 as now. If there is a plan to move to CRect semantics (not
> sure I'd like that), then keeping QRect and using QRectI = QBasicRect<int>
> could do the trick.

QRect must have the same semantics as it has today. Whether we want to add a
*second* rectangle class with slightly different semantics, I'll leave up to
the implementor.

I'd rather it were part of the template. That means whoever is implementing
this template needs to add some magic for the logic for integers to be
different from the logic from FP.

In time, it's usually a good idea to have a range of [start, end) -- that is,
inclusive of the start and exclusive of the end. It's a matter of choosing the
operators right when doing comparisons. But that implies on integer quantities
that "end" is "the successor of the last valid element". That's an invariant
that the STL iterators already match.

--
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center
     Intel Sweden AB - Registration Number: 556189-6027
     Knarrarnäsgatan 15, 164 40 Kista, Stockholm, Sweden

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to