Safe Haskell | None |
---|---|
Language | Haskell2010 |
Generic pointer
- data Constancy
- class KnownConstancy c
- data Nullability
- data Pointer n c s a = Pointer {
- getPointer :: Expr
- nullPtr :: IvoryArea a => Pointer Nullable c s a
- pointerCast :: forall s a. (PointerCast n1 c1 n2 c2, IvoryArea a) => Pointer n1 c1 s a -> Pointer n2 c2 s a
- pointerCastToConst :: (KnownNullability n, IvoryArea a) => Pointer n Mutable s a -> Pointer n Const s a
- pointerCastToNullable :: (KnownConstancy c, IvoryArea a) => Pointer Valid c s a -> Pointer Nullable c s a
- unsafePointerCast :: (KnownNullability n1, KnownNullability n2, KnownConstancy c1, KnownConstancy c2, IvoryArea a) => Pointer n1 c1 s a -> Pointer n2 c2 s a
- withRef :: (KnownConstancy c, IvoryArea a) => Pointer Nullable c s a -> (Pointer Valid c s a -> Ivory eff t) -> Ivory eff f -> Ivory eff ()
Documentation
class KnownConstancy c Source #
demoteConstancy
data Nullability Source #
IvoryAddrOf ConstMemArea ConstRef Source # | |
IvoryAddrOf MemArea Ref Source # | |
IvoryRef (Pointer Valid c) Source # | |
IvoryArea area => IvoryZeroVal (Ptr Global area) Source # | |
IvoryArea area => IvoryInit (Ptr Global area) Source # | |
(KnownNullability n, KnownConstancy c, IvoryArea a) => IvoryExpr (Pointer n c s a) Source # | |
(KnownNullability n, KnownConstancy c, IvoryArea a) => IvoryVar (Pointer n c s a) Source # | |
(KnownNullability n, KnownConstancy c, IvoryArea a) => IvoryType (Pointer n c s a) Source # | |
(KnownNullability n, KnownConstancy c, IvoryArea a) => IvoryEq (Pointer n c s a) Source # | |
(KnownConstancy c, IvoryArea a) => IvoryStore (Pointer Nullable c Global a) Source # | |
pointerCast :: forall s a. (PointerCast n1 c1 n2 c2, IvoryArea a) => Pointer n1 c1 s a -> Pointer n2 c2 s a Source #
pointerCastToConst :: (KnownNullability n, IvoryArea a) => Pointer n Mutable s a -> Pointer n Const s a Source #
pointerCastToNullable :: (KnownConstancy c, IvoryArea a) => Pointer Valid c s a -> Pointer Nullable c s a Source #
unsafePointerCast :: (KnownNullability n1, KnownNullability n2, KnownConstancy c1, KnownConstancy c2, IvoryArea a) => Pointer n1 c1 s a -> Pointer n2 c2 s a Source #