-- | Utilities for dealing with `GArray` types. module Data.GI.Base.GArray ( allocGArray ) where import Foreign.C (CInt(..), CUInt(..)) import Foreign.Ptr (Ptr) import Data.GI.Base.BasicTypes (GArray(..)) -- | Args are zero_terminated, clear_, element_size foreign import ccall g_array_new :: CInt -> CInt -> CUInt -> IO (Ptr (GArray a)) -- | Allocate a `GArray` with elements of the given size. allocGArray :: CUInt -> IO (Ptr (GArray a)) allocGArray :: forall a. CUInt -> IO (Ptr (GArray a)) allocGArray CUInt size = CInt -> CInt -> CUInt -> IO (Ptr (GArray a)) forall a. CInt -> CInt -> CUInt -> IO (Ptr (GArray a)) g_array_new CInt 0 CInt 1 CUInt size