Foreign.Storable
| Авторские права | (c) Команда FFI 2001 |
|---|---|
| Лицензия | см. libraries/base/LICENSE |
| Поддерживающий | ffi@haskell.org |
| Устойчивость | предварительная |
| Переносимость | переносимая |
| Safe Haskell | Safe |
| Язык | Haskell2010 |
Описание
Модуль Foreign.Storable предоставляет базовые средства для маршалинга и является частью платформо-независимой части интерфейса внешних функций (FFI), и обычно импортируется через модуль Foreign.
Функции-члены этого класса позволяют записывать значения примитивных типов в сырую память (которая могла быть выделена вышеупомянутыми процедурами) и считывать значения из блоков сырой памяти. Кроме того, класс включает поддержку вычисления требований к хранению и ограничениям выравнивания для типов storable.
Адреса памяти представлены как значения типа Ptr a, для некоторого a, который является экземпляром класса Storable. Аргумент типа для Ptr помогает обеспечить некоторую ценную типовую безопасность в коде FFI (вы не можете смешивать указатели разных типов без явного приведения), помогая системе типов Haskell определить, какой метод маршалинга необходим для данного указателя.
Весь маршаллинг между Haskell и внешним языком в конечном итоге сводится к преобразованию структур данных Haskell в двоичное представление соответствующей структуры данных внешнего языка и наоборот. Для кодирования этого маршалинга на Haskell необходимо манипулировать примитивными типами данных, хранящимися в неструктурированных блоках памяти. Класс Storable облегчает эти манипуляции для всех типов, для которых он инстанцирован, которыми являются стандартные базовые типы Haskell, фиксированные типы Int (Int8, Int16, Int32, Int64), фиксированные типы Word (Word8, Word16, Word32, Word64), StablePtr, все типы из Foreign.C.Types, а также Ptr.
Минимальное полное определение
sizeOf, alignment, (peek | peekElemOff | peekByteOff), (poke | pokeElemOff | pokeByteOff)
Методы
Вычисляет требования к хранению (в байтах) аргумента. Значение аргумента не используется.
alignment :: a -> Int Источник
Вычисляет ограничение выравнивания аргумента. Ограничение выравнивания x выполняется любым адресом, делящимся на x. Выравнивание должно быть степенью двойки, если этот экземпляр будет использоваться с alloca или allocaArray. Значение аргумента не используется.
peekElemOff :: Ptr a -> Int -> IO a Источник
Считывает значение из области памяти, рассматриваемой как массив значений одного и того же типа. Первый аргумент указывает начальный адрес массива, а второй - индекс в массиве (первый элемент массива имеет индекс 0). Выполняется следующее равенство:
peekElemOff addr idx = IOExts.fixIO $ \result -> peek (addr `plusPtr` (idx * sizeOf result))
Обратите внимание, что это только спецификация, а не обязательно конкретная реализация функции.
pokeElemOff :: Ptr a -> Int -> a -> IO () Источник
Записывает значение в область памяти, рассматриваемую как массив значений одного и того же типа. Выполняется следующее равенство:
pokeElemOff addr idx x = poke (addr `plusPtr` (idx * sizeOf x)) x
peekByteOff :: Ptr b -> Int -> IO a Источник
Считывает значение из расположения памяти, заданного базовым адресом и смещением. Выполняется следующее равенство:
peekByteOff addr off = peek (addr `plusPtr` off)
pokeByteOff :: Ptr b -> Int -> a -> IO () Источник
Записывает значение в расположение памяти, заданное базовым адресом и смещением. Выполняется следующее равенство:
pokeByteOff addr off x = poke (addr `plusPtr` off) x
peek :: Ptr a -> IO a Источник
Считывает значение из данного расположения памяти.
Обратите внимание, что функции peek и poke могут потребовать правильно выровненных адресов для корректной работы. Это зависит от архитектуры; следовательно, переносимый код должен гарантировать, что при чтении или записи значений некоторого типа a, ограничение выравнивания для a, как задано функцией alignment, выполняется.
poke :: Ptr a -> a -> IO () Источник
Записывает заданное значение в заданное расположение памяти. Могут применяться ограничения выравнивания; см. peek.
Примеры реализации
| Storable Fingerprint Исходный код | С момента: base-4.4.0.0 |
Определено в GHC.Internal.Foreign.Storable МетодыsizeOf :: Fingerprint -> Int Исходный код alignment :: Fingerprint -> Int Исходный код peekElemOff :: Ptr Fingerprint -> Int -> IO Fingerprint Исходный код pokeElemOff :: Ptr Fingerprint -> Int -> Fingerprint -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO Fingerprint Исходный код pokeByteOff :: Ptr b -> Int -> Fingerprint -> IO () Исходный код peek :: Ptr Fingerprint -> IO Fingerprint Исходный код poke :: Ptr Fingerprint -> Fingerprint -> IO () Исходный код | |
| Storable CBool Исходный код | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CBool -> Int Исходный код alignment :: CBool -> Int Исходный код peekElemOff :: Ptr CBool -> Int -> IO CBool Исходный код pokeElemOff :: Ptr CBool -> Int -> CBool -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CBool Исходный код pokeByteOff :: Ptr b -> Int -> CBool -> IO () Исходный код | |
| Storable CChar Исходный код | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CChar -> Int Исходный код alignment :: CChar -> Int Исходный код peekElemOff :: Ptr CChar -> Int -> IO CChar Исходный код pokeElemOff :: Ptr CChar -> Int -> CChar -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CChar Исходный код pokeByteOff :: Ptr b -> Int -> CChar -> IO () Исходный код | |
| Storable CClock Исходный код | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CClock -> Int Исходный код alignment :: CClock -> Int Исходный код peekElemOff :: Ptr CClock -> Int -> IO CClock Исходный код pokeElemOff :: Ptr CClock -> Int -> CClock -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CClock Исходный код pokeByteOff :: Ptr b -> Int -> CClock -> IO () Исходный код | |
| Storable CDouble Исходный код | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CDouble -> Int Исходный код alignment :: CDouble -> Int Исходный код peekElemOff :: Ptr CDouble -> Int -> IO CDouble Исходный код pokeElemOff :: Ptr CDouble -> Int -> CDouble -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CDouble Исходный код pokeByteOff :: Ptr b -> Int -> CDouble -> IO () Исходный код | |
| Storable CFloat Исходный код | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CFloat -> Int Исходный код alignment :: CFloat -> Int Исходный код peekElemOff :: Ptr CFloat -> Int -> IO CFloat Исходный код pokeElemOff :: Ptr CFloat -> Int -> CFloat -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CFloat Исходный код pokeByteOff :: Ptr b -> Int -> CFloat -> IO () Исходный код | |
| Storable CInt Исходный код | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CInt -> Int Исходный код alignment :: CInt -> Int Исходный код peekElemOff :: Ptr CInt -> Int -> IO CInt Исходный код pokeElemOff :: Ptr CInt -> Int -> CInt -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CInt Исходный код pokeByteOff :: Ptr b -> Int -> CInt -> IO () Исходный код | |
| Storable CIntMax Исходный код | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CIntMax -> Int Исходный код alignment :: CIntMax -> Int Исходный код peekElemOff :: Ptr CIntMax -> Int -> IO CIntMax Исходный код pokeElemOff :: Ptr CIntMax -> Int -> CIntMax -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CIntMax Исходный код pokeByteOff :: Ptr b -> Int -> CIntMax -> IO () Исходный код | |
| Storable CIntPtr Исходный код | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CIntPtr -> Int Исходный код alignment :: CIntPtr -> Int Исходный код peekElemOff :: Ptr CIntPtr -> Int -> IO CIntPtr Исходный код pokeElemOff :: Ptr CIntPtr -> Int -> CIntPtr -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CIntPtr Исходный код pokeByteOff :: Ptr b -> Int -> CIntPtr -> IO () Исходный код | |
| Storable CLLong Исходный код | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CLLong -> Int Исходный код alignment :: CLLong -> Int Исходный код peekElemOff :: Ptr CLLong -> Int -> IO CLLong Исходный код pokeElemOff :: Ptr CLLong -> Int -> CLLong -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CLLong Исходный код pokeByteOff :: Ptr b -> Int -> CLLong -> IO () Исходный код | |
| Storable CLong Исходный код | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CLong -> Int Исходный код alignment :: CLong -> Int Исходный код peekElemOff :: Ptr CLong -> Int -> IO CLong Исходный код pokeElemOff :: Ptr CLong -> Int -> CLong -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CLong Исходный код pokeByteOff :: Ptr b -> Int -> CLong -> IO () Исходный код | |
| Storable CPtrdiff Исходный код | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CPtrdiff -> Int Исходный код alignment :: CPtrdiff -> Int Исходный код peekElemOff :: Ptr CPtrdiff -> Int -> IO CPtrdiff Исходный код pokeElemOff :: Ptr CPtrdiff -> Int -> CPtrdiff -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CPtrdiff Исходный код pokeByteOff :: Ptr b -> Int -> CPtrdiff -> IO () Исходный код | |
| Storable CSChar Исходный код | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CSChar -> Int Исходный код alignment :: CSChar -> Int Исходный код peekElemOff :: Ptr CSChar -> Int -> IO CSChar Исходный код pokeElemOff :: Ptr CSChar -> Int -> CSChar -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CSChar Исходный код pokeByteOff :: Ptr b -> Int -> CSChar -> IO () Исходный код | |
| Storable CSUSeconds Исходный код | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CSUSeconds -> Int Исходный код alignment :: CSUSeconds -> Int Исходный код peekElemOff :: Ptr CSUSeconds -> Int -> IO CSUSeconds Исходный код pokeElemOff :: Ptr CSUSeconds -> Int -> CSUSeconds -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CSUSeconds Исходный код pokeByteOff :: Ptr b -> Int -> CSUSeconds -> IO () Исходный код peek :: Ptr CSUSeconds -> IO CSUSeconds Исходный код poke :: Ptr CSUSeconds -> CSUSeconds -> IO () Исходный код | |
| Storable CShort Исходный код | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CShort -> Int Исходный код alignment :: CShort -> Int Исходный код peekElemOff :: Ptr CShort -> Int -> IO CShort Исходный код pokeElemOff :: Ptr CShort -> Int -> CShort -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CShort Исходный код pokeByteOff :: Ptr b -> Int -> CShort -> IO () Исходный код | |
| Storable CSigAtomic Исходный код | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CSigAtomic -> Int Исходный код alignment :: CSigAtomic -> Int Исходный код peekElemOff :: Ptr CSigAtomic -> Int -> IO CSigAtomic Исходный код pokeElemOff :: Ptr CSigAtomic -> Int -> CSigAtomic -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CSigAtomic Исходный код pokeByteOff :: Ptr b -> Int -> CSigAtomic -> IO () Исходный код peek :: Ptr CSigAtomic -> IO CSigAtomic Исходный код poke :: Ptr CSigAtomic -> CSigAtomic -> IO () Исходный код | |
| Storable CSize Исходный код | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CSize -> Int Исходный код alignment :: CSize -> Int Исходный код peekElemOff :: Ptr CSize -> Int -> IO CSize Исходный код pokeElemOff :: Ptr CSize -> Int -> CSize -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CSize Исходный код pokeByteOff :: Ptr b -> Int -> CSize -> IO () Исходный код | |
| Storable CTime Исходный код | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CTime -> Int Исходный код alignment :: CTime -> Int Исходный код peekElemOff :: Ptr CTime -> Int -> IO CTime Исходный код pokeElemOff :: Ptr CTime -> Int -> CTime -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CTime Исходный код pokeByteOff :: Ptr b -> Int -> CTime -> IO () Исходный код | |
| Storable CUChar Исходный код | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CUChar -> Int Источник alignment :: CUChar -> Int Источник peekElemOff :: Ptr CUChar -> Int -> IO CUChar Источник pokeElemOff :: Ptr CUChar -> Int -> CUChar -> IO () Источник peekByteOff :: Ptr b -> Int -> IO CUChar Источник pokeByteOff :: Ptr b -> Int -> CUChar -> IO () Источник | |
| Storable CUInt Источник | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CUInt -> Int Источник alignment :: CUInt -> Int Источник peekElemOff :: Ptr CUInt -> Int -> IO CUInt Источник pokeElemOff :: Ptr CUInt -> Int -> CUInt -> IO () Источник peekByteOff :: Ptr b -> Int -> IO CUInt Источник pokeByteOff :: Ptr b -> Int -> CUInt -> IO () Источник | |
| Storable CUIntMax Источник | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CUIntMax -> Int Источник alignment :: CUIntMax -> Int Источник peekElemOff :: Ptr CUIntMax -> Int -> IO CUIntMax Источник pokeElemOff :: Ptr CUIntMax -> Int -> CUIntMax -> IO () Источник peekByteOff :: Ptr b -> Int -> IO CUIntMax Источник pokeByteOff :: Ptr b -> Int -> CUIntMax -> IO () Источник | |
| Storable CUIntPtr Источник | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CUIntPtr -> Int Источник alignment :: CUIntPtr -> Int Источник peekElemOff :: Ptr CUIntPtr -> Int -> IO CUIntPtr Источник pokeElemOff :: Ptr CUIntPtr -> Int -> CUIntPtr -> IO () Источник peekByteOff :: Ptr b -> Int -> IO CUIntPtr Источник pokeByteOff :: Ptr b -> Int -> CUIntPtr -> IO () Источник | |
| Storable CULLong Источник | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CULLong -> Int Исходный код alignment :: CULLong -> Int Исходный код peekElemOff :: Ptr CULLong -> Int -> IO CULLong Исходный код pokeElemOff :: Ptr CULLong -> Int -> CULLong -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CULLong Исходный код pokeByteOff :: Ptr b -> Int -> CULLong -> IO () Исходный код | |
| Storable CULong Исходный код | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CULong -> Int Исходный код alignment :: CULong -> Int Исходный код peekElemOff :: Ptr CULong -> Int -> IO CULong Исходный код pokeElemOff :: Ptr CULong -> Int -> CULong -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CULong Исходный код pokeByteOff :: Ptr b -> Int -> CULong -> IO () Исходный код | |
| Storable CUSeconds Исходный код | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CUSeconds -> Int Исходный код alignment :: CUSeconds -> Int Исходный код peekElemOff :: Ptr CUSeconds -> Int -> IO CUSeconds Исходный код pokeElemOff :: Ptr CUSeconds -> Int -> CUSeconds -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CUSeconds Исходный код pokeByteOff :: Ptr b -> Int -> CUSeconds -> IO () Исходный код | |
| Storable CUShort Исходный код | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CUShort -> Int Исходный код alignment :: CUShort -> Int Исходный код peekElemOff :: Ptr CUShort -> Int -> IO CUShort Исходный код pokeElemOff :: Ptr CUShort -> Int -> CUShort -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CUShort Исходный код pokeByteOff :: Ptr b -> Int -> CUShort -> IO () Исходный код | |
| Storable CWchar Исходный код | |
Определено в GHC.Internal.Foreign.C.Types МетодыsizeOf :: CWchar -> Int Исходный код alignment :: CWchar -> Int Исходный код peekElemOff :: Ptr CWchar -> Int -> IO CWchar Исходный код pokeElemOff :: Ptr CWchar -> Int -> CWchar -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CWchar Исходный код pokeByteOff :: Ptr b -> Int -> CWchar -> IO () Исходный код | |
| Storable IntPtr Исходный код | |
Определено в GHC.Internal.Foreign.Ptr МетодыsizeOf :: IntPtr -> Int Исходный код alignment :: IntPtr -> Int Исходный код peekElemOff :: Ptr IntPtr -> Int -> IO IntPtr Исходный код pokeElemOff :: Ptr IntPtr -> Int -> IntPtr -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO IntPtr Исходный код pokeByteOff :: Ptr b -> Int -> IntPtr -> IO () Исходный код | |
| Storable WordPtr Исходный код | |
Определено в GHC.Internal.Foreign.Ptr МетодыsizeOf :: WordPtr -> Int Исходный код alignment :: WordPtr -> Int Исходный код peekElemOff :: Ptr WordPtr -> Int -> IO WordPtr Исходный код pokeElemOff :: Ptr WordPtr -> Int -> WordPtr -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO WordPtr Исходный код pokeByteOff :: Ptr b -> Int -> WordPtr -> IO () Исходный код | |
| Storable Int16 Исходный код | С: base-2.1 |
Определено в GHC.Internal.Foreign.Storable МетодыsizeOf :: Int16 -> Int Исходный код alignment :: Int16 -> Int Исходный код peekElemOff :: Ptr Int16 -> Int -> IO Int16 Исходный код pokeElemOff :: Ptr Int16 -> Int -> Int16 -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO Int16 Исходный код pokeByteOff :: Ptr b -> Int -> Int16 -> IO () Исходный код | |
| Storable Int32 Исходный код | С: base-2.1 |
Определено в GHC.Internal.Foreign.Storable МетодыsizeOf :: Int32 -> Int Исходный код alignment :: Int32 -> Int Исходный код peekElemOff :: Ptr Int32 -> Int -> IO Int32 Исходный код pokeElemOff :: Ptr Int32 -> Int -> Int32 -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO Int32 Исходный код pokeByteOff :: Ptr b -> Int -> Int32 -> IO () Исходный код | |
| Storable Int64 Исходный код | С тех пор как: base-2.1 |
Определено в GHC.Internal.Foreign.Storable МетодыsizeOf :: Int64 -> Int Исходный код alignment :: Int64 -> Int Исходный код peekElemOff :: Ptr Int64 -> Int -> IO Int64 Исходный код pokeElemOff :: Ptr Int64 -> Int -> Int64 -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO Int64 Исходный код pokeByteOff :: Ptr b -> Int -> Int64 -> IO () Исходный код | |
| Storable Int8 Исходный код | С тех пор как: base-2.1 |
Определено в GHC.Internal.Foreign.Storable МетодыsizeOf :: Int8 -> Int Исходный код alignment :: Int8 -> Int Исходный код peekElemOff :: Ptr Int8 -> Int -> IO Int8 Исходный код pokeElemOff :: Ptr Int8 -> Int -> Int8 -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO Int8 Исходный код pokeByteOff :: Ptr b -> Int -> Int8 -> IO () Исходный код | |
| Storable CBlkCnt Исходный код | |
Определено в GHC.Internal.System.Posix.Types МетодыsizeOf :: CBlkCnt -> Int Исходный код alignment :: CBlkCnt -> Int Исходный код peekElemOff :: Ptr CBlkCnt -> Int -> IO CBlkCnt Исходный код pokeElemOff :: Ptr CBlkCnt -> Int -> CBlkCnt -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CBlkCnt Исходный код pokeByteOff :: Ptr b -> Int -> CBlkCnt -> IO () Исходный код | |
| Storable CBlkSize Исходный код | |
Определено в GHC.Internal.System.Posix.Types МетодыsizeOf :: CBlkSize -> Int Исходный код alignment :: CBlkSize -> Int Исходный код peekElemOff :: Ptr CBlkSize -> Int -> IO CBlkSize Исходный код pokeElemOff :: Ptr CBlkSize -> Int -> CBlkSize -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CBlkSize Исходный код pokeByteOff :: Ptr b -> Int -> CBlkSize -> IO () Исходный код | |
| Storable CCc Исходный код | |
Определено в GHC.Internal.System.Posix.Types МетодыsizeOf :: CCc -> Int Исходный код alignment :: CCc -> Int Исходный код peekElemOff :: Ptr CCc -> Int -> IO CCc Исходный код pokeElemOff :: Ptr CCc -> Int -> CCc -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CCc Исходный код pokeByteOff :: Ptr b -> Int -> CCc -> IO () Исходный код | |
| Storable CClockId Source | |
Определено в GHC.Internal.System.Posix.Types МетодыsizeOf :: CClockId -> Int Source alignment :: CClockId -> Int Source peekElemOff :: Ptr CClockId -> Int -> IO CClockId Source pokeElemOff :: Ptr CClockId -> Int -> CClockId -> IO () Source peekByteOff :: Ptr b -> Int -> IO CClockId Source pokeByteOff :: Ptr b -> Int -> CClockId -> IO () Source | |
| Storable CDev Source | |
Определено в GHC.Internal.System.Posix.Types МетодыsizeOf :: CDev -> Целое Исходный код alignment :: CDev -> Целое Исходный код peekElemOff :: Указатель CDev -> Целое -> IO CDev Исходный код pokeElemOff :: Указатель CDev -> Целое -> CDev -> IO () Исходный код peekByteOff :: Указатель b -> Целое -> IO CDev Исходный код pokeByteOff :: Указатель b -> Целое -> CDev -> IO () Исходный код | |
| Storable CFsBlkCnt Исходный код | |
Определено в GHC.Internal.System.Posix.Types МетодыsizeOf :: CFsBlkCnt -> Целое Исходный код alignment :: CFsBlkCnt -> Целое Исходный код peekElemOff :: Указатель CFsBlkCnt -> Целое -> IO CFsBlkCnt Исходный код pokeElemOff :: Указатель CFsBlkCnt -> Целое -> CFsBlkCnt -> IO () Исходный код peekByteOff :: Указатель b -> Целое -> IO CFsBlkCnt Исходный код pokeByteOff :: Указатель b -> Целое -> CFsBlkCnt -> IO () Исходный код peek :: Указатель CFsBlkCnt -> IO CFsBlkCnt Исходный код poke :: Указатель CFsBlkCnt -> CFsBlkCnt -> IO () Исходный код | |
| Storable CFsFilCnt Source | |
Определено в GHC.Internal.System.Posix.Types МетодыsizeOf :: CFsFilCnt -> Int Source alignment :: CFsFilCnt -> Int Source peekElemOff :: Ptr CFsFilCnt -> Int -> IO CFsFilCnt Source pokeElemOff :: Ptr CFsFilCnt -> Int -> CFsFilCnt -> IO () Source peekByteOff :: Ptr b -> Int -> IO CFsFilCnt Source pokeByteOff :: Ptr b -> Int -> CFsFilCnt -> IO () Source | |
| Storable CGid Source | |
Определено в GHC.Internal.System.Posix.Types МетодыsizeOf :: CGid -> Целое Исходный код alignment :: CGid -> Целое Исходный код peekElemOff :: Указатель CGid -> Целое -> IO CGid Исходный код pokeElemOff :: Указатель CGid -> Целое -> CGid -> IO () Исходный код peekByteOff :: Указатель b -> Целое -> IO CGid Исходный код pokeByteOff :: Указатель b -> Целое -> CGid -> IO () Исходный код | |
| Storable CId Исходный код | |
Определено в GHC.Internal.System.Posix.Types МетодыsizeOf :: CId -> Целое Исходный код alignment :: CId -> Целое Исходный код peekElemOff :: Указатель CId -> Целое -> IO CId Исходный код pokeElemOff :: Указатель CId -> Целое -> CId -> IO () Исходный код peekByteOff :: Указатель b -> Целое -> IO CId Исходный код pokeByteOff :: Указатель b -> Целое -> CId -> IO () Исходный код | |
| Storable CIno Исходный код | |
Определено в GHC.Internal.System.Posix.Types МетодыsizeOf :: CIno -> Int Исходный код alignment :: CIno -> Int Исходный код peekElemOff :: Указатель CIno -> Int -> IO CIno Исходный код pokeElemOff :: Указатель CIno -> Int -> CIno -> IO () Исходный код peekByteOff :: Указатель b -> Int -> IO CIno Исходный код pokeByteOff :: Указатель b -> Int -> CIno -> IO () Исходный код | |
| Storable CKey Исходный код | |
Определено в GHC.Internal.System.Posix.Types МетодыsizeOf :: CKey -> Целое Источник alignment :: CKey -> Целое Источник peekElemOff :: Указатель CKey -> Целое -> IO CKey Источник pokeElemOff :: Указатель CKey -> Целое -> CKey -> IO () Источник peekByteOff :: Указатель b -> Целое -> IO CKey Источник pokeByteOff :: Указатель b -> Целое -> CKey -> IO () Источник | |
| Storable CMode Источник | |
Определено в GHC.Internal.System.Posix.Types МетодыsizeOf :: CMode -> Целое Источник alignment :: CMode -> Целое Источник peekElemOff :: Указатель CMode -> Целое -> IO CMode Источник pokeElemOff :: Указатель CMode -> Целое -> CMode -> IO () Источник peekByteOff :: Указатель b -> Целое -> IO CMode Источник pokeByteOff :: Указатель b -> Целое -> CMode -> IO () Источник | |
| Storable CNfds Source | |
Определено в GHC.Internal.System.Posix.Types | |
| Storable CNlink Source | |
Определено в GHC.Internal.System.Posix.Types МетодыsizeOf :: CNlink -> Int Исходный код alignment :: CNlink -> Int Исходный код peekElemOff :: Ptr CNlink -> Int -> IO CNlink Исходный код pokeElemOff :: Ptr CNlink -> Int -> CNlink -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CNlink Исходный код pokeByteOff :: Ptr b -> Int -> CNlink -> IO () Исходный код | |
| Storable COff Исходный код | |
Определено в GHC.Internal.System.Posix.Types МетодыsizeOf :: COff -> Int Исходный код alignment :: COff -> Int Исходный код peekElemOff :: Ptr COff -> Int -> IO COff Исходный код pokeElemOff :: Ptr COff -> Int -> COff -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO COff Исходный код pokeByteOff :: Ptr b -> Int -> COff -> IO () Исходный код | |
| Storable CPid Source | |
Определено в GHC.Internal.System.Posix.Types | |
| Storable CRLim Source | |
Определено в GHC.Internal.System.Posix.Types МетодыsizeOf :: CRLim -> Int Исходный код alignment :: CRLim -> Int Исходный код peekElemOff :: Ptr CRLim -> Int -> IO CRLim Исходный код pokeElemOff :: Ptr CRLim -> Int -> CRLim -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CRLim Исходный код pokeByteOff :: Ptr b -> Int -> CRLim -> IO () Исходный код | |
| Storable CSocklen Исходный код | |
Определено в GHC.Internal.System.Posix.Types МетодыsizeOf :: CSocklen -> Int Исходный код alignment :: CSocklen -> Int Исходный код peekElemOff :: Ptr CSocklen -> Int -> IO CSocklen Исходный код pokeElemOff :: Ptr CSocklen -> Int -> CSocklen -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CSocklen Исходный код pokeByteOff :: Ptr b -> Int -> CSocklen -> IO () Исходный код | |
| Storable CSpeed Source | |
Определено в GHC.Internal.System.Posix.Types МетодыsizeOf :: CSpeed -> Int Source alignment :: CSpeed -> Int Source peekElemOff :: Ptr CSpeed -> Int -> IO CSpeed Source pokeElemOff :: Ptr CSpeed -> Int -> CSpeed -> IO () Source peekByteOff :: Ptr b -> Int -> IO CSpeed Source pokeByteOff :: Ptr b -> Int -> CSpeed -> IO () Source | |
| Storable CSsize Source | |
Определено в GHC.Internal.System.Posix.Types МетодыsizeOf :: CSsize -> Int Источник alignment :: CSsize -> Int Источник peekElemOff :: Ptr CSsize -> Int -> IO CSsize Источник pokeElemOff :: Ptr CSsize -> Int -> CSsize -> IO () Источник peekByteOff :: Ptr b -> Int -> IO CSsize Источник pokeByteOff :: Ptr b -> Int -> CSsize -> IO () Источник | |
| Storable CTcflag Источник | |
Определено в GHC.Internal.System.Posix.Types МетодыsizeOf :: CTcflag -> Int Источник alignment :: CTcflag -> Int Источник peekElemOff :: Ptr CTcflag -> Int -> IO CTcflag Источник pokeElemOff :: Ptr CTcflag -> Int -> CTcflag -> IO () Источник peekByteOff :: Ptr b -> Int -> IO CTcflag Источник pokeByteOff :: Ptr b -> Int -> CTcflag -> IO () Источник | |
| Storable CTimer Source | |
Определено в GHC.Internal.System.Posix.Types МетодыsizeOf :: CTimer -> Int Source alignment :: CTimer -> Int Source peekElemOff :: Ptr CTimer -> Int -> IO CTimer Source pokeElemOff :: Ptr CTimer -> Int -> CTimer -> IO () Source peekByteOff :: Ptr b -> Int -> IO CTimer Source pokeByteOff :: Ptr b -> Int -> CTimer -> IO () Source | |
| Storable CUid Source | |
Определено в GHC.Internal.System.Posix.Types МетодыsizeOf :: CUid -> Int Исходный код alignment :: CUid -> Int Исходный код peekElemOff :: Ptr CUid -> Int -> IO CUid Исходный код pokeElemOff :: Ptr CUid -> Int -> CUid -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO CUid Исходный код pokeByteOff :: Ptr b -> Int -> CUid -> IO () Исходный код | |
| Storable Fd Исходный код | |
Определено в GHC.Internal.System.Posix.Types МетодыsizeOf :: Fd -> Int Исходный код alignment :: Fd -> Int Исходный код peekElemOff :: Ptr Fd -> Int -> IO Fd Исходный код pokeElemOff :: Ptr Fd -> Int -> Fd -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO Fd Исходный код pokeByteOff :: Ptr b -> Int -> Fd -> IO () Исходный код | |
| Storable Word16 Исходный код | Since: base-2.1 |
Определено в GHC.Internal.Foreign.Storable МетодыsizeOf :: Word16 -> Int Исходный код alignment :: Word16 -> Int Исходный код peekElemOff :: Ptr Word16 -> Int -> IO Word16 Исходный код pokeElemOff :: Ptr Word16 -> Int -> Word16 -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO Word16 Исходный код pokeByteOff :: Ptr b -> Int -> Word16 -> IO () Исходный код | |
| Storable Word32 Исходный код | С момента: base-2.1 |
Определено в GHC.Internal.Foreign.Storable МетодыsizeOf :: Word32 -> Int Исходный код alignment :: Word32 -> Int Исходный код peekElemOff :: Ptr Word32 -> Int -> IO Word32 Исходный код pokeElemOff :: Ptr Word32 -> Int -> Word32 -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO Word32 Исходный код pokeByteOff :: Ptr b -> Int -> Word32 -> IO () Исходный код | |
| Storable Word64 Исходный код | С момента: base-2.1 |
| Storable Bool Source | Since: base-2.1 |
Определено в GHC.Internal.Foreign.Storable | |
| Storable Char Source | Since: base-2.1 |
Определено в GHC.Internal.Foreign.Storable | |
| Storable Double Source | Since: base-2.1 |
Определено в GHC.Internal.Foreign.Storable МетодыsizeOf :: Double -> Int Исходный код alignment :: Double -> Int Исходный код peekElemOff :: Ptr Double -> Int -> IO Double Исходный код pokeElemOff :: Ptr Double -> Int -> Double -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO Double Исходный код pokeByteOff :: Ptr b -> Int -> Double -> IO () Исходный код | |
| Storable Float Исходный код | С момента выпуска: base-2.1 |
Определено в GHC.Internal.Foreign.Storable МетодыsizeOf :: Float -> Int Исходный код alignment :: Float -> Int Исходный код peekElemOff :: Ptr Float -> Int -> IO Float Исходный код pokeElemOff :: Ptr Float -> Int -> Float -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO Float Исходный код pokeByteOff :: Ptr b -> Int -> Float -> IO () Исходный код | |
| Storable Int Исходный код | С момента выпуска: base-2.1 |
Определено в GHC.Internal.Foreign.Storable МетодыsizeOf :: Int -> Int Исходный код alignment :: Int -> Int Исходный код peekElemOff :: Ptr Int -> Int -> IO Int Исходный код pokeElemOff :: Ptr Int -> Int -> Int -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO Int Исходный код pokeByteOff :: Ptr b -> Int -> Int -> IO () Исходный код | |
| Storable Word Исходный код | С момента: base-2.1 |
Определено в GHC.Internal.Foreign.Storable МетодыsizeOf :: Word -> Int Исходный код alignment :: Word -> Int Исходный код peekElemOff :: Ptr Word -> Int -> IO Word Исходный код pokeElemOff :: Ptr Word -> Int -> Word -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO Word Исходный код pokeByteOff :: Ptr b -> Int -> Word -> IO () Исходный код | |
| Storable a => Storable (Complex a) Исходный код | С момента: base-4.8.0.0 |
Определено в Data.Complex МетодыsizeOf :: Complex a -> Int Источник alignment :: Complex a -> Int Источник peekElemOff :: Ptr (Complex a) -> Int -> IO (Complex a) Источник pokeElemOff :: Ptr (Complex a) -> Int -> Complex a -> IO () Источник peekByteOff :: Ptr b -> Int -> IO (Complex a) Источник pokeByteOff :: Ptr b -> Int -> Complex a -> IO () Источник | |
| Storable a => Storable (Identity a) Источник | С тех пор как: base-4.9.0.0 |
Определено в GHC.Internal.Data.Functor.Identity МетодыsizeOf :: Identity a -> Int Источник alignment :: Identity a -> Int Источник peekElemOff :: Ptr (Identity a) -> Int -> IO (Identity a) Источник pokeElemOff :: Ptr (Identity a) -> Int -> Identity a -> IO () Источник peekByteOff :: Ptr b -> Int -> IO (Identity a) Источник pokeByteOff :: Ptr b -> Int -> Identity a -> IO () Источник | |
| Storable a => Storable (Down a) Источник | С тех пор как: base-4.14.0.0 |
Определено в GHC.Internal.Foreign.Storable МетодыsizeOf :: FunPtr a -> Int Исходный код alignment :: FunPtr a -> Int Исходный код peekElemOff :: Ptr (FunPtr a) -> Int -> IO (FunPtr a) Исходный код pokeElemOff :: Ptr (FunPtr a) -> Int -> FunPtr a -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO (FunPtr a) Исходный код pokeByteOff :: Ptr b -> Int -> FunPtr a -> IO () Исходный код | |
| Storable (Ptr a) Исходный код | С: base-2.1 |
Определено в GHC.Internal.Foreign.Storable МетодыsizeOf :: Ptr a -> Int Исходный код alignment :: Ptr a -> Int Исходный код peekElemOff :: Ptr (Ptr a) -> Int -> IO (Ptr a) Исходный код pokeElemOff :: Ptr (Ptr a) -> Int -> Ptr a -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO (Ptr a) Исходный код pokeByteOff :: Ptr b -> Int -> Ptr a -> IO () Исходный код | |
| (Storable a, Integral a) => Storable (Ratio a) Исходный код | С: base-4.8.0.0 |
Определено в GHC.Internal.Data.Functor.Const МетодыsizeOf :: Const a b -> Int Исходный код alignment :: Const a b -> Int Исходный код peekElemOff :: Ptr (Const a b) -> Int -> IO (Const a b) Исходный код pokeElemOff :: Ptr (Const a b) -> Int -> Const a b -> IO () Исходный код peekByteOff :: Ptr b0 -> Int -> IO (Const a b) Исходный код pokeByteOff :: Ptr b0 -> Int -> Const a b -> IO () Исходный код |
© 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/Foreign-Storable.html