@Override public NativeBytes slice(long offset, long length) { long sliceStart = positionAddr + offset; assert sliceStart >= startAddr && sliceStart < capacityAddr; long sliceEnd = sliceStart + length; assert sliceEnd > sliceStart && sliceEnd <= capacityAddr; return new NativeBytes(objectSerializer(), sliceStart, sliceEnd, refCount); }
@Override public NativeBytes slice(long offset, long length) { long sliceStart = positionAddr + offset; assert sliceStart >= startAddr && sliceStart < capacityAddr; long sliceEnd = sliceStart + length; assert sliceEnd > sliceStart && sliceEnd <= capacityAddr; return new NativeBytes(objectSerializer(), sliceStart, sliceEnd, refCount); }
@Override public NativeBytes bytes(long offset, long length) { long sliceStart = startAddr + offset; assert sliceStart >= startAddr && sliceStart < capacityAddr; long sliceEnd = sliceStart + length; assert sliceEnd > sliceStart && sliceEnd <= capacityAddr; return new NativeBytes(objectSerializer(), sliceStart, sliceEnd, refCount); }
@Override public NativeBytes slice() { return new NativeBytes(objectSerializer(), positionAddr, limitAddr, refCount); }
@Override public NativeBytes bytes() { return new NativeBytes(objectSerializer(), startAddr, capacityAddr, refCount); }
@Override public NativeBytes slice() { return new NativeBytes(objectSerializer(), positionAddr, limitAddr, refCount); }
@Override public CharSequence subSequence(int start, int end) { long subStart = positionAddr + start; if (subStart < positionAddr || subStart > limitAddr) throw new IndexOutOfBoundsException(); long subEnd = positionAddr + end; if (subEnd < subStart || subEnd > limitAddr) throw new IndexOutOfBoundsException(); if (start == end) return ""; return new NativeBytes(objectSerializer(), subStart, subEnd, refCount); }
@Override public CharSequence subSequence(int start, int end) { long subStart = positionAddr + start; if (subStart < positionAddr || subStart > limitAddr) throw new IndexOutOfBoundsException(); long subEnd = positionAddr + end; if (subEnd < subStart || subEnd > limitAddr) throw new IndexOutOfBoundsException(); if (start == end) return ""; return new NativeBytes(objectSerializer(), subStart, subEnd, refCount); }
@Override public NativeBytes bytes(long offset, long length) { long sliceStart = startAddr + offset; assert sliceStart >= startAddr && sliceStart < capacityAddr; long sliceEnd = sliceStart + length; assert sliceEnd > sliceStart && sliceEnd <= capacityAddr; return new NativeBytes(objectSerializer(), sliceStart, sliceEnd, refCount); }
@Override public NativeBytes bytes() { return new NativeBytes(objectSerializer(), startAddr, capacityAddr, refCount); }
public NativeBytes(NativeBytes bytes) { super(bytes.objectSerializer(), new AtomicInteger(1)); setStartPositionAddress(bytes.startAddr); this.positionAddr = bytes.positionAddr; this.limitAddr = bytes.limitAddr; this.capacityAddr = bytes.capacityAddr; positionChecks(positionAddr); }
public NativeBytes(NativeBytes bytes) { super(bytes.objectSerializer(), new AtomicInteger(1)); setStartPositionAddress(bytes.startAddr); this.positionAddr = bytes.positionAddr; this.limitAddr = bytes.limitAddr; this.capacityAddr = bytes.capacityAddr; positionChecks(positionAddr); }