aligned-foreignptr-0.1: An aligned ForeignPtr type
Source code
Contents
Index
Foreign.ForeignPtr.Aligned
Description
A properly aligned ForeignPtr type. This can be currently achieved only by wasting some bytes.
Synopsis
data
AlignedForeignPtr
a
data
Alignment
align
::
Int
->
Alignment
fromAlignment
::
Alignment
->
Int
mallocAlignedForeignPtr
::
Storable
a =>
Alignment
->
IO
(
AlignedForeignPtr
a)
mallocAlignedForeignPtrArray
::
Storable
a =>
Alignment
->
Int
->
IO
(
AlignedForeignPtr
a)
mallocAlignedForeignPtrBytes
::
Alignment
->
Int
->
IO
(
AlignedForeignPtr
a)
withAlignedForeignPtr
::
AlignedForeignPtr
a -> (
Ptr
a ->
IO
b) ->
IO
b
finalizeAlignedForeignPtr
::
AlignedForeignPtr
a ->
IO
()
touchAlignedForeignPtr
::
AlignedForeignPtr
a ->
IO
()
castAlignedForeignPtr
::
AlignedForeignPtr
a ->
AlignedForeignPtr
b
Documentation
data
AlignedForeignPtr
a
Source
The aligned ForeignPtr type
Instances
Show
(
AlignedForeignPtr
a)
data
Alignment
Source
Should be a power of two.
Instances
Show
Alignment
align
::
Int
->
Alignment
Source
A "smart" constructor which checks whether the input is a power of two.
fromAlignment
::
Alignment
->
Int
Source
mallocAlignedForeignPtr
::
Storable
a =>
Alignment
->
IO
(
AlignedForeignPtr
a)
Source
mallocAlignedForeignPtrArray
::
Storable
a =>
Alignment
->
Int
->
IO
(
AlignedForeignPtr
a)
Source
mallocAlignedForeignPtrBytes
::
Alignment
->
Int
->
IO
(
AlignedForeignPtr
a)
Source
withAlignedForeignPtr
::
AlignedForeignPtr
a -> (
Ptr
a ->
IO
b) ->
IO
b
Source
finalizeAlignedForeignPtr
::
AlignedForeignPtr
a ->
IO
()
Source
touchAlignedForeignPtr
::
AlignedForeignPtr
a ->
IO
()
Source
castAlignedForeignPtr
::
AlignedForeignPtr
a ->
AlignedForeignPtr
b
Source
Produced by
Haddock
version 2.4.1