Data.Text.Array

Copyright (c) 2009 2010 2011 Bryan O'Sullivan
License BSD-style
Maintainer [email protected]
Portability portable
Safe Haskell None
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.

The Array constructor is exposed since text-1.1.1.3

Constructors

Array

Fields

data MArray s Source

Mutable array type, for use in the ST monad.

The MArray constructor is exposed since text-1.1.1.3

Constructors

MArray

Fields

Functions

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

:: 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 :: Array Source

An empty immutable array.

equal Source

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)) -> 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 -> [Word16] 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 -> Word16 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.

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.

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/text-1.2.3.2/Data-Text-Array.html