Moves the iterator to the following element and returns a pointer to it, or null at the end (the iterator then stays where it was).
array: Xar(int, 1, 4);
for 1..5 xar_add(*array, it);
iterator := xar_iterator(*array, 0);
sum := xar_get(*array, iterator).*;
while true {
element := xar_next(*array, *iterator);
if !element break;
sum += element.*;
}
assert(sum == 15);
xar_reset(*array);xar_next :: (array: *Xar, iterator: *array.Iterator) -> *array.Element_Type
Parameters
- array: *Xar
- iterator: *array.Iterator
Returns
- *array.Element_Type