Property definitions

more_collections $ UnrolledIterator :: defaultinit
private class UnrolledIterator[E]
	super IndexedIterator[E]

	var list: UnrolledList[E]

	var node: nullable UnrolledNode[E] = list.head_node is lazy

	# Index of the current `item`
	redef var index = 0

	# Index within the current `node`
	var index_in_node: Int = node.head_index is lazy

	redef fun item do return node.items[index_in_node]

	redef fun is_ok do return index < list.length

	redef fun next
	do
		index += 1
		index_in_node += 1

		if index_in_node >= node.tail_index then
			node = node.next
			if node != null then index_in_node = node.head_index
		end
	end
end
lib/more_collections/more_collections.nit:651,1--678,3