Xar module

xar_next

procedure · 1 overloadSource

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).

ExampleOpen in playground ↗
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

See also