com.github.arturopala.bufferandslice
Appends value at the end of the buffer and advances topIndex.
Appends value at the end of the buffer and advances topIndex.
Appends values from the given array at the end of the buffer and advances topIndex.
Appends values from the given array at the end of the buffer and advances topIndex.
Appends values from the given iterator at the end of the buffer and advances topIndex.
Appends values from the given iterator at the end of the buffer and advances topIndex.
Appends values from the given iterable at the end of the buffer and advances topIndex.
Appends values from the given iterable at the end of the buffer and advances topIndex.
Appends values from the given sequence at the end of the buffer and advances topIndex.
Appends values from the given sequence at the end of the buffer and advances topIndex.
Appends values from the given slice at the end of the buffer and advances topIndex.
Appends values from the given slice at the end of the buffer and advances topIndex.
Returns value at the given index or 0 if out of scope.
Returns value at the given index or 0 if out of scope.
Drops first N items and returns a Slice.
Drops first N items and returns a Slice.
Drops last N items and returns a Slice.
Drops last N items and returns a Slice.
Ensures buffer capacity to address provided index.
Ensures buffer capacity to address provided index.
Moves topIndex value right by the distance.
Moves topIndex value right by the distance.
Returns value at the topIndex.
Returns value at the topIndex.
Shift current content to the right starting from index
at the insertLength
distance,
and copies array chunk into the gap.
Shift current content to the right starting from index
at the insertLength
distance,
and copies array chunk into the gap.
Sets topIndex to be at least at the end of the new chunk of values.
Shift current content to the right starting from index
at the insertLength
distance,
and copies iterated values into the gap.
Shift current content to the right starting from index
at the insertLength
distance,
and copies iterated values into the gap.
- Sets topIndex to be at least at the end of the new chunk of values.
Shift current content to the right starting from index
at the slice.length
distance,
and copies slice content into the gap.
Shift current content to the right starting from index
at the slice.length
distance,
and copies slice content into the gap.
Sets topIndex to be at least at the end of the new chunk of values.
Shift current content to the right starting from index
at the insertLength
distance,
iterates over the source indexes and copies values into the gap.
Shift current content to the right starting from index
at the insertLength
distance,
iterates over the source indexes and copies values into the gap.
- Sets topIndex to be at least at the end of the new chunk of values.
Is the accessible part of the buffer empty?
Is the accessible part of the buffer empty?
Length of the accessible part of the buffer.
Length of the accessible part of the buffer.
Updates all values in the range [0,length) using the function.
Updates all values in the range [0,length) using the function.
map function
IndexOutOfBoundsException
if index lower than zero.
Updates value at the provided index using the function.
Updates value at the provided index using the function. Index must fall within range [0,length).
value's index
map function
IndexOutOfBoundsException
if index lower than zero.
Updates all values in the range [0,length) using the function.
Updates all values in the range [0,length) using the function.
map function
IndexOutOfBoundsException
if index lower than zero.
Updates all accepted values in the range [0,length) using the function.
Updates all accepted values in the range [0,length) using the function.
map function
filter function
IndexOutOfBoundsException
if index lower than zero.
Updates values in the range [startIndex,toIndex)^^[0,length) using the function. One of {startIndex,toIndex} must fall within range [0,length).
Updates values in the range [startIndex,toIndex)^^[0,length) using the function. One of {startIndex,toIndex} must fall within range [0,length).
index of the first value inclusive
index of the last value exclusive
map function
IndexOutOfBoundsException
if index lower than zero.
Updates values in the range [startIndex,toIndex)^^[0,length) using the function. One of {startIndex,toIndex} must fall within range [0,length).
Updates values in the range [startIndex,toIndex)^^[0,length) using the function. One of {startIndex,toIndex} must fall within range [0,length).
index of the first value inclusive
index of the last value exclusive
map function
filter function
IndexOutOfBoundsException
if index lower than zero.
Moves values in [fromIndex,toIndex) to the left at a distance, to become [fromIndex - distance, toIndex - distance), and moves right any existing values in [fromIndex - distance, fromIndex) to become [toIndex - distance, toIndex).
Moves values in [fromIndex,toIndex) to the left at a distance, to become [fromIndex - distance, toIndex - distance), and moves right any existing values in [fromIndex - distance, fromIndex) to become [toIndex - distance, toIndex). Ignores negative distance and values outside of [0,length). Moves topIndex if affected.
Moves values in [fromIndex,toIndex) to the right at a distance, to become [fromIndex + distance, toIndex + distance), and moves left any existing values in [toIndex, toIndex + distance) to become [fromIndex, fromIndex + distance).
Moves values in [fromIndex,toIndex) to the right at a distance, to become [fromIndex + distance, toIndex + distance), and moves left any existing values in [toIndex, toIndex + distance) to become [fromIndex, fromIndex + distance). Ignores negative distance and values outside of [0,length). Moves topIndex if affected.
Is the accessible part of the buffer non empty?
Is the accessible part of the buffer non empty?
Returns value at the topIndex.
Returns value at the topIndex.
Returns value at the topIndex, and moves topIndex back.
Returns value at the topIndex, and moves topIndex back.
Appends value to the topIndex.
Removes value at index and shifts content in [index+1, length) to the left.
Removes value at index and shifts content in [index+1, length) to the left.
Removes values in the range [fromIndex, toIndex) and shifts content in [toIndex, length) to the left.
Removes values in the range [fromIndex, toIndex) and shifts content in [toIndex, length) to the left.
Replaces current values in the range [index, index + replaceLength) with values of the array range [sourceIndex, sourceIndex + replaceLength).
Replaces current values in the range [index, index + replaceLength) with values of the array range [sourceIndex, sourceIndex + replaceLength).
Replaces current values in the range [index, index + replaceLength) with values returned from the iterator.
Replaces current values in the range [index, index + replaceLength) with values returned from the iterator.
Replaces current values in the range [index, index + slice.length) with values of the slice.
Replaces current values in the range [index, index + slice.length) with values of the slice.
Replaces current values in the range [index, index + replaceLength) with values returned by the function when iterating argument in the range [sourceIndex, sourceIndex + replaceLength).
Replaces current values in the range [index, index + replaceLength) with values returned by the function when iterating argument in the range [sourceIndex, sourceIndex + replaceLength).
Resets buffer, sets topIndex to -1.
Resets buffer, sets topIndex to -1. - Does not clear existing values.
previous topIndex
Moves topIndex value left by the distance.
Moves topIndex value left by the distance.
Sets topIndex value.
Sets topIndex value.
Moves values [index, length) left to [index-distance, length - distance).
Moves values [index, length) left to [index-distance, length - distance). Effectively removes range (index-distance, index]. Ignores negative distance. Moves topIndex if affected.
Moves values [index, length) right to [index+distance, length + distance).
Moves values [index, length) right to [index+distance, length + distance). Effectively creates a new range [index, index+distance). Ignores negative distance. Does not clear existing values inside [index, index+distance). Moves topIndex if affected.
Takes range and returns a Slice.
Takes range and returns a Slice.
Replace value at the topIndex.
Replace value at the topIndex.
Swap two values at the provided indexes.
Swap two values at the provided indexes.
Value at first
becomes value at second
, and vice versa.
- Does nothing if any index falls outside [0,length) or if indexes are equal.
Swap values in range [first, first + swapLength) with values in range [second, second + swapLength] - Does nothing if any index falls outside [0,length), or if indexes are equal.
Swap values in range [first, first + swapLength) with values in range [second, second + swapLength] - Does nothing if any index falls outside [0,length), or if indexes are equal. - if [first, first + swapLength) overlaps with [second, second + swapLength) then the later overwrites the former.
Takes first N items and returns a Slice.
Takes first N items and returns a Slice.
Takes last N items and returns a Slice.
Takes last N items and returns a Slice.
Returns copy of the underlying array trimmed to length.
Returns copy of the underlying array trimmed to length.
Wraps underlying array as a Slice.
Wraps underlying array as a Slice.
Returns topIndex value.
Returns topIndex value.
Trims the buffer, if needed, to be have at most the size
.
Trims the buffer, if needed, to be have at most the size
.
Very unsafe access to the underlying array, if you really need it.
Very unsafe access to the underlying array, if you really need it.
Updates value at the provided index.
Updates value at the provided index. Alters underlying array if necessary.
IndexOutOfBoundsException
if index lower than zero.
Growable, mutable array of bytes.