Spec-Zone.ru › Haskell 8

Foreign.Ptr

Авторские права (c) Группа разработчиков FFI 2001
Лицензия BSD-стиль (см. файл libraries/base/LICENSE)
Разработчик ffi@haskell.org
Стабильность предварительная
Переносимость переносимый
Safe Haskell Надежный
Язык Haskell2010

Содержание

  • Указатели на данные
  • Указатели на функции
  • Целочисленные типы с безпотерьной конверсией к указателям и от указателей

Описание

Этот модуль предоставляет типизированные указатели на внешние данные. Он является частью интерфейса внешних функций (FFI) и обычно импортируется через модуль Foreign.

Указатели на данные

data Ptr a Источник

Значение типа Ptr a представляет указатель на объект или массив объектов, который может быть связан с данными Haskell типа a.

Тип a часто является экземпляром класса Storable, который предоставляет операции связывания. Однако это не обязательно, и вы можете предоставить свои собственные операции для доступа к указателю. Например, вы можете написать небольшие внешние функции для получения или задания полей структуры C struct.

Экземпляры
Подробности экземпляров
Generic1 (URec (Ptr ()) :: k -> Type)

С версии: base-4.9.0.0

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

Определено в GHC.Generics

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

type Rep1 (URec (Ptr ())) :: k -> Type Источник

Методы

from1 :: forall (a :: k0). URec (Ptr ()) a -> Rep1 (URec (Ptr ())) a Источник

to1 :: forall (a :: k0). Rep1 (URec (Ptr ())) a -> URec (Ptr ()) a Источник

Eq (Ptr a)

С версии: base-2.1

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

Определено в GHC.Ptr

Методы

(==) :: Ptr a -> Ptr a -> Bool Источник

(/=) :: Ptr a -> Ptr a -> Bool Источник

Data a => Data (Ptr a)

С версии: base-4.8.0.0

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

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

Методы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ord (Ptr a)

С версии: base-2.1

Instance details

Определено в GHC.Ptr

Краткое описание методов

compare :: Ptr a -> Ptr a -> Ordering Source

(<) :: Ptr a -> Ptr a -> Bool Source

(<=) :: Ptr a -> Ptr a -> Bool Source

(>) :: Ptr a -> Ptr a -> Bool Source

(>=) :: Ptr a -> Ptr a -> Bool Source

max :: Ptr a -> Ptr a -> Ptr a Source

min :: Ptr a -> Ptr a -> Ptr a Source

Show (Ptr a)

Since: base-2.1

Instance details

Определено в GHC.Ptr

Краткое описание методов

showsPrec :: Int -> Ptr a -> ShowS Source

show :: Ptr a -> String Source

showList :: [Ptr a] -> ShowS Source

Foldable (UAddr :: Type -> Type)

Since: base-4.9.0.0

Instance details

Определено в Data.Foldable

Краткое описание методов

fold :: Monoid m => UAddr m -> m Source

foldMap :: Monoid m => (a -> m) -> UAddr a -> m Source

foldMap' :: Monoid m => (a -> m) -> UAddr a -> m Source

foldr :: (a -> b -> b) -> b -> UAddr a -> b Source

foldr' :: (a -> b -> b) -> b -> UAddr a -> b Source

foldl :: (b -> a -> b) -> b -> UAddr a -> b Source

foldl' :: (b -> a -> b) -> b -> UAddr a -> b Source

foldr1 :: (a -> a -> a) -> UAddr a -> a Source

foldl1 :: (a -> a -> a) -> UAddr a -> a Source

toList :: UAddr a -> [a] Source

null :: UAddr a -> Bool Source

length :: UAddr a -> Int Source

elem :: Eq a => a -> UAddr a -> Bool Source

maximum :: Ord a => UAddr a -> a Source

minimum :: Ord a => UAddr a -> a Source

sum :: Num a => UAddr a -> a Source

product :: Num a => UAddr a -> a Source

Traversable (UAddr :: Type -> Type)

Since: base-4.9.0.0

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

Определено в Data.Traversable

Методы

traverse :: Applicative f => (a -> f b) -> UAddr a -> f (UAddr b) Исходный код

sequenceA :: Applicative f => UAddr (f a) -> f (UAddr a) Исходный код

mapM :: Monad m => (a -> m b) -> UAddr a -> m (UAddr b) Исходный код

sequence :: Monad m => UAddr (m a) -> m (UAddr a) Исходный код

Storable (Ptr a)

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

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

Определено в 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 () Исходный код

peek :: Ptr (Ptr a) -> IO (Ptr a) Исходный код

poke :: Ptr (Ptr a) -> Ptr a -> IO () Исходный код

Functor (URec (Ptr ()) :: Тип -> Тип)

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

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

Определено в GHC.Generics

Методы

fmap :: (a -> b) -> URec (Ptr ()) a -> URec (Ptr ()) b Исходный код

(<$) :: a -> URec (Ptr ()) b -> URec (Ptr ()) a Исходный код

Eq (URec (Ptr ()) p)

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

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

Определено в GHC.Generics

Методы

(==) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool Исходный код

(/=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool Исходный код

Ord (URec (Ptr ()) p)

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

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

Определено в GHC.Generics

Методы

compare :: URec (Ptr ()) p -> URec (Ptr ()) p -> Ordering Исходный код

(<) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool Исходный код

(<=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool Исходный код

(>) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool Исходный код

(>=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool Исходный код

max :: URec (Ptr ()) p -> URec (Ptr ()) p -> URec (Ptr ()) p Исходный код

min :: URec (Ptr ()) p -> URec (Ptr ()) p -> URec (Ptr ()) p Исходный код

Generic (URec (Ptr ()) p)

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

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

Определено в GHC.Generics

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

type Rep (URec (Ptr ()) p) :: Type -> Type Исходный код

Методы

from :: URec (Ptr ()) p -> Rep (URec (Ptr ()) p) x Исходный код

to :: Rep (URec (Ptr ()) p) x -> URec (Ptr ()) p Исходный код

data URec (Ptr ()) (p :: k)

Используется для маркировки случаев Addr#

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

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

Определено в GHC.Generics

data URec (Ptr ()) (p :: k) = UAddr {
  • uAddr# :: Addr#
}
type Rep1 (URec (Ptr ()) :: k -> Type)
Подробности экземпляра

Определено в GHC.Generics

type Rep1 (URec (Ptr ()) :: k -> Type) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UAddr" 'PrefixI 'True) (S1 ('MetaSel ('Just "uAddr#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UAddr :: k -> Type)))
type Rep (URec (Ptr ()) p)
Подробности экземпляра

Определено в GHC.Generics

type Rep (URec (Ptr ()) p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UAddr" 'PrefixI 'True) (S1 ('MetaSel ('Just "uAddr#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UAddr :: Type -> Type)))

nullPtr :: Ptr a Исходный код

Константа nullPtr содержит выделенное значение Ptr, которое не связано с действительным местом памяти.

castPtr :: Ptr a -> Ptr b Исходный код

Функция castPtr выполняет приведение указателя из одного типа в другой.

plusPtr :: Ptr a -> Int -> Ptr b Исходный код

Перемещает заданный адрес на заданный смещение в байтах.

alignPtr :: Ptr a -> Int -> Ptr a Source

Учитывая произвольный адрес и ограничение выравнивания, alignPtr возвращает следующий более высокий адрес, удовлетворяющий этому ограничению. Ограничение выравнивания x выполняется любым адресом, делящимся на x. Данная операция идемпотентна.

minusPtr :: Ptr a -> Ptr b -> Int Source

Вычисляет смещение, необходимое для перехода от второго к первому аргументу. У нас есть

p2 == p1 `plusPtr` (p2 `minusPtr` p1)

Указатели на функции

data FunPtr a Source

Значение типа FunPtr a представляет собой указатель на функцию, вызываемую из внешнего кода. Тип a обычно является внешним типом, типом функции с нулем или более аргументами, где

  • типы аргументов являются маршализуемыми внешними типами, т.е. Char, Int, Double, Float, Bool, Int8, Int16, Int32, Int64, Word8, Word16, Word32, Word64, Ptr a, FunPtr a, StablePtr a или переименованием любого из них с помощью newtype.
  • тип возврата является либо маршализуемым внешним типом, либо имеет вид IO t, где t — маршализуемый внешний тип или ().

Значение типа FunPtr a может быть указателем на внешнюю функцию, либо возвращённым другой внешней функцией, либо импортированным со статическим импортом адреса, как, например,

foreign import ccall "stdlib.h &free"
  p_free :: FunPtr (Ptr a -> IO ())

или указателем на функцию Haskell, созданной с помощью обёртки-заглушки, объявленной для получения FunPtr соответствующего типа. Например:

type Compare = Int -> Int -> Bool
foreign import ccall "wrapper"
  mkCompare :: Compare -> IO (FunPtr Compare)

Вызовы заглушек-обёртки, таких как mkCompare, выделяют память, которую необходимо освободить с помощью freeHaskellFunPtr, когда она больше не требуется.

Для преобразования значений FunPtr в соответствующие функции Haskell можно определить динамическую заглушку для конкретного внешнего типа, например:

type IntFunction = CInt -> IO ()
foreign import ccall "dynamic"
  mkFun :: FunPtr IntFunction -> IntFunction
Примеры
Подробности примеров
Eq (FunPtr a)
Подробности примера

Определено в GHC.Ptr

Методы

равно :: FunPtr a -> FunPtr a -> Булево Исходный код

не равно :: FunPtr a -> FunPtr a -> Булево Исходный код

Ord (FunPtr a)
Подробности примера

Определено в GHC.Ptr

Методы

сравнить :: FunPtr a -> FunPtr a -> Порядок Исходный код

< :: FunPtr a -> FunPtr a -> Булево Исходный код

<= :: FunPtr a -> FunPtr a -> Булево Исходный код

> :: FunPtr a -> FunPtr a -> Булево Исходный код

>= :: FunPtr a -> FunPtr a -> Булево Исходный код

макс :: FunPtr a -> FunPtr a -> FunPtr a Исходный код

мин :: FunPtr a -> FunPtr a -> FunPtr a Исходный код

Show (FunPtr a)

С версии: base-2.1

Подробности примера

Определено в GHC.Ptr

Методы

showsPrec :: Целое -> FunPtr a -> ShowS Исходный код

представить :: FunPtr a -> Строка Исходный код

showList :: [FunPtr a] -> ShowS Исходный код

Storable (FunPtr a)

С версии: base-2.1

Подробности примера

Определено в Foreign.Storable

Методы

размер :: FunPtr a -> Целое Исходный код

выравнивание :: FunPtr a -> Целое Исходный код

peekElemOff :: Указатель (FunPtr a) -> Целое -> IO (FunPtr a) Исходный код

pokeElemOff :: Указатель (FunPtr a) -> Целое -> FunPtr a -> IO () Исходный код

nullFunPtr :: FunPtr a Исходный код

Константа nullFunPtr содержит выделенное значение FunPtr, которое не связано с действительным местом в памяти.

преобразоватьFunPtr :: FunPtr a -> FunPtr b Исходный код

Преобразует FunPtr в FunPtr другого типа.

преобразоватьFunPtrToPtr :: FunPtr a -> Указатель b Исходный код

Преобразует FunPtr в Ptr.

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

castPtrToFunPtr :: Ptr a -> FunPtr b Source

Преобразует Ptr в FunPtr.

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

freeHaskellFunPtr :: FunPtr a -> IO () Source

Освобождает память, связанную с заданным FunPtr, который должен был быть получен из обёртки. Это должно вызываться всякий раз, когда возвращаемое значение из функции-обёртки внешнего импорта больше не требуется; в противном случае, используемая им память будет утечкой.

Целочисленные типы с безпотерной конвертацией в указатели и из них

newtype IntPtr Source

Знаковый целочисленный тип, который может быть безпотерьно преобразован в Ptr и из него. Этот тип также совместим с типом C99 intptr_t и может быть безопасно маршалирован в этот тип и из него.

Краткое описание конструкторов

IntPtr Int
Экземпляры
Подробности о экземплярах
Bounded IntPtr
Подробности о экземпляре

Определено в Foreign.Ptr

Краткое описание методов

minBound :: IntPtr Source

maxBound :: IntPtr Source

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

Определено в Foreign.Ptr

Краткое описание методов

succ :: IntPtr -> IntPtr Source

pred :: IntPtr -> IntPtr Source

toEnum :: Int -> IntPtr Source

fromEnum :: IntPtr -> Int Source

enumFrom :: IntPtr -> [IntPtr] Source

enumFromThen :: IntPtr -> IntPtr -> [IntPtr] Source

enumFromTo :: IntPtr -> IntPtr -> [IntPtr] Source

enumFromThenTo :: IntPtr -> IntPtr -> IntPtr -> [IntPtr] Source

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

Определено в Foreign.Ptr

Краткое описание методов

(==) :: IntPtr -> IntPtr -> Bool Source

(/=) :: IntPtr -> IntPtr -> Bool Source

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

Определено в Foreign.Ptr

Краткое описание методов

quot :: IntPtr -> IntPtr -> IntPtr Source

rem :: IntPtr -> IntPtr -> IntPtr Source

div :: IntPtr -> IntPtr -> IntPtr Source

mod :: IntPtr -> IntPtr -> IntPtr Source

quotRem :: IntPtr -> IntPtr -> (IntPtr, IntPtr) Source

divMod :: IntPtr -> IntPtr -> (IntPtr, IntPtr) Source

toInteger :: IntPtr -> Integer Source

Data IntPtr

С версии: base-4.11.0.0

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

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

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IntPtr -> c IntPtr Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IntPtr Исходный код

toConstr :: IntPtr -> Constr Исходный код

dataTypeOf :: IntPtr -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c IntPtr) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IntPtr) Исходный код

gmapT :: (forall b. Data b => b -> b) -> IntPtr -> IntPtr Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IntPtr -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IntPtr -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> IntPtr -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> IntPtr -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> IntPtr -> m IntPtr Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IntPtr -> m IntPtr Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IntPtr -> m IntPtr Исходный код

Num IntPtr
Подробные сведения об экземпляре

Определено в Foreign.Ptr

Методы

(+) :: IntPtr -> IntPtr -> IntPtr Исходный код

(-) :: IntPtr -> IntPtr -> IntPtr Исходный код

(*) :: IntPtr -> IntPtr -> IntPtr Исходный код

negate :: IntPtr -> IntPtr Исходный код

abs :: IntPtr -> IntPtr Исходный код

signum :: IntPtr -> IntPtr Исходный код

fromInteger :: Integer -> IntPtr Исходный код

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

Определено в Foreign.Ptr

Методы

compare :: IntPtr -> IntPtr -> Ordering Исходный код

(<) :: IntPtr -> IntPtr -> Bool Исходный код

(<=) :: IntPtr -> IntPtr -> Bool Исходный код

(>) :: IntPtr -> IntPtr -> Bool Исходный код

(>=) :: IntPtr -> IntPtr -> Bool Исходный код

max :: IntPtr -> IntPtr -> IntPtr Исходный код

min :: IntPtr -> IntPtr -> IntPtr Исходный код

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

Определено в Foreign.Ptr

Методы

readsPrec :: Int -> ReadS IntPtr Исходный код

readList :: ReadS [IntPtr] Исходный код

readPrec :: ReadPrec IntPtr Исходный код

readListPrec :: ReadPrec [IntPtr] Исходный код

Действительное IntPtr
Подробности экземпляра

Определено в Foreign.Ptr

Методы

toRational :: IntPtr -> Рациональное Исходный код

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

Определено в Foreign.Ptr

Методы

showsPrec :: Int -> IntPtr -> ShowS Исходный код

show :: IntPtr -> Строка Исходный код

showList :: [IntPtr] -> ShowS Исходный код

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

Определено в Foreign.Ptr

Методы

finiteBitSize :: IntPtr -> Int Исходный код

countLeadingZeros :: IntPtr -> Int Исходный код

countTrailingZeros :: IntPtr -> Int Исходный код

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

Определено в Foreign.Ptr

Методы

(.&.) :: IntPtr -> IntPtr -> IntPtr Исходный код

(.|.) :: IntPtr -> IntPtr -> IntPtr Исходный код

xor :: IntPtr -> IntPtr -> IntPtr Исходный код

complement :: IntPtr -> IntPtr Исходный код

shift :: IntPtr -> Int -> IntPtr Исходный код

rotate :: IntPtr -> Int -> IntPtr Исходный код

zeroBits :: IntPtr Исходный код

bit :: Int -> IntPtr Исходный код

setBit :: IntPtr -> Int -> IntPtr Исходный код

clearBit :: IntPtr -> Int -> IntPtr Исходный код

complementBit :: IntPtr -> Int -> IntPtr Исходный код

testBit :: IntPtr -> Int -> Bool Исходный код

bitSizeMaybe :: IntPtr -> Может быть Int Исходный код

bitSize :: IntPtr -> Int Исходный код

isSigned :: IntPtr -> Bool Исходный код

shiftL :: IntPtr -> Int -> IntPtr Исходный код

unsafeShiftL :: IntPtr -> Int -> IntPtr Исходный код

shiftR :: IntPtr -> Int -> IntPtr Исходный код

unsafeShiftR :: IntPtr -> Int -> IntPtr Исходный код

rotateL :: IntPtr -> Int -> IntPtr Исходный код

rotateR :: IntPtr -> Int -> IntPtr Исходный код

popCount :: IntPtr -> Int Исходный код

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

Определено в Foreign.Ptr

Методы

sizeOf :: IntPtr -> Целое Исходный код

alignment :: IntPtr -> Целое Исходный код

peekElemOff :: Указатель IntPtr -> Целое -> IO IntPtr Исходный код

pokeElemOff :: Указатель IntPtr -> Целое -> IntPtr -> IO () Исходный код

peekByteOff :: Указатель b -> Целое -> IO IntPtr Исходный код

pokeByteOff :: Указатель b -> Целое -> IntPtr -> IO () Исходный код

peek :: Указатель IntPtr -> IO IntPtr Исходный код

poke :: Указатель IntPtr -> IntPtr -> IO () Исходный код

ptrToIntPtr :: Указатель a -> IntPtr Исходный код

преобразует Ptr в IntPtr

intPtrToPtr :: IntPtr -> Указатель a Исходный код

преобразует IntPtr в Ptr

newtype WordPtr Исходный код

Безусловный целочисленный тип, который можно без потерь преобразовать в Ptr. Этот тип также совместим с типом C99 uintptr_t и может безопасно передаваться в него.

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

WordPtr БеззнаковоеЦелое
Примеры реализации
Подробности примеров реализации
Bounded WordPtr
Подробности примера реализации

Определено в Foreign.Ptr

Методы

minBound :: WordPtr Исходный код

maxBound :: WordPtr Исходный код

Enum WordPtr
Подробности примера реализации

Определено в Foreign.Ptr

Методы

succ :: WordPtr -> WordPtr Исходный код

pred :: WordPtr -> WordPtr Исходный код

toEnum :: Int -> WordPtr Исходный код

fromEnum :: WordPtr -> Int Исходный код

enumFrom :: WordPtr -> [WordPtr] Исходный код

enumFromThen :: WordPtr -> WordPtr -> [WordPtr] Исходный код

enumFromTo :: WordPtr -> WordPtr -> [WordPtr] Исходный код

enumFromThenTo :: WordPtr -> WordPtr -> WordPtr -> [WordPtr] Исходный код

Eq WordPtr
Подробности примера реализации

Определено в Foreign.Ptr

Методы

(==) :: WordPtr -> WordPtr -> Bool Исходный код

(/=) :: WordPtr -> WordPtr -> Bool Исходный код

Integral WordPtr
Подробности примера реализации

Определено в Foreign.Ptr

Методы

quot :: WordPtr -> WordPtr -> WordPtr Исходный код

Data WordPtr

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

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

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

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> WordPtr -> c WordPtr Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c WordPtr Исходный код

toConstr :: WordPtr -> Constr Исходный код

dataTypeOf :: WordPtr -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c WordPtr) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c WordPtr) Исходный код

gmapT :: (forall b. Data b => b -> b) -> WordPtr -> WordPtr Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> WordPtr -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> WordPtr -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> WordPtr -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> WordPtr -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> WordPtr -> m WordPtr Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> WordPtr -> m WordPtr Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> WordPtr -> m WordPtr Исходный код

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

Определено в Foreign.Ptr

Методы

(+) :: WordPtr -> WordPtr -> WordPtr Исходный код

(-) :: WordPtr -> WordPtr -> WordPtr Исходный код

(*) :: WordPtr -> WordPtr -> WordPtr Исходный код

negate :: WordPtr -> WordPtr Исходный код

abs :: WordPtr -> WordPtr Исходный код

signum :: WordPtr -> WordPtr Исходный код

fromInteger :: Integer -> WordPtr Исходный код

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

Определено в Foreign.Ptr

Методы

compare :: WordPtr -> WordPtr -> Ordering Исходный код

(<) :: WordPtr -> WordPtr -> Bool Исходный код

(<=) :: WordPtr -> WordPtr -> Bool Исходный код

(>) :: WordPtr -> WordPtr -> Bool Исходный код

(>=) :: WordPtr -> WordPtr -> Bool Исходный код

max :: WordPtr -> WordPtr -> WordPtr Исходный код

min :: WordPtr -> WordPtr -> WordPtr Исходный код

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

Определено в Foreign.Ptr

Методы

readsPrec :: Int -> ReadS WordPtr Исходный код

readList :: ReadS [WordPtr] Исходный код

readPrec :: ReadPrec WordPtr Исходный код

readListPrec :: ReadPrec [WordPtr] Исходный код

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

Определено в Foreign.Ptr

Методы

toRational :: WordPtr -> Rational Исходный код

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

Определено в Foreign.Ptr

Методы

showsPrec :: Int -> WordPtr -> ShowS Исходный код

show :: WordPtr -> String Исходный код

showList :: [WordPtr] -> ShowS Исходный код

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

Определено в Foreign.Ptr

Методы

finiteBitSize :: WordPtr -> Int Исходный код

countLeadingZeros :: WordPtr -> Int Исходный код

countTrailingZeros :: WordPtr -> Int Исходный код

Bits WordPtr
Instance details

Определено в Foreign.Ptr

Методы

(.&.) :: WordPtr -> WordPtr -> WordPtr Source

(.|.) :: WordPtr -> WordPtr -> WordPtr Source

xor :: WordPtr -> WordPtr -> WordPtr Source

complement :: WordPtr -> WordPtr Source

shift :: WordPtr -> Int -> WordPtr Source

rotate :: WordPtr -> Int -> WordPtr Source

zeroBits :: WordPtr Source

bit :: Int -> WordPtr Source

setBit :: WordPtr -> Int -> WordPtr Source

clearBit :: WordPtr -> Int -> WordPtr Source

complementBit :: WordPtr -> Int -> WordPtr Source

testBit :: WordPtr -> Int -> Bool Source

bitSizeMaybe :: WordPtr -> Maybe Int Source

bitSize :: WordPtr -> Int Source

isSigned :: WordPtr -> Bool Source

shiftL :: WordPtr -> Int -> WordPtr Source

unsafeShiftL :: WordPtr -> Int -> WordPtr Source

shiftR :: WordPtr -> Int -> WordPtr Source

unsafeShiftR :: WordPtr -> Int -> WordPtr Source

rotateL :: WordPtr -> Int -> WordPtr Source

rotateR :: WordPtr -> Int -> WordPtr Source

popCount :: WordPtr -> Int Source

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

Определено в 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 () Исходный код

peek :: Ptr WordPtr -> IO WordPtr Исходный код

poke :: Ptr WordPtr -> WordPtr -> IO () Исходный код

ptrToWordPtr :: Ptr a -> WordPtr Исходный код

преобразует Ptr в WordPtr

wordPtrToPtr :: WordPtr -> Ptr a Исходный код

преобразует WordPtr в Ptr

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/base-4.14.1.0/Foreign-Ptr.html

Spec-Zone.ru

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