Package ucar.nc2.iosp
Interface LayoutBB
-
- All Superinterfaces:
Layout
- All Known Implementing Classes:
H5tiledLayoutBB
,H5tiledLayoutBB
,LayoutBBTiled
,ZarrLayoutBB
public interface LayoutBB extends Layout
A Layout that supplies the "source" ByteBuffer. This is used when the data must be massaged after being read, eg uncompresed or filtered. The modified data is placed in a ByteBuffer, which may change for different chunks, and so is supplied by each chunk. Example for Integers:int[] read(LayoutBB index, int[] pa) { while (index.hasNext()) { LayoutBB.Chunk chunk = index.next(); IntBuffer buff = chunk.getIntBuffer(); buff.position(chunk.getSrcElem()); int pos = (int) chunk.getDestElem(); for (int i = 0; i < chunk.getNelems(); i++) pa[pos++] = buff.get(); } return pa; }
- Since:
- Jan 9, 2008
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
LayoutBB.Chunk
A chunk of data that is contiguous in both the source and destination.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
getElemSize()
Get size of each element in bytes.long
getTotalNelems()
Get total number of elements in the wanted subset.boolean
hasNext()
Is there more to doLayoutBB.Chunk
next()
Get the next chunk
-
-
-
Method Detail
-
getTotalNelems
long getTotalNelems()
Get total number of elements in the wanted subset.- Specified by:
getTotalNelems
in interfaceLayout
- Returns:
- total number of elements in the wanted subset.
-
getElemSize
int getElemSize()
Get size of each element in bytes.- Specified by:
getElemSize
in interfaceLayout
- Returns:
- size of each element in bytes.
-
hasNext
boolean hasNext()
Is there more to do
-
next
LayoutBB.Chunk next()
Get the next chunk
-
-