Starting from version 5.2, Qt has got two classes that allow iterating over container elements with a variable data type. QSequentialIterable for QList (and similar) and QAssociativeIterable for QHash and QMap .
From the description provided in the help to them I just can’t understand why they are needed at all if the same QVariantList or QVariantMap get through the usual foreach or their own iterators. Similarly, in the loop, we get QVariant , which again must be converted to the original type contained in the container. What then is their difference and what is the benefit of using new Iterable ?