[Development] Qt 5 types under consideration for deprecation / removal in Qt 6

Alberto Mardegan mardy at users.sourceforge.net
Thu May 30 12:38:08 CEST 2019


On 30/05/19 11:40, Mutz, Marc wrote:
> On 2019-05-30 10:23, Alberto Mardegan wrote:
>> It's not clear to me why splice() cannot be implemented: it would just
>> mean that the list data would detach as in all other non-const methods.
>> Or am I missing something?
> 
> You're passing two iterators. In order to implement slice(), you'd need
> to iterate over the list, counting the items, then detach, find the new
> two iterators, then do the slice(). That makes an O(M) operation into an
> O(2N) operation, M being the number of sliced entries (it was O(1) in
> C++98), N the size of the list.

But that happens only if you detach; otherwise the performance should be
comparable to std::list.  That detaching has a high cost is a known fact.

Ciao,
  Alberto

-- 
http://www.mardy.it - Geek in un lingua international


More information about the Development mailing list