Class CharChunk<ATTR extends Any>
- All Implemented Interfaces:
Chunk<ATTR>
- Direct Known Subclasses:
CharChunkPage,ResettableCharChunk,WritableCharChunk
Chunk implementation for char data.-
Nested Class Summary
Nested classes/interfaces inherited from interface io.deephaven.chunk.Chunk
Chunk.Visitor<ATTR extends Any> -
Field Summary
Fields inherited from interface io.deephaven.chunk.Chunk
MAXIMUM_SIZE, SYSTEM_ARRAYCOPY_THRESHOLD, SYSTEM_ARRAYFILL_THRESHOLD -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal intbinarySearch(char key) Search forkeyin this chunk in the index range [0,size) using Java's primitive ordering.final intbinarySearch(int fromIndexInclusive, int toIndexExclusive, char key) Search forkeyin this chunk in the index range[fromIndexInclusive, toIndexExclusive)using Java's primitive ordering.chunkWrap(char[] data) chunkWrap(char[] data, int offset, int capacity) final voidcopyToArray(int srcOffset, Object dest, int destOffset, int length) Copy a subrange of this Chunk to the subrange of the 'dest' array.final voidcopyToBuffer(int srcOffset, @NotNull Buffer destBuffer, int destOffset, int length) Copy a sub-range of this chunk to aBuffer.final voidcopyToChunk(int srcOffset, WritableChunk<? super ATTR> dest, int destOffset, int length) Copy a subrange of this Chunk to the subrange of the 'dest' writable chunk.final voidcopyToTypedArray(int srcOffset, char[] destData, int destOffset, int length) final voidcopyToTypedBuffer(int srcOffset, @NotNull CharBuffer destBuffer, int destOffset, int length) Copy a sub-range of this CharChunk to aCharBuffer.final charget(int index) final ChunkTypefinal booleanfinal booleanfinal booleanisNull(int index) static char[]makeArray(int capacity) slice(int offset, int capacity) Make a new Chunk that represents either exactly the same view on the underlying data as this Chunk, or a subrange of that view.final <V extends Chunk.Visitor<ATTR>>
Vwalk(V visitor) Methods inherited from class io.deephaven.chunk.ChunkBase
internalCapacity, internalSetSize, sizeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.deephaven.chunk.Chunk
asBooleanChunk, asByteChunk, asCharChunk, asDoubleChunk, asFloatChunk, asIntChunk, asLongChunk, asObjectChunk, asShortChunk, checkChunkType
-
Constructor Details
-
CharChunk
protected CharChunk(char[] data, int offset, int capacity)
-
-
Method Details
-
getEmptyChunk
-
makeArray
public static char[] makeArray(int capacity) -
chunkWrap
-
chunkWrap
-
getChunkType
- Returns:
- The underlying chunk type
-
get
public final char get(int index) -
isNull
public final boolean isNull(int index) -
slice
Description copied from interface:ChunkMake a new Chunk that represents either exactly the same view on the underlying data as this Chunk, or a subrange of that view. The view is defined as [0..size) (in the coordinate space of this Chunk).- Parameters:
offset- Offset of the new Chunk, relative to this Chunk. 0 ≤ offset ≤ this.sizecapacity- Capacity and initial size of the new Chunk. 0 ≤ capacity ≤ this.size -offset.- Returns:
- The new Chunk. A new Chunk will always be returned, even if the Chunks represent the same view.
-
copyToChunk
public final void copyToChunk(int srcOffset, WritableChunk<? super ATTR> dest, int destOffset, int length) Description copied from interface:ChunkCopy a subrange of this Chunk to the subrange of the 'dest' writable chunk.- Parameters:
srcOffset- Starting position in 'this' (the source)dest- Destination writable chunk.destOffset- Starting offset in the destination.length- Number of values to copy
-
copyToArray
Description copied from interface:ChunkCopy a subrange of this Chunk to the subrange of the 'dest' array.- Parameters:
srcOffset- Starting position in 'this' (the source)dest- Destination array.destOffset- Starting offset in the destination.length- Number of values to copy
-
copyToTypedArray
public final void copyToTypedArray(int srcOffset, char[] destData, int destOffset, int length) -
isAlias
- Returns:
- true iff this and array are aliases, that is they refer to the same underlying data
-
isAlias
- Returns:
- true iff this and chunk are aliases, that is they refer to the same underlying data
-
walk
-
copyToBuffer
public final void copyToBuffer(int srcOffset, @NotNull @NotNull Buffer destBuffer, int destOffset, int length) Description copied from interface:ChunkCopy a sub-range of this chunk to a
Buffer. This is an optional method, as some chunk types do not have a corresponding buffer type.Implementations are free to copy data as efficiently as they may, and will use absolute rather than positional access where possible. To facilitate this pattern,
destOffsetis an absolute offset from position 0, rather than a relative offset fromdestBuffer.position().It is required that
destBuffer.limit()is at leastdestOffset + length.destBuffer's position may be modified, but will always be restored to its initial value upon successful return.- Parameters:
srcOffset- The offset into this chunk to start copying fromdestBuffer- The destinationBufferdestOffset- The absolute offset intodestBufferto start copying tolength- The number of elements to copy
-
copyToTypedBuffer
public final void copyToTypedBuffer(int srcOffset, @NotNull @NotNull CharBuffer destBuffer, int destOffset, int length) Copy a sub-range of this CharChunk to a
CharBuffer.See
copyToBuffer(int, Buffer, int, int)for general documentation.- Parameters:
srcOffset- The offset into this chunk to start copying fromdestBuffer- The destinationCharBufferdestOffset- The absolute offset intodestBufferto start copying tolength- The number of elements to copy
-
downcast
-
binarySearch
public final int binarySearch(char key) Search forkeyin this chunk in the index range [0,size) using Java's primitive ordering. This chunk must be sorted as byWritableCharChunk.sort()prior to this call.This method does not compare
nullorNaNvalues according to Deephaven ordering rules.- Parameters:
key- The key to search for- Returns:
- The index of the key in this chunk, or else
(-(insertion point) - 1)as defined byArrays.binarySearch(long[], long)
-
binarySearch
public final int binarySearch(int fromIndexInclusive, int toIndexExclusive, char key) Search forkeyin this chunk in the index range[fromIndexInclusive, toIndexExclusive)using Java's primitive ordering. This chunk must be sorted over the search index range as byWritableCharChunk.sort(int, int)prior to this call.This method does not compare
nullorNaNvalues according to Deephaven ordering rules.- Parameters:
fromIndexInclusive- The first index to be searchedtoIndexExclusive- The index after the last index to be searchedkey- The key to search for- Returns:
- The index of the key in this chunk, or else
(-(insertion point) - 1)as defined byArrays.binarySearch(char[], int, int, char)
-