[Development] QList

Martin Smith Martin.Smith at qt.io
Mon Mar 27 12:54:41 CEST 2017


>It's also the *fourth* time in a row you're not seeing the paralogism in

>your reasoning.

>In theory: you're still saying that

>. points are items
>. QPolygon is a sequential collection of points
. QVector is a sequential collection of items
>⊢ QPolygon is-a QVector

>which is a fallacy.

>A linked list is also a sequential collection of items, why isn't a
>QPolygon a QLinkedList?


Because QPolygon actually inherits QVector, and when you create a QPolygon, you must create it with a QVector of QPoint.


So a QPolygon IS a QVector. That's not the whole story, of course, because to create a QPolygon, the items you put in the QVector must be QPoints.


>Why are you not replying on the technical details if you
>believe the reasoning in those messages to be faulty?


Because I don't disagree with the reasoning, and I agree that QPolygon should not inherit QVector, but I'm saying that makes sense because a polygon is not a vector.

________________________________
From: giuseppe.dangelo at kdab.com <giuseppe.dangelo at kdab.com> on behalf of Giuseppe D'Angelo <giuseppe.dangelo at kdab.com>
Sent: Monday, March 27, 2017 11:25:39 AM
To: Martin Smith; development at qt-project.org
Subject: Re: [Development] QList

Il 27/03/2017 10:52, Martin Smith ha scritto:
>>what's the point of this discussion, anyhow?
>
>
> It was about whether QPolygon should inherit QVector, which means that a
> polygon is a vector. That is kind of jolting because people don't think
> of a polygon as being a vector. But back in the day, calling a
> sequential collection of items a vector was also a jolt, because at that
> time, a vector was a direction and a length to most people. So given the
> 20 year history of vector being a sequential collection of items, it
> isn't really a problem for QPolygon to inherit QVector, because everyone
> will come to think of a polygon as a vector just as we came to think of
> a vector as a sequential collection of items.
>

It *is* a problem, in theory, and in practice, as already expressed
countless times.

It's also the *fourth* time in a row you're not seeing the paralogism in
your reasoning.

--

In theory: you're still saying that

. points are items
. QPolygon is a sequential collection of points
. QVector is a sequential collection of items
⊢ QPolygon is-a QVector

which is a fallacy.

A linked list is also a sequential collection of items, why isn't a
QPolygon a QLinkedList?

--

In practice: it has been pointed out several times, in this very thread,
that there are consequences (due to the various C++/ABI constraints) at
exporting subclasses of template classes.

Are you even reading those messages instead of insisting on this
position? Why are you not replying on the technical details if you
believe the reasoning in those messages to be faulty?

--
Giuseppe D'Angelo | giuseppe.dangelo at kdab.com | Senior Software Engineer
KDAB (UK) Ltd., a KDAB Group company | Tel: UK +44-1625-809908
KDAB - Qt, C++ and OpenGL Experts

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20170327/b964ff92/attachment.html>


More information about the Development mailing list