implementation_ArrayListSlice #1

Merged
laentropia merged 16 commits from implementation_ArrayListSlice into main 2026-04-23 11:25:37 -06:00
Showing only changes of commit dd992cf6b9 - Show all commits

View File

@@ -553,3 +553,27 @@ ArrayListErr arrayslice_next(ArraySlice *slice, void *out) {
slice->current++;
return ARRLIST_OK;
}
ArrayListErr arrayslice_reset(ArraySlice *slice) {
if (slice == NULL) {
return ARRLIST_NULL_ARG;
}
slice->current = slice->start;
return ARRLIST_OK;
}
ArrayListErr arrayslice_advance(ArraySlice *slice, size_t n) {
if (slice == NULL) {
return ARRLIST_NULL_ARG;
}
if (n > SIZE_MAX - slice->current || slice->current + n >= slice->end) {
return ARRLIST_OUT_OF_BOUNDS;
}
slice->current += n;
return ARRLIST_OK;
}