package yaffs2.utils; /** * N.B. that modifications of the index will propagate downward. * */ public class ArrayPointer { public ArrayPointer(ArrayPointer arrayPointer, int index) { this.array = arrayPointer.array; this.index = arrayPointer.index + index; } public ArrayPointer(ArrayPointer arrayPointer) { this.array = arrayPointer.array; this.index = arrayPointer.index; } public ArrayPointer(byte[] array, int index) { this.array = array; this.index = index; } public ArrayPointer(byte[] array) { this.array = array; } public ArrayPointer() { } public void set(int relativeIndex, byte value) { array[index + relativeIndex] = value; } public void set(byte value) { array[index] = value; } public byte get(int relativeIndex) { return array[index + relativeIndex]; } public byte get() { return array[index]; } public void increment() { index++; } public void increment(int incBy) { index += incBy; } public boolean isNotZero() { return array[index] != 0; } public byte[] array; public int index; }