regional-pointers-0.1.0.2: Regional memory pointers

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

Foreign.Marshal.Array.Region

Contents

Description

 

Synopsis

Allocation

mallocArray :: forall α s pr. (Storable α, MonadCatchIO pr) => Int -> RegionT s pr (RegionalPtr α (RegionT s pr))Source

allocaArray :: forall α pr β. (Storable α, MonadCatchIO pr) => Int -> (forall s. RegionalPtr α (RegionT s pr) -> RegionT s pr β) -> pr βSource

allocaArray0 :: forall α pr β. (Storable α, MonadCatchIO pr) => Int -> (forall s. RegionalPtr α (RegionT s pr) -> RegionT s pr β) -> pr βSource

TODO: Define and export reallocArray and reallocArray0

Marshalling

peekArray :: (Storable α, ParentOf pr cr, MonadIO cr) => Int -> RegionalPtr α pr -> cr [α]Source

Wraps: Foreign.Marshal.Array.peekArray.

peekArray0 :: (Storable α, Eq α, ParentOf pr cr, MonadIO cr) => α -> RegionalPtr α pr -> cr [α]Source

Wraps: Foreign.Marshal.Array.peekArray0.

pokeArray :: (Storable α, ParentOf pr cr, MonadIO cr) => RegionalPtr α pr -> [α] -> cr ()Source

Wraps: Foreign.Marshal.Array.pokeArray.

pokeArray0 :: (Storable α, ParentOf pr cr, MonadIO cr) => α -> RegionalPtr α pr -> [α] -> cr ()Source

Wraps: Foreign.Marshal.Array.pokeArray0.

Combined allocation and marshalling

newArray :: (Storable α, MonadCatchIO pr) => [α] -> RegionT s pr (RegionalPtr α (RegionT s pr))Source

newArray0 :: (Storable α, MonadCatchIO pr) => α -> [α] -> RegionT s pr (RegionalPtr α (RegionT s pr))Source

withArray :: (Storable α, MonadCatchIO pr) => [α] -> (forall s. RegionalPtr α (RegionT s pr) -> RegionT s pr β) -> pr βSource

withArray0 :: (Storable α, MonadCatchIO pr) => α -> [α] -> (forall s. RegionalPtr α (RegionT s pr) -> RegionT s pr β) -> pr βSource

withArrayLen :: (Storable α, MonadCatchIO pr) => [α] -> (forall s. Int -> RegionalPtr α (RegionT s pr) -> RegionT s pr β) -> pr βSource

withArrayLen0 :: (Storable α, MonadCatchIO pr) => α -> [α] -> (forall s. Int -> RegionalPtr α (RegionT s pr) -> RegionT s pr β) -> pr βSource

Copying

copyArray :: (Storable α, ParentOf pr cr, MonadIO cr) => RegionalPtr α pr -> RegionalPtr α pr -> Int -> cr ()Source

Wraps: Foreign.Marshal.Array.copyArray.

moveArray :: (Storable α, ParentOf pr cr, MonadIO cr) => RegionalPtr α pr -> RegionalPtr α pr -> Int -> cr ()Source

Wraps: Foreign.Marshal.Array.moveArray.

Finding the length

lengthArray0 :: (Storable α, Eq α, ParentOf pr cr, MonadIO cr) => α -> RegionalPtr α pr -> cr IntSource

Wraps: Foreign.Marshal.Array.lengthArray0.

Indexing

advancePtr :: Storable α => RegionalPtr α pr -> Int -> RegionalPtr α prSource

Wraps: Foreign.Marshal.Array.advancePtr.