| Copyright | (c) 2009 2010 2011 Bryan O'Sullivan |
|---|---|
| License | BSD-style |
| Maintainer | [email protected] |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Packed, unboxed, heap-resident arrays. Suitable for performance critical use, both in terms of large data quantities and high speed.
This module is intended to be imported qualified, to avoid name clashes with Prelude functions, e.g.
import qualified Data.Text.Array as A
The names in this module resemble those in the Array family of modules, but are shorter due to the assumption of qualified naming.
Immutable array type.
pattern ByteArray :: ByteArray# -> ByteArray Source
type MArray = MutableByteArray Source
Mutable array type, for use in the ST monad.
pattern MutableByteArray :: MutableByteArray# s -> MutableByteArray s Source
resizeM :: MArray s -> Int -> ST s (MArray s) Source
Since: text-2.0
shrinkM :: MArray s -> Int -> ST s () Source
Since: text-2.0
| :: MArray s | Destination |
| -> Int | Destination offset |
| -> MArray s | Source |
| -> Int | Source offset |
| -> Int | Count |
| -> ST s () |
Copy some elements of a mutable array.
| :: Int | Count |
| -> MArray s | Destination |
| -> Int | Destination offset |
| -> Array | Source |
| -> Int | Source offset |
| -> ST s () |
Copy some elements of an immutable array.
| :: MArray s | Destination |
| -> Int | Destination offset |
| -> Ptr Word8 | Source |
| -> Int | Count |
| -> ST s () |
Copy from pointer.
Since: text-2.0
Copy to pointer.
Since: text-2.0
An empty immutable array.
equal :: Array -> Int -> Array -> Int -> Int -> Bool Source
Compare portions of two arrays for equality. No bounds checking is performed.
compare :: Array -> Int -> Array -> Int -> Int -> Ordering Source
Compare portions of two arrays. No bounds checking is performed.
Since: text-2.0
run :: (forall s. ST s (MArray s)) -> Array Source
Run an action in the ST monad and return an immutable array of its result.
run2 :: (forall s. ST s (MArray s, a)) -> (Array, a) Source
Run an action in the ST monad and return an immutable array of its result paired with whatever else the action returns.
toList :: Array -> Int -> Int -> [Word8] Source
Convert an immutable array to a list.
unsafeFreeze :: MArray s -> ST s Array Source
Freeze a mutable array. Do not mutate the MArray afterwards!
unsafeIndex :: Array -> Int -> Word8 Source
Unchecked read of an immutable array. May return garbage or crash on an out-of-bounds access.
new :: Int -> ST s (MArray s) Source
Create an uninitialized mutable array.
newPinned :: Int -> ST s (MArray s) Source
Create an uninitialized mutable pinned array.
Since: text-2.0
newFilled :: Int -> Int -> ST s (MArray s) Source
Since: text-2.0
unsafeWrite :: MArray s -> Int -> Word8 -> ST s () Source
Unchecked write of a mutable array. May return garbage or crash on an out-of-bounds access.
tile :: MArray s -> Int -> ST s () Source
Since: text-2.0
getSizeofMArray :: MArray s -> ST s Int Source
Since: text-2.0
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.12.1/docs/libraries/text-2.1.2-84f9/Data-Text-Array.html