storable-hetero-list-0.1.0.4: about Storable and Hetero list
Safe HaskellSafe-Inferred
LanguageHaskell2010

Foreign.Storable.HeteroList

Synopsis

SIZE AND ALIGNMENT

wholeSize :: forall as. SizeAlignmentList as => Int Source #

sizeAlignments :: forall as. SizeAlignmentList as => [(Int, Int)] Source #

infixOffsetSize :: forall (part :: [Type]) (whole :: [Type]). InfixOffsetSize part whole => (Offset, Size) Source #

class SizeAlignmentList ts Source #

Minimal complete definition

sizeAlignmentList

Instances

Instances details
SizeAlignmentList ('[] :: [Type]) Source # 
Instance details

Defined in Foreign.Storable.HeteroList

Methods

sizeAlignmentList :: PL SizeAlignmentOfType '[]

(Sizable t, SizeAlignmentList ts) => SizeAlignmentList (t ': ts) Source # 
Instance details

Defined in Foreign.Storable.HeteroList

Methods

sizeAlignmentList :: PL SizeAlignmentOfType (t ': ts)

class SizeAlignmentList whole => InfixOffsetSize (part :: [Type]) whole Source #

Minimal complete definition

infixOffsetSizeFromSizeAlignmentList

Instances

Instances details
(Sizable t, InfixOffsetSize ts whole) => InfixOffsetSize ts (t ': whole) Source # 
Instance details

Defined in Foreign.Storable.HeteroList

Methods

infixOffsetSizeFromSizeAlignmentList :: Size -> PL SizeAlignmentOfType (t ': whole) -> (Offset, Size)

(Sizable t, SizeAlignmentList whole, PrefixSize (t ': ts) (t ': whole)) => InfixOffsetSize (t ': ts) (t ': whole) Source # 
Instance details

Defined in Foreign.Storable.HeteroList

Methods

infixOffsetSizeFromSizeAlignmentList :: Size -> PL SizeAlignmentOfType (t ': whole) -> (Offset, Size)

class PrefixSize (part :: [Type]) whole Source #

Minimal complete definition

prefixSizeFromSizeAlignmentList

Instances

Instances details
PrefixSize ('[] :: [Type]) whole Source # 
Instance details

Defined in Foreign.Storable.HeteroList

Methods

prefixSizeFromSizeAlignmentList :: Size -> PL SizeAlignmentOfType whole -> Size

PrefixSize ts whole => PrefixSize (t ': ts) (t ': whole) Source # 
Instance details

Defined in Foreign.Storable.HeteroList

Methods

prefixSizeFromSizeAlignmentList :: Size -> PL SizeAlignmentOfType (t ': whole) -> Size

POKABLE

class SizeAlignmentList as => PokableList (as :: [Type]) where Source #

Methods

pokeList :: Ptr x -> L as -> IO () Source #

Instances

Instances details
PokableList ('[] :: [Type]) Source # 
Instance details

Defined in Foreign.Storable.HeteroList

Methods

pokeList :: Ptr x -> L '[] -> IO () Source #

(Pokable a, PokableList as) => PokableList (a ': as) Source # 
Instance details

Defined in Foreign.Storable.HeteroList

Methods

pokeList :: Ptr x -> L (a ': as) -> IO () Source #