base-compat-0.13.1: A compatibility layer for base
Safe HaskellTrustworthy
LanguageHaskell2010

Foreign.ForeignPtr.Safe.Compat

Synopsis

Finalised data pointers

data ForeignPtr a #

Instances

Instances details
Show (ForeignPtr a) 
Instance details

Defined in GHC.ForeignPtr

Methods

showsPrec :: Int -> ForeignPtr a -> ShowS

show :: ForeignPtr a -> String

showList :: [ForeignPtr a] -> ShowS

Eq (ForeignPtr a) 
Instance details

Defined in GHC.ForeignPtr

Methods

(==) :: ForeignPtr a -> ForeignPtr a -> Bool

(/=) :: ForeignPtr a -> ForeignPtr a -> Bool

Ord (ForeignPtr a) 
Instance details

Defined in GHC.ForeignPtr

Methods

compare :: ForeignPtr a -> ForeignPtr a -> Ordering

(<) :: ForeignPtr a -> ForeignPtr a -> Bool

(<=) :: ForeignPtr a -> ForeignPtr a -> Bool

(>) :: ForeignPtr a -> ForeignPtr a -> Bool

(>=) :: ForeignPtr a -> ForeignPtr a -> Bool

max :: ForeignPtr a -> ForeignPtr a -> ForeignPtr a

min :: ForeignPtr a -> ForeignPtr a -> ForeignPtr a

type FinalizerPtr a = FunPtr (Ptr a -> IO ()) #

type FinalizerEnvPtr env a = FunPtr (Ptr env -> Ptr a -> IO ()) #

Basic operations

newForeignPtr :: FinalizerPtr a -> Ptr a -> IO (ForeignPtr a) #

newForeignPtr_ :: Ptr a -> IO (ForeignPtr a) #

newForeignPtrEnv :: FinalizerEnvPtr env a -> Ptr env -> Ptr a -> IO (ForeignPtr a) #

addForeignPtrFinalizerEnv :: FinalizerEnvPtr env a -> Ptr env -> ForeignPtr a -> IO () #

withForeignPtr :: ForeignPtr a -> (Ptr a -> IO b) -> IO b #

Low-level operations

Allocating managed memory

mallocForeignPtr :: Storable a => IO (ForeignPtr a) #

mallocForeignPtrArray :: Storable a => Int -> IO (ForeignPtr a) #

mallocForeignPtrArray0 :: Storable a => Int -> IO (ForeignPtr a) #