Package ucar.nc2.iosp
Interface LayoutBB
-
- All Superinterfaces:
Layout
- All Known Implementing Classes:
H5tiledLayoutBB,H5tiledLayoutBB,LayoutBBTiled
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 interfaceLayoutBB.ChunkA 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 intgetElemSize()Get size of each element in bytes.longgetTotalNelems()Get total number of elements in the wanted subset.booleanhasNext()Is there more to doLayoutBB.Chunknext()Get the next chunk
-
-
-
Method Detail
-
getTotalNelems
long getTotalNelems()
Get total number of elements in the wanted subset.- Specified by:
getTotalNelemsin interfaceLayout- Returns:
- total number of elements in the wanted subset.
-
getElemSize
int getElemSize()
Get size of each element in bytes.- Specified by:
getElemSizein interfaceLayout- Returns:
- size of each element in bytes.
-
hasNext
boolean hasNext()
Is there more to do
-
next
LayoutBB.Chunk next()
Get the next chunk
-
-