Spec-Zone.ru › Haskell 9

Data.Array.IO

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 Trustworthy
Language Haskell2010

Содержание

  • IO arrays with boxed elements
  • IO arrays with unboxed elements
  • Перегруженный интерфейс изменяемых массивов
  • Выполнение ввода-вывода с IOUArrays

Описание

Изменяемые массивы с упакованными и распакованными элементами в моноаде IO.

Массивы IO с упакованными элементами

data IOArray i e

Экземпляры
Подробное описание экземпляров
MArray IOArray e IO Source
Подробное описание экземпляра

Определено в Data.Array.Base

Методы

getBounds :: Ix i => IOArray i e -> IO (i, i) Source

getNumElements :: Ix i => IOArray i e -> IO Int Source

newArray :: Ix i => (i, i) -> e -> IO (IOArray i e) Source

newArray_ :: Ix i => (i, i) -> IO (IOArray i e) Source

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOArray i e) Source

unsafeRead :: Ix i => IOArray i e -> Int -> IO e Source

unsafeWrite :: Ix i => IOArray i e -> Int -> e -> IO () Source

Eq (IOArray i e)
Подробное описание экземпляра

Определено в GHC.Internal.IOArray

Методы

(==) :: IOArray i e -> IOArray i e -> Bool

(/=) :: IOArray i e -> IOArray i e -> Bool

Массивы IO с распакованными элементами

data IOUArray i e Source

Изменяемые, распакованные, строгие массивы в моноаде IO. Аргументы типа следующие:

  • i: тип индекса массива (должен быть экземпляром Ix)
  • e: тип элементов массива. Поддерживаются только определенные типы элементов: см. Data.Array.MArray для списка экземпляров.
Примеры использования
Подробности примеров использования
MArray IOUArray Int16 IO Исходный код
Подробности примера использования

Определено в Data.Array.IO.Internals

Методы

getBounds :: Ix i => IOUArray i Int16 -> IO (i, i) Исходный код

getNumElements :: Ix i => IOUArray i Int16 -> IO Целое Исходный код

newArray :: Ix i => (i, i) -> Int16 -> IO (IOUArray i Int16) Исходный код

newArray_ :: Ix i => (i, i) -> IO (IOUArray i Int16) Исходный код

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Int16) Исходный код

unsafeRead :: Ix i => IOUArray i Int16 -> Целое -> IO Int16 Исходный код

unsafeWrite :: Ix i => IOUArray i Int16 -> Целое -> Int16 -> IO () Исходный код

MArray IOUArray Int32 IO Исходный код
Подробности примера использования

Определено в Data.Array.IO.Internals

Методы

getBounds :: Ix i => IOUArray i Int32 -> IO (i, i) Исходный код

getNumElements :: Ix i => IOUArray i Int32 -> IO Целое Исходный код

newArray :: Ix i => (i, i) -> Int32 -> IO (IOUArray i Int32) Исходный код

newArray_ :: Ix i => (i, i) -> IO (IOUArray i Int32) Исходный код

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Int32) Исходный код

unsafeRead :: Ix i => IOUArray i Int32 -> Целое -> IO Int32 Исходный код

unsafeWrite :: Ix i => IOUArray i Int32 -> Целое -> Int32 -> IO () Исходный код

MArray IOUArray Int64 IO Исходный код
Подробности экземпляра

Определено в Data.Array.IO.Internals

Методы

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

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

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

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

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

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

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

MArray IOUArray Int8 IO Источник
Подробности экземпляра

Определено в Data.Array.IO.Internals

Методы

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

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

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

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

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

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

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

MArray IOUArray Word16 IO Источник
Подробности экземпляра

Определено в Data.Array.IO.Internals

Методы

getBounds :: Ix i => IOUArray i Word16 -> IO (i, i) Исходный код

getNumElements :: Ix i => IOUArray i Word16 -> IO Int Исходный код

newArray :: Ix i => (i, i) -> Word16 -> IO (IOUArray i Word16) Исходный код

newArray_ :: Ix i => (i, i) -> IO (IOUArray i Word16) Исходный код

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Word16) Исходный код

unsafeRead :: Ix i => IOUArray i Word16 -> Int -> IO Word16 Исходный код

unsafeWrite :: Ix i => IOUArray i Word16 -> Int -> Word16 -> IO () Исходный код

MArray IOUArray Word32 IO Исходный код
Подробности экземпляра

Определено в Data.Array.IO.Internals

Методы

getBounds :: Ix i => IOUArray i Word32 -> IO (i, i) Исходный код

getNumElements :: Ix i => IOUArray i Word32 -> IO Int Исходный код

newArray :: Ix i => (i, i) -> Word32 -> IO (IOUArray i Word32) Исходный код

newArray_ :: Ix i => (i, i) -> IO (IOUArray i Word32) Исходный код

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Word32) Исходный код

unsafeRead :: Ix i => IOUArray i Word32 -> Int -> IO Word32 Исходный код

unsafeWrite :: Ix i => IOUArray i Word32 -> Int -> Word32 -> IO () Исходный код

MArray IOUArray Word64 IO Исходный код
Подробности экземпляра

Определено в Data.Array.IO.Internals

Методы

getBounds :: Ix i => IOUArray i Word64 -> IO (i, i) Исходный код

getNumElements :: Ix i => IOUArray i Word64 -> IO Int Исходный код

newArray :: Ix i => (i, i) -> Word64 -> IO (IOUArray i Word64) Исходный код

newArray_ :: Ix i => (i, i) -> IO (IOUArray i Word64) Исходный код

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Word64) Исходный код

unsafeRead :: Ix i => IOUArray i Word64 -> Int -> IO Word64 Исходный код

unsafeWrite :: Ix i => IOUArray i Word64 -> Int -> Word64 -> IO () Исходный код

MArray IOUArray Word8 IO Исходный код
Подробности экземпляра

Определено в Data.Array.IO.Internals

Методы

getBounds :: Ix i => IOUArray i Word8 -> IO (i, i) Исходный код

getNumElements :: Ix i => IOUArray i Word8 -> IO Int Исходный код

newArray :: Ix i => (i, i) -> Word8 -> IO (IOUArray i Word8) Исходный код

newArray_ :: Ix i => (i, i) -> IO (IOUArray i Word8) Исходный код

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Word8) Исходный код

unsafeRead :: Ix i => IOUArray i Word8 -> Int -> IO Word8 Исходный код

unsafeWrite :: Ix i => IOUArray i Word8 -> Int -> Word8 -> IO () Исходный код

MArray IOUArray Bool IO Исходный код
Подробности экземпляра

Определено в Data.Array.IO.Internals

Методы

getBounds :: Ix i => IOUArray i Bool -> IO (i, i) Исходный код

getNumElements :: Ix i => IOUArray i Bool -> IO Int Исходный код

newArray :: Ix i => (i, i) -> Bool -> IO (IOUArray i Bool) Исходный код

newArray_ :: Ix i => (i, i) -> IO (IOUArray i Bool) Исходный код

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Bool) Исходный код

unsafeRead :: Ix i => IOUArray i Bool -> Int -> IO Bool Исходный код

unsafeWrite :: Ix i => IOUArray i Bool -> Int -> Bool -> IO () Исходный код

MArray IOUArray Char IO Исходный код
Подробности экземпляра

Определено в Data.Array.IO.Internals

Методы

getBounds :: Ix i => IOUArray i Char -> IO (i, i) Исходный код

getNumElements :: Ix i => IOUArray i Char -> IO Int Исходный код

newArray :: Ix i => (i, i) -> Char -> IO (IOUArray i Char) Исходный код

newArray_ :: Ix i => (i, i) -> IO (IOUArray i Char) Исходный код

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Char) Исходный код

unsafeRead :: Ix i => IOUArray i Char -> Int -> IO Char Исходный код

unsafeWrite :: Ix i => IOUArray i Char -> Int -> Char -> IO () Исходный код

MArray IOUArray Double IO Исходный код
Сведения об экземпляре

Определено в Data.Array.IO.Internals

Методы

getBounds :: Ix i => IOUArray i Double -> IO (i, i) Исходный код

getNumElements :: Ix i => IOUArray i Double -> IO Int Исходный код

newArray :: Ix i => (i, i) -> Double -> IO (IOUArray i Double) Исходный код

newArray_ :: Ix i => (i, i) -> IO (IOUArray i Double) Исходный код

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Double) Исходный код

unsafeRead :: Ix i => IOUArray i Double -> Int -> IO Double Исходный код

unsafeWrite :: Ix i => IOUArray i Double -> Int -> Double -> IO () Исходный код

MArray IOUArray Float IO Исходный код
Сведения об экземпляре

Определено в Data.Array.IO.Internals

Методы

getBounds :: Ix i => IOUArray i Float -> IO (i, i) Исходный код

getNumElements :: Ix i => IOUArray i Float -> IO Int Исходный код

newArray :: Ix i => (i, i) -> Float -> IO (IOUArray i Float) Исходный код

newArray_ :: Ix i => (i, i) -> IO (IOUArray i Float) Исходный код

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Float) Исходный код

unsafeRead :: Ix i => IOUArray i Float -> Int -> IO Float Исходный код

unsafeWrite :: Ix i => IOUArray i Float -> Int -> Float -> IO () Исходный код

MArray IOUArray Int IO Исходный код
Подробности экземпляра

Определено в Data.Array.IO.Internals

Методы

getBounds :: Ix i => IOUArray i Int -> IO (i, i) Исходный код

getNumElements :: Ix i => IOUArray i Int -> IO Int Исходный код

newArray :: Ix i => (i, i) -> Int -> IO (IOUArray i Int) Исходный код

newArray_ :: Ix i => (i, i) -> IO (IOUArray i Int) Исходный код

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Int) Исходный код

unsafeRead :: Ix i => IOUArray i Int -> Int -> IO Int Исходный код

unsafeWrite :: Ix i => IOUArray i Int -> Int -> Int -> IO () Исходный код

MArray IOUArray Word IO Исходный код
Подробности экземпляра

Определено в Data.Array.IO.Internals

Методы

getBounds :: Ix i => IOUArray i Word -> IO (i, i) Исходный код

getNumElements :: Ix i => IOUArray i Word -> IO Int Исходный код

newArray :: Ix i => (i, i) -> Word -> IO (IOUArray i Word) Исходный код

newArray_ :: Ix i => (i, i) -> IO (IOUArray i Word) Исходный код

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Word) Исходный код

unsafeRead :: Ix i => IOUArray i Word -> Int -> IO Word Исходный код

unsafeWrite :: Ix i => IOUArray i Word -> Int -> Word -> IO () Исходный код

MArray IOUArray (FunPtr a) IO Исходный код
Подробности экземпляра

Определено в Data.Array.IO.Internals

Методы

getBounds :: Ix i => IOUArray i (FunPtr a) -> IO (i, i) Источник

getNumElements :: Ix i => IOUArray i (FunPtr a) -> IO Int Источник

newArray :: Ix i => (i, i) -> FunPtr a -> IO (IOUArray i (FunPtr a)) Источник

newArray_ :: Ix i => (i, i) -> IO (IOUArray i (FunPtr a)) Источник

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i (FunPtr a)) Источник

unsafeRead :: Ix i => IOUArray i (FunPtr a) -> Int -> IO (FunPtr a) Источник

unsafeWrite :: Ix i => IOUArray i (FunPtr a) -> Int -> FunPtr a -> IO () Источник

MArray IOUArray (Ptr a) IO Источник
Подробности экземпляра

Определено в Data.Array.IO.Internals

Методы

getBounds :: Ix i => IOUArray i (Ptr a) -> IO (i, i) Источник

getNumElements :: Ix i => IOUArray i (Ptr a) -> IO Int Источник

newArray :: Ix i => (i, i) -> Ptr a -> IO (IOUArray i (Ptr a)) Источник

newArray_ :: Ix i => (i, i) -> IO (IOUArray i (Ptr a)) Источник

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i (Ptr a)) Источник

unsafeRead :: Ix i => IOUArray i (Ptr a) -> Int -> IO (Ptr a) Источник

unsafeWrite :: Ix i => IOUArray i (Ptr a) -> Int -> Ptr a -> IO () Источник

MArray IOUArray (StablePtr a) IO Источник
Подробности экземпляра

Определено в Data.Array.IO.Internals

Методы

getBounds :: Ix i => IOUArray i (StablePtr a) -> IO (i, i) Исходный код

getNumElements :: Ix i => IOUArray i (StablePtr a) -> IO Int Исходный код

newArray :: Ix i => (i, i) -> StablePtr a -> IO (IOUArray i (StablePtr a)) Исходный код

newArray_ :: Ix i => (i, i) -> IO (IOUArray i (StablePtr a)) Исходный код

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i (StablePtr a)) Исходный код

unsafeRead :: Ix i => IOUArray i (StablePtr a) -> Int -> IO (StablePtr a) Исходный код

unsafeWrite :: Ix i => IOUArray i (StablePtr a) -> Int -> StablePtr a -> IO () Исходный код

Eq (IOUArray i e) Исходный код
Подробности экземпляра

Определено в Data.Array.IO.Internals

Методы

(==) :: IOUArray i e -> IOUArray i e -> Bool

(/=) :: IOUArray i e -> IOUArray i e -> Bool

Интерфейс перегруженных мутабельных массивов

module Data.Array.MArray

Выполнение I/O с IOUArrays

hGetArray Исходный код

Аргументы

:: Поток

Поток для чтения

-> IOUArray Целое Слово8

Массив, в который нужно поместить значения

-> Целое

Количество Word8 для чтения

-> IO Целое

Возвращает: количество фактически прочитанных Word8 , которое может быть меньше запрошенного, если достигнут конец файла.

Считывает количество Word8 из указанного Handle напрямую в массив.

hPutArray Исходный код

Аргументы

:: Поток

Поток для записи

-> IOUArray Целое Слово8

Массив для записи

-> Целое

Количество Word8 для записи

-> IO ()

Записывает массив Word8 в указанный Handle.

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

Spec-Zone.ru

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