Spec-Zone.ru › Haskell 9

Data.Array.Byte

Авторские права (c) Роман Лещински 2009-2012
Лицензия BSD-стиль
Поддержка libraries@haskell.org
Переносимость непереносимая
Безопасный Haskell Надёжная
Язык Haskell2010

Описание

Выведено из пакета primitive.

тип ByteArray Исходный код

Обёртывание типа ByteArray#.

Так как ByteArray# — это неподнятый тип и не является членом типа Type, выражения типа [ByteArray#] или IO ByteArray# некорректны. Чтобы обойти это неудобство, этот модуль предоставляет стандартное поднятое обёртывание, проживающее в Type. Клиенты должны использовать ByteArray в API более высокого уровня, но могут оборачивать и разворачивать ByteArray по своему усмотрению и использовать функции из GHC.Exts.

Представление в памяти ByteArray:

╭─────────────┬───╮  ╭────────┬──────┬─────────╮
│ Constructor │ * ┼─►│ Header │ Size │ Payload │
╰─────────────┴───╯  ╰────────┴──────┴─────────╯

И его накладные расходы следующие:

  • Конструктор ByteArray: 1 слово
  • Указатель на ByteArray#: 1 слово
  • Заголовок ByteArray#: 1 слово
  • Размер ByteArray#: 1 слово

Где слово — единица выделения памяти, составляющая 8 байт на 64-битных системах и 4 байта на 32-битных системах.

С версии: base-4.17.0.0

Конструкторы

ByteArray ByteArray#
Экземпляры
Подробности экземпляров
Monoid ByteArray Источник

С версии: base-4.17.0.0

Подробности экземпляра

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

Методы

mempty :: ByteArray Источник

mappend :: ByteArray -> ByteArray -> ByteArray Источник

mconcat :: [ByteArray] -> ByteArray Источник

Semigroup ByteArray Источник

С версии: base-4.17.0.0

Подробности экземпляра

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

Методы

(<>) :: ByteArray -> ByteArray -> ByteArray Источник

sconcat :: NonEmpty ByteArray -> ByteArray Источник

stimes :: Integral b => b -> ByteArray -> ByteArray Источник

Data ByteArray Источник

С версии: base-4.17.0.0

Подробности экземпляра

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

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ByteArray -> c ByteArray Источник

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ByteArray Источник

toConstr :: ByteArray -> Constr Источник

dataTypeOf :: ByteArray -> DataType Источник

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ByteArray) Источник

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ByteArray) Источник

gmapT :: (forall b. Data b => b -> b) -> ByteArray -> ByteArray Источник

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ByteArray -> r Источник

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ByteArray -> r Источник

gmapQ :: (forall d. Data d => d -> u) -> ByteArray -> [u] Источник

gmapQi :: Int -> (forall d. Data d => d -> u) -> ByteArray -> u Источник

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ByteArray -> m ByteArray Источник

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteArray -> m ByteArray Источник

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteArray -> m ByteArray Источник

IsList ByteArray Источник

С версии: base-4.17.0.0

Подробности экземпляра

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

Связанные типы

type Элемент Массив байтов
Подробности экземпляра

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

type Элемент Массив байтов = Слово8

Методы

fromList :: [Элемент Массив байтов] -> Массив байтов Источник

fromListN :: Целое -> [Элемент Массив байтов] -> Массив байтов Источник

toList :: Массив байтов -> [Элемент Массив байтов] Источник

Вывод Массив байтов Источник

С момента: base-4.17.0.0

Подробности экземпляра

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

Методы

showsPrec :: Целое -> Массив байтов -> ShowS Источник

show :: Массив байтов -> Строка Источник

showList :: [Массив байтов] -> ShowS Источник

Равенство Массив байтов Источник

С момента: base-4.17.0.0

Подробности экземпляра

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

Методы

(==) :: Массив байтов -> Массив байтов -> Булево Источник

(/=) :: Массив байтов -> Массив байтов -> Булево Источник

Порядок Массив байтов Источник

Нелексикографическое упорядочение. Сначала сравниваются длины массивов байтов, а если они равны, используется лексикографическое упорядочение. Может измениться между основными версиями.

С момента: base-4.17.0.0

Подробности экземпляра

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

Методы

compare :: Массив байтов -> Массив байтов -> Порядок Источник

(<) :: Массив байтов -> Массив байтов -> Булево Источник

(<=) :: Массив байтов -> Массив байтов -> Булево Источник

(>) :: Массив байтов -> Массив байтов -> Булево Источник

(>=) :: Массив байтов -> Массив байтов -> Булево Источник

max :: Массив байтов -> Массив байтов -> Массив байтов Источник

min :: Массив байтов -> Массив байтов -> Массив байтов Источник

Поднятие Массив байтов Источник
Подробности экземпляра

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

Методы

lift :: Цитата m => Массив байтов -> m Выражение Источник

liftTyped :: forall (m :: Тип -> Тип). Цитата m => Массив байтов -> Код m Массив байтов Источник

type Item ByteArray Source
Информация о экземпляре

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

type Item ByteArray = Word8

data MutableByteArray s Source

Поднятый обёрткий для MutableByteArray#.

Так как MutableByteArray# является неподнятым типом и не является членом рода Type, такие вещи, как [MutableByteArray#] или IO MutableByteArray#, имеют неверную типизацию. Чтобы обойти это неудобство, этот модуль предоставляет стандартный поднятый обёрткий, находящийся в Type. Ожидается, что клиенты будут использовать MutableByteArray в высокоуровневых API, но будут оборачивать и распаковывать MutableByteArray внутренне по своему усмотрению и использовать функции из GHC.Exts.

Since: base-4.17.0.0

Конструкторы

MutableByteArray (MutableByteArray# s)
Экземпляры
Подробная информация об экземплярах
Typeable s => Data (MutableByteArray s) Source

Since: base-4.17.0.0

Информация о экземпляре

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

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MutableByteArray s -> c (MutableByteArray s) Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (MutableByteArray s) Source

toConstr :: MutableByteArray s -> Constr Source

dataTypeOf :: MutableByteArray s -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (MutableByteArray s)) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (MutableByteArray s)) Source

gmapT :: (forall b. Data b => b -> b) -> MutableByteArray s -> MutableByteArray s Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MutableByteArray s -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MutableByteArray s -> r Source

gmapQ :: (forall d. Data d => d -> u) -> MutableByteArray s -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> MutableByteArray s -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MutableByteArray s -> m (MutableByteArray s) Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MutableByteArray s -> m (MutableByteArray s) Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MutableByteArray s -> m (MutableByteArray s) Source

Eq (MutableByteArray s) Source

Since: base-4.17.0.0

Информация о экземпляре

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

Методы

(==) :: MutableByteArray s -> MutableByteArray s -> Bool Source

(/=) :: MutableByteArray s -> MutableByteArray s -> Bool Source

© 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/base-4.21.0.0-8e62/Data-Array-Byte.html

Spec-Zone.ru

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