Warning: session_start(): open(/var/lib/php/sessions/sess_umtrr4lv5hfg4v8uusgoqg5o4k, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
static L> splitIterator(final int n, Iterator it) {
class SplitIterator {
final int[] positions = repIntAsArray(n, -1);
CircularArrayList buffer;
int first;
L> iterators() {
new L> l;
for _i to n: {
final int i = _i;
l.add(iteratorFF(func {
positions[i]++;
updateBuffer();
ret buffer.get(positions[i]-first);
}));
}
ret l;
}
int last() { ret first+l(buffer); }
void updateBuffer {
int min = min(positions), max = max(positions);
while (min > first) { buffer.remove(0); ++first; }
while (max > last()) buffer.add(it.next());
}
}
ret new SplitIterator().iterators();
}