Christoph Thiede uploaded a new version of Collections to project The Trunk: http://source.squeak.org/trunk/Collections-ct.997.mcz
==================== Summary ====================
Name: Collections-ct.997 Author: ct Time: 25 March 2022, 8:08:33.46961 pm UUID: e320783c-fb7c-2f4d-9ea4-fe6152d9c677 Ancestors: Collections-mt.995
Merges SparseLargeTable enumerate+tests.1.cs:
* Overrides #withIndexDo: to start from base index only * Adds #sparseElementsAndIndicesDo: for efficient iterating over all non-default values
=============== Diff against Collections-mt.995 ===============
Item was added: + ----- Method: SparseLargeTable>>sparseElementsAndIndicesDo: (in category 'accessing') ----- + sparseElementsAndIndicesDo: binaryBlock + "Evaluate binaryBlock for each element and index in the receiver that has a non-default value." + + 1 to: self basicSize do: [:chunkIndex | + (self basicAt: chunkIndex) ifNotNil: [:chunk | + chunk withIndexDo: [:element :innerIndex | + element ~= defaultValue ifTrue: [ + binaryBlock value: element value: innerIndex + base - 1 + (chunkIndex - 1 * chunkSize)]]]].!
Item was added: + ----- Method: SparseLargeTable>>withIndexDo: (in category 'enumerating') ----- + withIndexDo: binaryBlock + + self base to: self size do: [:index | + binaryBlock + value: (self at: index) + value: index].!
packages@lists.squeakfoundation.org