fun reset_iterator(rank: Int): Iterator[E]
do
var it = product.collection.iterator
iterators[rank] = it
var skip = 0
if (not are_sorted and not are_unique) or rank == 0 then
# DO NOTHING
else if are_sorted and are_unique then
skip = indices[rank-1] + 1
else if are_sorted then
skip = indices[rank-1]
else
skip = next_free(rank, 0)
end
for i in [0..skip[ do it.next
indices[rank] = skip
if not it.is_ok then is_ok = false
return it
end
lib/combinations/combinations.nit:391,2--411,4