emacs-module-0.2: Utilities to write Emacs dynamic modules
Copyright(c) Sergey Vinokurov 2018
LicenseApache-2.0 (see LICENSE)
Maintainerserg.foo@gmail.com
Safe HaskellSafe-Inferred
LanguageGHC2021

Data.Emacs.Module.NonNullPtr

Description

 

Documentation

data NonNullPtr a Source #

Instances

Instances details
Storable (NonNullPtr a) Source # 
Instance details

Defined in Data.Emacs.Module.NonNullPtr.Internal

Methods

sizeOf :: NonNullPtr a -> Int #

alignment :: NonNullPtr a -> Int #

peekElemOff :: Ptr (NonNullPtr a) -> Int -> IO (NonNullPtr a) #

pokeElemOff :: Ptr (NonNullPtr a) -> Int -> NonNullPtr a -> IO () #

peekByteOff :: Ptr b -> Int -> IO (NonNullPtr a) #

pokeByteOff :: Ptr b -> Int -> NonNullPtr a -> IO () #

peek :: Ptr (NonNullPtr a) -> IO (NonNullPtr a) #

poke :: Ptr (NonNullPtr a) -> NonNullPtr a -> IO () #

Show (NonNullPtr a) Source # 
Instance details

Defined in Data.Emacs.Module.NonNullPtr.Internal

NFData (NonNullPtr a) Source # 
Instance details

Defined in Data.Emacs.Module.NonNullPtr.Internal

Methods

rnf :: NonNullPtr a -> () #

Eq (NonNullPtr a) Source # 
Instance details

Defined in Data.Emacs.Module.NonNullPtr.Internal

Methods

(==) :: NonNullPtr a -> NonNullPtr a -> Bool #

(/=) :: NonNullPtr a -> NonNullPtr a -> Bool #

Ord (NonNullPtr a) Source # 
Instance details

Defined in Data.Emacs.Module.NonNullPtr.Internal

allocaNonNull :: forall a b. Storable a => (NonNullPtr a -> IO b) -> IO b Source #

allocaBytesNonNull :: forall a b. Int -> (NonNullPtr a -> IO b) -> IO b Source #

withPtrLenNonNull :: forall a b. (WithCallStack, Storable a) => BuilderCache a -> Builder a -> (Int -> NonNullPtr a -> IO b) -> IO b Source #