-%
-% (c) The AQUA Project, Glasgow University, 1997
-%
-\section[MutableArray]{The @MutableArray@ interface}
-
-Mutable (byte)arrays interface, re-exports type types and operations
-over them from @ArrBase@. Have to be used in conjunction with
-@ST@.
-
-\begin{code}
-module MutableArray
- (
- MutableArray(..), -- not abstract
- MutableByteArray(..),
-
- ST,
- Ix,
-
- -- Creators:
- newArray, -- :: Ix ix => (ix,ix) -> elt -> ST s (MutableArray s ix elt)
- newCharArray,
- newAddrArray,
- newIntArray,
- newFloatArray,
- newDoubleArray, -- :: Ix ix => (ix,ix) -> ST s (MutableByteArray s ix)
-
- boundsOfArray, -- :: Ix ix => MutableArray s ix elt -> (ix, ix)
- boundsOfByteArray, -- :: Ix ix => MutableByteArray s ix -> (ix, ix)
-
- readArray, -- :: Ix ix => MutableArray s ix elt -> ix -> ST s elt
-
- readCharArray, -- :: Ix ix => MutableByteArray s ix -> ix -> ST s Char
- readIntArray, -- :: Ix ix => MutableByteArray s ix -> ix -> ST s Int
- readAddrArray, -- :: Ix ix => MutableByteArray s ix -> ix -> ST s Addr
- readFloatArray, -- :: Ix ix => MutableByteArray s ix -> ix -> ST s Float
- readDoubleArray, -- :: Ix ix => MutableByteArray s ix -> ix -> ST s Double
-
- writeArray, -- :: Ix ix => MutableArray s ix elt -> ix -> elt -> ST s ()
- writeCharArray, -- :: Ix ix => MutableByteArray s ix -> ix -> Char -> ST s ()
- writeIntArray, -- :: Ix ix => MutableByteArray s ix -> ix -> Int -> ST s ()
- writeAddrArray, -- :: Ix ix => MutableByteArray s ix -> ix -> Addr -> ST s ()
- writeFloatArray, -- :: Ix ix => MutableByteArray s ix -> ix -> Float -> ST s ()
- writeDoubleArray, -- :: Ix ix => MutableByteArray s ix -> ix -> Double -> ST s ()
-
- freezeArray, -- :: Ix ix => MutableArray s ix elt -> ST s (Array ix elt)
- freezeCharArray, -- :: Ix ix => MutableByteArray s ix -> ST s (ByteArray ix)
- freezeIntArray, -- :: Ix ix => MutableByteArray s ix -> ST s (ByteArray ix)
- freezeAddrArray, -- :: Ix ix => MutableByteArray s ix -> ST s (ByteArray ix)
- freezeFloatArray, -- :: Ix ix => MutableByteArray s ix -> ST s (ByteArray ix)
- freezeDoubleArray, -- :: Ix ix => MutableByteArray s ix -> ST s (ByteArray ix)
-
- unsafeFreezeArray, -- :: Ix ix => MutableArray s ix elt -> ST s (Array ix elt)
- unsafeFreezeByteArray, -- :: Ix ix => MutableByteArray s ix -> ST s (ByteArray ix)
- thawArray -- :: Ix ix => Array ix elt -> ST s (MutableArray s ix elt)
-
- ) where
-
-import ArrBase
-import ST
-import Ix
-
-\end{code}