vector-0.12.3.1: Efficient Arrays
Copyright(c) Roman Leshchinskiy 2009-2010
LicenseBSD-style
MaintainerRoman Leshchinskiy <rl@cse.unsw.edu.au>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Vector.Storable.Internal

Description

Ugly internal utility functions for implementing Storable-based vectors.

Synopsis
  • getPtr :: ForeignPtr a -> Ptr a
  • setPtr :: ForeignPtr a -> Ptr a -> ForeignPtr a
  • updPtr :: (Ptr a -> Ptr a) -> ForeignPtr a -> ForeignPtr a
  • unsafeWithForeignPtr :: ForeignPtr a -> (Ptr a -> IO b) -> IO b

Documentation

getPtr :: ForeignPtr a -> Ptr a Source #

setPtr :: ForeignPtr a -> Ptr a -> ForeignPtr a Source #

updPtr :: (Ptr a -> Ptr a) -> ForeignPtr a -> ForeignPtr a Source #

unsafeWithForeignPtr :: ForeignPtr a -> (Ptr a -> IO b) -> IO b Source #

A compatibility wrapper for unsafeWithForeignPtr provided by GHC 9.0.1 and later.

Only to be used when the continuation is known not to unconditionally diverge lest unsoundness can result.