Safe Haskell | None |
---|---|
Language | Haskell2010 |
Basement.Types.Ptr
Synopsis
- data Addr = Addr Addr#
- addrPlus :: Addr -> Offset Word8 -> Addr
- addrPlusSz :: Addr -> CountOf Word8 -> Addr
- addrPlusCSz :: Addr -> CSize -> Addr
- data Ptr a = Ptr Addr#
- ptrPlus :: Ptr a -> Offset Word8 -> Ptr a
- ptrPlusSz :: Ptr a -> CountOf Word8 -> Ptr a
- ptrPlusCSz :: Ptr a -> CSize -> Ptr a
- castPtr :: Ptr a -> Ptr b
Documentation
A value of type
represents a pointer to an object, or an
array of objects, which may be marshalled to or from Haskell values
of type Ptr
aa
.
The type a
will often be an instance of class
Storable
which provides the marshalling operations.
However this is not essential, and you can provide your own operations
to access the pointer. For example you might write small foreign
functions to get or set the fields of a C struct
.
Instances
Generic1 (URec (Ptr ()) :: k -> Type) | |||||
Defined in GHC.Internal.Generics Associated Types
| |||||
NormalForm (Ptr a) Source # | |||||
Defined in Basement.NormalForm Methods toNormalForm :: Ptr a -> () Source # | |||||
Data a => Data (Ptr a) | @since base-4.8.0.0 | ||||
Defined in GHC.Internal.Data.Data Methods 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) # 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) # | |||||
Foldable (UAddr :: Type -> Type) | @since base-4.9.0.0 | ||||
Defined in GHC.Internal.Data.Foldable Methods fold :: Monoid m => UAddr m -> m # foldMap :: Monoid m => (a -> m) -> UAddr a -> m # foldMap' :: Monoid m => (a -> m) -> UAddr a -> m # foldr :: (a -> b -> b) -> b -> UAddr a -> b # foldr' :: (a -> b -> b) -> b -> UAddr a -> b # foldl :: (b -> a -> b) -> b -> UAddr a -> b # foldl' :: (b -> a -> b) -> b -> UAddr a -> b # foldr1 :: (a -> a -> a) -> UAddr a -> a # foldl1 :: (a -> a -> a) -> UAddr a -> a # elem :: Eq a => a -> UAddr a -> Bool # maximum :: Ord a => UAddr a -> a # minimum :: Ord a => UAddr a -> a # | |||||
Traversable (UAddr :: Type -> Type) | @since base-4.9.0.0 | ||||
Storable (Ptr a) | @since base-2.01 | ||||
Show (Ptr a) | @since base-2.01 | ||||
Eq (Ptr a) | @since base-2.01 | ||||
Ord (Ptr a) | @since base-2.01 | ||||
Functor (URec (Ptr ()) :: Type -> Type) | @since base-4.9.0.0 | ||||
Generic (URec (Ptr ()) p) | |||||
Defined in GHC.Internal.Generics Associated Types
| |||||
Eq (URec (Ptr ()) p) | @since base-4.9.0.0 | ||||
Ord (URec (Ptr ()) p) | @since base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics Methods 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 # | |||||
data URec (Ptr ()) (p :: k) | Used for marking occurrences of @since base-4.9.0.0 | ||||
type Rep1 (URec (Ptr ()) :: k -> Type) | @since base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics | |||||
type Rep (URec (Ptr ()) p) | @since base-4.9.0.0 | ||||
Defined in GHC.Internal.Generics |