addtition: reset and advance, need testing

This commit is contained in:
2026-04-23 08:59:12 -06:00
parent e8aaa006de
commit dd992cf6b9

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;
}