Spec-Zone.ru › Haskell 9

Data.Array.Storable

Авторские права (c) The University of Glasgow 2001
Лицензия BSD-style (см. файл libraries/base/LICENSE)
Сопровождающий libraries@haskell.org
Стабильность экспериментальный
Переносимость непереносимый (использует Data.Array.MArray)
Безопасный Haskell Trustworthy
Язык Haskell2010

Содержание

  • Массивы элементов Storable.
  • Перегруженный интерфейс изменяемых массивов
  • Доступ к указателю на содержимое массива

Описание

Массив с хранимыми элементами — это изменяемый в IO массив, содержимое которого хранится в непрерывном блоке памяти в куче C. Элементы хранятся согласно классу Storable. Указатель на содержимое массива можно получить, чтобы работать с элементами из таких языков, как C.

Он похож на IOUArray, но работает медленнее. Его преимущество в совместимости с C.

Массивы элементов Storable.

data StorableArray i e Источник

Тип массива

Экземпляры
Подробности об экземплярах
Storable e => MArray StorableArray e IO Источник
Подробности об экземпляре

Определён в Data.Array.Storable.Internals

Методы

getBounds :: Ix i => StorableArray i e -> IO (i, i) Источник

getNumElements :: Ix i => StorableArray i e -> IO Int Источник

newArray :: Ix i => (i, i) -> e -> IO (StorableArray i e) Источник

newArray_ :: Ix i => (i, i) -> IO (StorableArray i e) Источник

unsafeNewArray_ :: Ix i => (i, i) -> IO (StorableArray i e) Источник

unsafeRead :: Ix i => StorableArray i e -> Int -> IO e Источник

unsafeWrite :: Ix i => StorableArray i e -> Int -> e -> IO () Источник

Перегруженный интерфейс изменяемых массивов

Модуль Data.Array.MArray предоставляет интерфейс для массивов с хранимыми элементами. Они являются экземплярами класса MArray (с монадой IO).

module Data.Array.MArray

Доступ к указателю на содержимое массива

withStorableArray :: StorableArray i e -> (Ptr e -> IO a) -> IO a Источник

Указатель на содержимое массива получается с помощью withStorableArray. Идея похожа на ForeignPtr (используется здесь внутри). Указатель следует использовать только во время выполнения действия IO, возвращённого функцией, переданной в качестве аргумента в withStorableArray.

touchStorableArray :: StorableArray i e -> IO () Источник

Если вы хотите использовать его впоследствии, вызовите touchStorableArray после последнего использования указателя, чтобы массив не был освобождён слишком рано.

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API