base-4.20.0.1: Core data structures and operations
Licensesee libraries/base/LICENSE
Maintainerghc-devs@haskell.org
Stabilityinternal
Portabilitynon-portable (GHC Extensions)
Safe HaskellSafe
LanguageHaskell2010

GHC.ArrayArray

Description

Legacy interface for arrays of arrays. Deprecated, because the Array# type can now store arrays directly. Consider simply using Array# instead of ArrayArray#.

Use GHC.Exts instead of importing this module directly.

Synopsis

Documentation

newArrayArray# :: Int# -> State# s -> (# State# s, MutableArrayArray# s #) Source #

Create a new mutable array of arrays with the specified number of elements, in the specified state thread, with each element recursively referring to the newly created array.

unsafeFreezeArrayArray# :: MutableArrayArray# s -> State# s -> (# State# s, ArrayArray# #) Source #

Make a mutable array of arrays immutable, without copying.

sizeofArrayArray# :: ArrayArray# -> Int# Source #

Return the number of elements in the array.

sizeofMutableArrayArray# :: MutableArrayArray# s -> Int# Source #

Return the number of elements in the array.

copyArrayArray# :: ArrayArray# -> Int# -> MutableArrayArray# s -> Int# -> Int# -> State# s -> State# s Source #

Copy a range of the ArrayArray# to the specified region in the MutableArrayArray#. Both arrays must fully contain the specified ranges, but this is not checked. The two arrays must not be the same array in different states, but this is not checked either.

copyMutableArrayArray# :: MutableArrayArray# s -> Int# -> MutableArrayArray# s -> Int# -> Int# -> State# s -> State# s Source #

Copy a range of the first MutableArrayArray# to the specified region in the second MutableArrayArray#. Both arrays must fully contain the specified ranges, but this is not checked. The regions are allowed to overlap, although this is only possible when the same array is provided as both the source and the destination.

sameArrayArray# :: ArrayArray# -> ArrayArray# -> Int# Source #

Compare the underlying pointers of two arrays of arrays.

sameMutableArrayArray# :: MutableArrayArray# s -> MutableArrayArray# s -> Int# Source #

Compare the underlying pointers of two mutable arrays of arrays.