2 % (c) The AQUA Project, Glasgow University, 1994-1997
4 \section[ByteArray]{The @ByteArray@ interface}
6 Immutable, read-only chunks of bytes, the @ByteArray@ collects
7 together the definitions in @ArrBase@ and exports them as one.
12 ByteArray(..), -- not abstract, for now.
15 --Indexing of ordinary @Arrays@ is standard Haskell and isn't defined here.
16 indexCharArray, -- :: Ix ix => ByteArray ix -> ix -> Char
17 indexIntArray, -- :: Ix ix => ByteArray ix -> ix -> Int
18 indexWordArray, -- :: Ix ix => ByteArray ix -> ix -> Word
19 indexAddrArray, -- :: Ix ix => ByteArray ix -> ix -> Addr
20 indexFloatArray, -- :: Ix ix => ByteArray ix -> ix -> Float
21 indexDoubleArray, -- :: Ix ix => ByteArray ix -> ix -> Double
22 indexStablePtrArray -- :: Ix ix => ByteArray ix -> ix -> (StablePtr a)
34 indexStablePtrArray :: Ix ix => ByteArray ix -> ix -> (StablePtr a)
35 indexStablePtrArray (ByteArray ixs barr#) n
36 = case (index ixs n) of { I# n# ->
37 case indexStablePtrArray# barr# n# of { r# ->