public abstract class BaseNIOBuffer extends Base1DBuffer
java.nio.ByteBuffer. The description of BaseBuffer mostly applies. Methods
 provided or overridden here are appropriate to 1-dimensional arrays, of any item size, backed by
 a ByteBuffer.PyBuffer.PointerANY_CONTIGUOUS, AS_ARRAY, C_CONTIGUOUS, CONTIG, CONTIG_RO, CONTIGUITY, F_CONTIGUOUS, FORMAT, FULL, FULL_RO, INDIRECT, IS_C_CONTIGUOUS, IS_F_CONTIGUOUS, MAX_NDIM, NAVIGATION, ND, RECORDS, RECORDS_RO, SIMPLE, STRIDED, STRIDED_RO, STRIDES, WRITABLE| Modifier and Type | Method and Description | 
|---|---|
| int | byteIndex(int... indices)Convert a multi-dimensional item index to an absolute byte index in the storage shared by the
 exporter. | 
| void | copyFrom(byte[] src,
        int srcPos,
        int destIndex,
        int count)Copy from a slice of a (Java) byte array into the buffer starting at a given destination
 item-index. | 
| void | copyTo(ByteBuffer dest)Copy all items in this buffer into a  ByteBuffer, starting at its current
 position. | 
| void | copyTo(int srcIndex,
      byte[] dest,
      int destPos,
      int count)Copy a simple slice of the buffer-view to the destination byte array, defined by a starting
 item-index in the source buffer and the  countof items to copy. | 
| PyBuffer.Pointer | getBuf()Return a structure describing the slice of a byte array that holds the data being exported to
 the consumer. | 
getLen, isContiguousbyteAt, byteAt, byteIndex, close, copyFrom, copyTo, getBuffer, getBufferAgain, getBufferSlice, getFormat, getItemsize, getNdim, getNIOByteBuffer, getObj, getPointer, getPointer, getShape, getStrides, getSuboffsets, hasArray, intAt, intAt, isReadonly, isReleased, release, storeAt, storeAt, toStringequals, getClass, hashCode, notify, notifyAll, wait, wait, waitgetBufferSlicepublic int byteIndex(int... indices)
              throws IndexOutOfBoundsException
PyBufferPyBuffer is a linearly-indexed sequence of
 bytes, although it may not actually be a heap-allocated Java byte[] object. The
 purpose of this method is to allow the exporter to define the relationship between the item
 index (as used in PyBuffer.byteAt(int...) and the byte-index (as used with the
 ByteBuffer returned by PyBuffer.getNIOByteBuffer()).byteIndex in interface PyBufferbyteIndex in class BaseBufferindices - n-dimensional item-index from consumerIndexOutOfBoundsExceptionpublic void copyTo(int srcIndex,
                   byte[] dest,
                   int destPos,
                   int count)
            throws IndexOutOfBoundsException
count of items to copy. This may validly
 be done only for a one-dimensional buffer, as the meaning of the starting item-index is
 otherwise not defined. count*itemsize bytes will be occupied in the destination.
 
 The default implementation in BaseBuffer deals with the general one-dimensional
 case of arbitrary item size and stride, but is unable to optimise access to sequential bytes.
 
 The default implementation in BaseNIOBuffer deals with the general
 one-dimensional case of arbitrary item size and stride.
copyTo in interface PyBuffercopyTo in class BaseBuffersrcIndex - starting item-index in the source bufferdest - destination byte arraydestPos - byte-index in the destination array of the source item [0,...]count - number of items to copyIndexOutOfBoundsException - if access out of bounds in source or destinationpublic void copyTo(ByteBuffer dest) throws BufferOverflowException, ReadOnlyBufferException
ByteBuffer, starting at its current
 position.dest - destination bufferBufferOverflowExceptionReadOnlyBufferExceptionpublic void copyFrom(byte[] src,
                     int srcPos,
                     int destIndex,
                     int count)
              throws IndexOutOfBoundsException,
                     PyException
count*itemsize bytes will be read
 from the source.
 
 The default implementation in BaseBuffer deals with the general one-dimensional
 case of arbitrary item size and stride, but is unable to optimise access to sequential bytes.
 
 The default implementation in BaseNIOBuffer deals with the general
 one-dimensional case of arbitrary item size and stride.
copyFrom in interface PyBuffercopyFrom in class BaseBuffersrc - source byte arraysrcPos - location in source of first byte to copydestIndex - starting item-index in the destination (i.e. this)count - number of items to copy inIndexOutOfBoundsException - if access out of bounds in source or destinationPyException - (TypeError) if read-only bufferpublic PyBuffer.Pointer getBuf()
PyBufferobj has type BufferProtocol:
 PyBuffer a = obj.getBuffer(PyBUF.SIMPLE); int itemsize = a.getItemsize(); PyBuffer.Pointer b = a.getBuf();the item with index
k is in the array b.storage at index
 [b.offset + k*itemsize] to [b.offset + (k+1)*itemsize - 1]
 inclusive. And if itemsize==1, the item is simply the byte
 b.storage[b.offset + k]
 
 If the buffer is multidimensional or non-contiguous, storage[offset] is still
 the (first byte of) the item at index [0] or [0,...,0]. However, it is necessary to navigate
 b.storage using the shape, strides and maybe
 suboffsets provided by the API.
getBuf in interface PyBuffergetBuf in class BaseBuffer