| Maintainer | Bas van Dijk <v.dijk.bas@gmail.com> |
|---|
Foreign.Ptr.Region
Description
- newtype Memory α = Memory {}
- type RegionalPtr α r = RegionalHandle (Memory α) r
- module Control.Monad.Trans.Region
- mapRegionalPtr :: (Ptr α -> Ptr β) -> RegionalPtr α r -> RegionalPtr β r
- castPtr :: RegionalPtr α r -> RegionalPtr β r
- plusPtr :: RegionalPtr α r -> Int -> RegionalPtr β r
- alignPtr :: RegionalPtr α r -> Int -> RegionalPtr α r
- minusPtr :: RegionalPtr α r -> RegionalPtr β r -> Int
Memory as a scarce resource
type RegionalPtr α r = RegionalHandle (Memory α) rSource
Handy type synonym for a regional handle to memory. This should provide a
safer replacement for Foreign.Ptr.Ptr
Note that this module re-exports the Control.Monad.Trans.Region
module from the regions package which allows you to:
-
openMemoryin aRegionT. - Run a region using
runRegionT. - Concurrently run a region inside another region using
forkTopRegion. - Duplicate a regional pointer to a parent region using
dup.
module Control.Monad.Trans.Region
Pure functions on regional pointers
mapRegionalPtr :: (Ptr α -> Ptr β) -> RegionalPtr α r -> RegionalPtr β rSource
castPtr :: RegionalPtr α r -> RegionalPtr β rSource
Wraps: Foreign.Ptr.castPtr
plusPtr :: RegionalPtr α r -> Int -> RegionalPtr β rSource
Wraps: Foreign.Ptr.plusPtr
alignPtr :: RegionalPtr α r -> Int -> RegionalPtr α rSource
Wraps: Foreign.Ptr.alignPtr
minusPtr :: RegionalPtr α r -> RegionalPtr β r -> IntSource
Wraps: Foreign.Ptr.minusPtr