{-# LANGUAGE NoImplicitPrelude #-}
-------------------------------------------------------------------------------
-- |
-- Module : Foreign.Ptr.Region.Unsfe
-- Copyright : (c) 2010 Bas van Dijk
-- License : BSD3 (see the file LICENSE)
-- Maintainer : Bas van Dijk <v.dijk.bas@gmail.com>
--
-- /Unsafe/ functions for constructing regional pointers, retrieving the native
-- @Ptr@ from a regional pointer and for lifting operations on @Ptrs@ to
-- @RegionalPtrs@.
--
--
-------------------------------------------------------------------------------
module Foreign.Ptr.Region.Unsafe
( -- * Unsafely constructing regional pointers
unsafeRegionalPtr
, unsafePureRegionalPtr
-- * Unsafe utility functions for lifting operations on @Ptrs@ to @RegionalPtrs@
-- | These operations are unsafe because they allow you to @free@ the
-- regional pointer before exiting their region. So they enable you to
-- perform @IO@ with already freed pointers.
, unsafePtr
, unsafeWrap, unsafeWrap2, unsafeWrap3
) where
import Foreign.Ptr.Region.Internal ( unsafeRegionalPtr
, unsafePureRegionalPtr
, unsafePtr
, unsafeWrap, unsafeWrap2, unsafeWrap3
)