aligned-foreignptr-0.1: An aligned ForeignPtr typeSource codeContentsIndex
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
show/hide Instances
data Alignment Source
Should be a power of two.
show/hide Instances
align :: Int -> AlignmentSource
A "smart" constructor which checks whether the input is a power of two.
fromAlignment :: Alignment -> IntSource
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 bSource
finalizeAlignedForeignPtr :: AlignedForeignPtr a -> IO ()Source
touchAlignedForeignPtr :: AlignedForeignPtr a -> IO ()Source
castAlignedForeignPtr :: AlignedForeignPtr a -> AlignedForeignPtr bSource
Produced by Haddock version 2.4.1