Data.Array.Storable

Data.Array.Storable

Copyright (c) The University of Glasgow 2001
License BSD-style (see the file libraries/base/LICENSE)
Maintainer libraries@haskell.org
Stability experimental
Portability non-portable (uses Data.Array.MArray)
Safe Haskell None
Language Haskell2010

Description

A storable array is an IO-mutable array which stores its contents in a contiguous memory block living in the C heap. Elements are stored according to the class Storable. You can obtain the pointer to the array contents to manipulate elements from languages like C.

It is similar to IOUArray but slower. Its advantage is that it's compatible with C.

Arrays of Storable things.

data StorableArray i e Source

The array type

Instances

Overloaded mutable array interface

Module Data.Array.MArray provides the interface of storable arrays. They are instances of class MArray (with the IO monad).

module Data.Array.MArray

Accessing the pointer to the array contents

withStorableArray :: StorableArray i e -> (Ptr e -> IO a) -> IO a Source

The pointer to the array contents is obtained by withStorableArray. The idea is similar to ForeignPtr (used internally here). The pointer should be used only during execution of the IO action retured by the function passed as argument to withStorableArray.

touchStorableArray :: StorableArray i e -> IO () Source

If you want to use it afterwards, ensure that you touchStorableArray after the last use of the pointer, so the array is not freed too early.

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

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部