gstorable-0.1.0.0: Generic implementation of Storable

Safe HaskellSafe
LanguageHaskell98

Foreign.Storable.Generic

Contents

Orphan instances

Storable a => Storable (U1 * a) Source # 

Methods

sizeOf :: U1 * a -> Int #

alignment :: U1 * a -> Int #

peekElemOff :: Ptr (U1 * a) -> Int -> IO (U1 * a) #

pokeElemOff :: Ptr (U1 * a) -> Int -> U1 * a -> IO () #

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

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

peek :: Ptr (U1 * a) -> IO (U1 * a) #

poke :: Ptr (U1 * a) -> U1 * a -> IO () #

Storable (f a) => Storable (K1 * i (f a) a) Source # 

Methods

sizeOf :: K1 * i (f a) a -> Int #

alignment :: K1 * i (f a) a -> Int #

peekElemOff :: Ptr (K1 * i (f a) a) -> Int -> IO (K1 * i (f a) a) #

pokeElemOff :: Ptr (K1 * i (f a) a) -> Int -> K1 * i (f a) a -> IO () #

peekByteOff :: Ptr b -> Int -> IO (K1 * i (f a) a) #

pokeByteOff :: Ptr b -> Int -> K1 * i (f a) a -> IO () #

peek :: Ptr (K1 * i (f a) a) -> IO (K1 * i (f a) a) #

poke :: Ptr (K1 * i (f a) a) -> K1 * i (f a) a -> IO () #

(Storable (f a), Storable (g a)) => Storable ((:+:) * f g a) Source # 

Methods

sizeOf :: (* :+: f) g a -> Int #

alignment :: (* :+: f) g a -> Int #

peekElemOff :: Ptr ((* :+: f) g a) -> Int -> IO ((* :+: f) g a) #

pokeElemOff :: Ptr ((* :+: f) g a) -> Int -> (* :+: f) g a -> IO () #

peekByteOff :: Ptr b -> Int -> IO ((* :+: f) g a) #

pokeByteOff :: Ptr b -> Int -> (* :+: f) g a -> IO () #

peek :: Ptr ((* :+: f) g a) -> IO ((* :+: f) g a) #

poke :: Ptr ((* :+: f) g a) -> (* :+: f) g a -> IO () #

(Storable (f a), Storable (g a)) => Storable ((:*:) * f g a) Source # 

Methods

sizeOf :: (* :*: f) g a -> Int #

alignment :: (* :*: f) g a -> Int #

peekElemOff :: Ptr ((* :*: f) g a) -> Int -> IO ((* :*: f) g a) #

pokeElemOff :: Ptr ((* :*: f) g a) -> Int -> (* :*: f) g a -> IO () #

peekByteOff :: Ptr b -> Int -> IO ((* :*: f) g a) #

pokeByteOff :: Ptr b -> Int -> (* :*: f) g a -> IO () #

peek :: Ptr ((* :*: f) g a) -> IO ((* :*: f) g a) #

poke :: Ptr ((* :*: f) g a) -> (* :*: f) g a -> IO () #

Storable (f a) => Storable (M1 * i c f a) Source # 

Methods

sizeOf :: M1 * i c f a -> Int #

alignment :: M1 * i c f a -> Int #

peekElemOff :: Ptr (M1 * i c f a) -> Int -> IO (M1 * i c f a) #

pokeElemOff :: Ptr (M1 * i c f a) -> Int -> M1 * i c f a -> IO () #

peekByteOff :: Ptr b -> Int -> IO (M1 * i c f a) #

pokeByteOff :: Ptr b -> Int -> M1 * i c f a -> IO () #

peek :: Ptr (M1 * i c f a) -> IO (M1 * i c f a) #

poke :: Ptr (M1 * i c f a) -> M1 * i c f a -> IO () #