text-0.11.1.12: An efficient packed Unicode text type.

Portabilityportable
Stabilityexperimental
Maintainerbos@serpentine.com, rtomharper@googlemail.com, duncan@haskell.org

Data.Text.Array

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 Data.Array family of modules, but are shorter due to the assumption of qualifid naming.

Synopsis

Types

data Array Source

Immutable array type.

data MArray s Source

Mutable array type, for use in the ST monad.

Functions

copyMSource

Arguments

:: MArray s

Destination

-> Int

Destination offset

-> MArray s

Source

-> Int

Source offset

-> Int

Count

-> ST s () 

Copy some elements of a mutable array.

copyISource

Arguments

:: MArray s

Destination

-> Int

Destination offset

-> Array

Source

-> Int

Source offset

-> Int

First offset in destination not to copy (i.e. not length)

-> ST s () 

Copy some elements of an immutable array.

empty :: ArraySource

An empty immutable array.

equalSource

Arguments

:: Array

First

-> Int

Offset into first

-> Array

Second

-> Int

Offset into second

-> Int

Count

-> Bool 

Compare portions of two arrays for equality. No bounds checking is performed.

run :: (forall s. ST s (MArray s)) -> ArraySource

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 -> [Word16]Source

Convert an immutable array to a list.

unsafeFreeze :: MArray s -> ST s ArraySource

Freeze a mutable array. Do not mutate the MArray afterwards!

unsafeIndex :: Array -> Int -> Word16Source

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.

unsafeWrite :: MArray s -> Int -> Word16 -> ST s ()Source

Unchecked write of a mutable array. May return garbage or crash on an out-of-bounds access.