haskell / 9 / libraries / text-2.0.1 / data-text-array.html

Data.Text.Array

Copyright (c) 2009 2010 2011 Bryan O'Sullivan
License BSD-style
Maintainer bos@serpentine.com
Portability portable
Safe Haskell Safe-Inferred
Language Haskell2010

Contents

Description

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.

Types

data Array Source

Immutable array type.

Constructors

data MArray s Source

Mutable array type, for use in the ST monad.

Functions

resizeM :: MArray s -> Int -> ST s (MArray s) Source

Since: text-2.0

shrinkM :: MArray s -> Int -> ST s () Source

Since: text-2.0

copyM Source

Arguments

:: MArray s

Destination

-> Int

Destination offset

-> MArray s

Source

-> Int

Source offset

-> Int

Count

-> ST s ()

Copy some elements of a mutable array.

copyI Source

Arguments

:: Int

Count

-> MArray s

Destination

-> Int

Destination offset

-> Array

Source

-> Int

Source offset

-> ST s ()

Copy some elements of an immutable array.

copyFromPointer Source

Arguments

:: MArray s

Destination

-> Int

Destination offset

-> Ptr Word8

Source

-> Int

Count

-> ST s ()

Copy from pointer.

Since: text-2.0

copyToPointer Source

Arguments

:: Array

Source

-> Int

Source offset

-> Ptr Word8

Destination

-> Int

Count

-> ST s ()

Copy to pointer.

Since: text-2.0

empty :: Array Source

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 :: forall s. Int -> ST s (MArray s) Source

Create an uninitialized mutable array.

newPinned :: forall s. 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.4.2/docs/libraries/text-2.0.1/Data-Text-Array.html