The ByteArray
ByteArray
interface
ByteArray interface (GHC extensions)
ByteArrays are chunks of immutable Haskell heap:
data ByteArray ix -- abstract
-- instance of: Eq, CCallable.
newByteArray :: Ix ix => (ix,ix) -> ST s (ByteArray ix)
indexCharArray :: Ix ix => ByteArray ix -> ix -> Char
indexIntArray :: Ix ix => ByteArray ix -> ix -> Int
indexAddrArray :: Ix ix => ByteArray ix -> ix -> Addr
indexFloatArray :: Ix ix => ByteArray ix -> ix -> Float
indexDoubleArray :: Ix ix => ByteArray ix -> ix -> Double
sizeofByteArray :: Ix ix => ByteArray ix -> Int
newByteArray
indexCharArray
indexIntArray
indexAddrArray
indexFloatArray
indexDoubleArray
indexDoubleArray
sizeofByteArray
Remarks:
The operation newByteArray creates a byte array of length
equal to the range of its indices in bytes.
sizeofByteArray returns the size of the byte array, in bytes.
Equality on byte arrays is value equality, not pointer equality (as is
the case for its mutable variant.) Two byte arrays are equal if
they're of the same length and they're pairwise equal.