regional-pointers-0.1.0.2: Regional memory pointers

MaintainerBas van Dijk <v.dijk.bas@gmail.com>

Foreign.Ptr.Region

Contents

Description

 

Synopsis

Memory as a scarce resource

newtype Memory α Source

Represents memory of size number of bytes which may be marshalled to or from Haskell values of type α. Before you can use the memory you have to allocate it using open.

Constructors

Memory 

Fields

size :: Int
 

Instances

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:

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