foundation-0.0.30: Alternative prelude with batteries and no dependencies
LicenseBSD-style
MaintainerHaskell Foundation
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Foundation.Class.Storable

Description

Synopsis

Documentation

class Storable a where #

Storable type of self determined size.

Methods

peek :: Ptr a -> IO a #

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

Instances

Instances details
Storable CChar # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr CChar -> IO CChar #

poke :: Ptr CChar -> CChar -> IO () #

Storable CUChar # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr CUChar -> IO CUChar #

poke :: Ptr CUChar -> CUChar -> IO () #

Storable Int16 # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr Int16 -> IO Int16 #

poke :: Ptr Int16 -> Int16 -> IO () #

Storable Int32 # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr Int32 -> IO Int32 #

poke :: Ptr Int32 -> Int32 -> IO () #

Storable Int64 # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr Int64 -> IO Int64 #

poke :: Ptr Int64 -> Int64 -> IO () #

Storable Int8 # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr Int8 -> IO Int8 #

poke :: Ptr Int8 -> Int8 -> IO () #

Storable Word16 # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr Word16 -> IO Word16 #

poke :: Ptr Word16 -> Word16 -> IO () #

Storable Word32 # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr Word32 -> IO Word32 #

poke :: Ptr Word32 -> Word32 -> IO () #

Storable Word64 # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr Word64 -> IO Word64 #

poke :: Ptr Word64 -> Word64 -> IO () #

Storable Word8 # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr Word8 -> IO Word8 #

poke :: Ptr Word8 -> Word8 -> IO () #

Storable Word128 # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr Word128 -> IO Word128 #

poke :: Ptr Word128 -> Word128 -> IO () #

Storable Word256 # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr Word256 -> IO Word256 #

poke :: Ptr Word256 -> Word256 -> IO () #

Storable IPv4 # 
Instance details

Defined in Foundation.Network.IPv4

Methods

peek :: Ptr IPv4 -> IO IPv4 #

poke :: Ptr IPv4 -> IPv4 -> IO () #

Storable IPv6 # 
Instance details

Defined in Foundation.Network.IPv6

Methods

peek :: Ptr IPv6 -> IO IPv6 #

poke :: Ptr IPv6 -> IPv6 -> IO () #

Storable UUID # 
Instance details

Defined in Foundation.UUID

Methods

peek :: Ptr UUID -> IO UUID #

poke :: Ptr UUID -> UUID -> IO () #

Storable Char # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr Char -> IO Char #

poke :: Ptr Char -> Char -> IO () #

Storable Double # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr Double -> IO Double #

poke :: Ptr Double -> Double -> IO () #

Storable Float # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr Float -> IO Float #

poke :: Ptr Float -> Float -> IO () #

Storable (Ptr a) # 
Instance details

Defined in Foundation.Class.Storable

Methods

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

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

Storable (BE Word16) # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr (BE Word16) -> IO (BE Word16) #

poke :: Ptr (BE Word16) -> BE Word16 -> IO () #

Storable (BE Word32) # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr (BE Word32) -> IO (BE Word32) #

poke :: Ptr (BE Word32) -> BE Word32 -> IO () #

Storable (BE Word64) # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr (BE Word64) -> IO (BE Word64) #

poke :: Ptr (BE Word64) -> BE Word64 -> IO () #

Storable (BE Word128) # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr (BE Word128) -> IO (BE Word128) #

poke :: Ptr (BE Word128) -> BE Word128 -> IO () #

Storable (BE Word256) # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr (BE Word256) -> IO (BE Word256) #

poke :: Ptr (BE Word256) -> BE Word256 -> IO () #

Storable (LE Word16) # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr (LE Word16) -> IO (LE Word16) #

poke :: Ptr (LE Word16) -> LE Word16 -> IO () #

Storable (LE Word32) # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr (LE Word32) -> IO (LE Word32) #

poke :: Ptr (LE Word32) -> LE Word32 -> IO () #

Storable (LE Word64) # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr (LE Word64) -> IO (LE Word64) #

poke :: Ptr (LE Word64) -> LE Word64 -> IO () #

Storable (LE Word128) # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr (LE Word128) -> IO (LE Word128) #

poke :: Ptr (LE Word128) -> LE Word128 -> IO () #

Storable (LE Word256) # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr (LE Word256) -> IO (LE Word256) #

poke :: Ptr (LE Word256) -> LE Word256 -> IO () #

class Storable a => StorableFixed a where #

Extending the Storable type class to the types that can be sequenced in a structure.

Methods

size :: proxy a -> CountOf Word8 #

alignment :: proxy a -> CountOf Word8 #

Instances

Instances details
StorableFixed CChar # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy CChar -> CountOf Word8 #

alignment :: proxy CChar -> CountOf Word8 #

StorableFixed CUChar # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy CUChar -> CountOf Word8 #

alignment :: proxy CUChar -> CountOf Word8 #

StorableFixed Int16 # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy Int16 -> CountOf Word8 #

alignment :: proxy Int16 -> CountOf Word8 #

StorableFixed Int32 # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy Int32 -> CountOf Word8 #

alignment :: proxy Int32 -> CountOf Word8 #

StorableFixed Int64 # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy Int64 -> CountOf Word8 #

alignment :: proxy Int64 -> CountOf Word8 #

StorableFixed Int8 # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy Int8 -> CountOf Word8 #

alignment :: proxy Int8 -> CountOf Word8 #

StorableFixed Word16 # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy Word16 -> CountOf Word8 #

alignment :: proxy Word16 -> CountOf Word8 #

StorableFixed Word32 # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy Word32 -> CountOf Word8 #

alignment :: proxy Word32 -> CountOf Word8 #

StorableFixed Word64 # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy Word64 -> CountOf Word8 #

alignment :: proxy Word64 -> CountOf Word8 #

StorableFixed Word8 # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy Word8 -> CountOf Word8 #

alignment :: proxy Word8 -> CountOf Word8 #

StorableFixed Word128 # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy Word128 -> CountOf Word8 #

alignment :: proxy Word128 -> CountOf Word8 #

StorableFixed Word256 # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy Word256 -> CountOf Word8 #

alignment :: proxy Word256 -> CountOf Word8 #

StorableFixed IPv4 # 
Instance details

Defined in Foundation.Network.IPv4

Methods

size :: proxy IPv4 -> CountOf Word8 #

alignment :: proxy IPv4 -> CountOf Word8 #

StorableFixed IPv6 # 
Instance details

Defined in Foundation.Network.IPv6

Methods

size :: proxy IPv6 -> CountOf Word8 #

alignment :: proxy IPv6 -> CountOf Word8 #

StorableFixed UUID # 
Instance details

Defined in Foundation.UUID

Methods

size :: proxy UUID -> CountOf Word8 #

alignment :: proxy UUID -> CountOf Word8 #

StorableFixed Char # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy Char -> CountOf Word8 #

alignment :: proxy Char -> CountOf Word8 #

StorableFixed Double # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy Double -> CountOf Word8 #

alignment :: proxy Double -> CountOf Word8 #

StorableFixed Float # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy Float -> CountOf Word8 #

alignment :: proxy Float -> CountOf Word8 #

StorableFixed (Ptr a) # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy (Ptr a) -> CountOf Word8 #

alignment :: proxy (Ptr a) -> CountOf Word8 #

StorableFixed (BE Word16) # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy (BE Word16) -> CountOf Word8 #

alignment :: proxy (BE Word16) -> CountOf Word8 #

StorableFixed (BE Word32) # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy (BE Word32) -> CountOf Word8 #

alignment :: proxy (BE Word32) -> CountOf Word8 #

StorableFixed (BE Word64) # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy (BE Word64) -> CountOf Word8 #

alignment :: proxy (BE Word64) -> CountOf Word8 #

StorableFixed (BE Word128) # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy (BE Word128) -> CountOf Word8 #

alignment :: proxy (BE Word128) -> CountOf Word8 #

StorableFixed (BE Word256) # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy (BE Word256) -> CountOf Word8 #

alignment :: proxy (BE Word256) -> CountOf Word8 #

StorableFixed (LE Word16) # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy (LE Word16) -> CountOf Word8 #

alignment :: proxy (LE Word16) -> CountOf Word8 #

StorableFixed (LE Word32) # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy (LE Word32) -> CountOf Word8 #

alignment :: proxy (LE Word32) -> CountOf Word8 #

StorableFixed (LE Word64) # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy (LE Word64) -> CountOf Word8 #

alignment :: proxy (LE Word64) -> CountOf Word8 #

StorableFixed (LE Word128) # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy (LE Word128) -> CountOf Word8 #

alignment :: proxy (LE Word128) -> CountOf Word8 #

StorableFixed (LE Word256) # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy (LE Word256) -> CountOf Word8 #

alignment :: proxy (LE Word256) -> CountOf Word8 #

Ptr

data Ptr a #

Instances

Instances details
Generic1 (URec (Ptr ()) :: k -> Type) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep1 (URec (Ptr ())) :: k -> Type

Methods

from1 :: forall (a :: k0). URec (Ptr ()) a -> Rep1 (URec (Ptr ())) a

to1 :: forall (a :: k0). Rep1 (URec (Ptr ())) a -> URec (Ptr ()) a

Data a => Data (Ptr a) 
Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Ptr a -> c (Ptr a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Ptr a) #

toConstr :: Ptr a -> Constr #

dataTypeOf :: Ptr a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Ptr a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Ptr a)) #

gmapT :: (forall b. Data b => b -> b) -> Ptr a -> Ptr a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ptr a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ptr a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Ptr a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Ptr a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Ptr a -> m (Ptr a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Ptr a -> m (Ptr a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Ptr a -> m (Ptr a) #

Foldable (UAddr :: Type -> Type) 
Instance details

Defined in Data.Foldable

Methods

fold :: Monoid m => UAddr m -> m

foldMap :: Monoid m => (a -> m) -> UAddr a -> m

foldMap' :: Monoid m => (a -> m) -> UAddr a -> m

foldr :: (a -> b -> b) -> b -> UAddr a -> b

foldr' :: (a -> b -> b) -> b -> UAddr a -> b

foldl :: (b -> a -> b) -> b -> UAddr a -> b

foldl' :: (b -> a -> b) -> b -> UAddr a -> b

foldr1 :: (a -> a -> a) -> UAddr a -> a

foldl1 :: (a -> a -> a) -> UAddr a -> a

toList :: UAddr a -> [a]

null :: UAddr a -> Bool

length :: UAddr a -> Int

elem :: Eq a => a -> UAddr a -> Bool

maximum :: Ord a => UAddr a -> a

minimum :: Ord a => UAddr a -> a

sum :: Num a => UAddr a -> a

product :: Num a => UAddr a -> a

Traversable (UAddr :: Type -> Type) 
Instance details

Defined in Data.Traversable

Methods

traverse :: Applicative f => (a -> f b) -> UAddr a -> f (UAddr b)

sequenceA :: Applicative f => UAddr (f a) -> f (UAddr a)

mapM :: Monad m => (a -> m b) -> UAddr a -> m (UAddr b)

sequence :: Monad m => UAddr (m a) -> m (UAddr a)

Storable (Ptr a) 
Instance details

Defined in Foreign.Storable

Methods

sizeOf :: Ptr a -> Int

alignment :: Ptr a -> Int

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

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

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

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

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

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

Show (Ptr a) 
Instance details

Defined in GHC.Ptr

Methods

showsPrec :: Int -> Ptr a -> ShowS #

show :: Ptr a -> String #

showList :: [Ptr a] -> ShowS #

NormalForm (Ptr a) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Ptr a -> () #

Storable (Ptr a) # 
Instance details

Defined in Foundation.Class.Storable

Methods

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

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

StorableFixed (Ptr a) # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy (Ptr a) -> CountOf Word8 #

alignment :: proxy (Ptr a) -> CountOf Word8 #

Eq (Ptr a) 
Instance details

Defined in GHC.Ptr

Methods

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

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

Ord (Ptr a) 
Instance details

Defined in GHC.Ptr

Methods

compare :: Ptr a -> Ptr a -> Ordering #

(<) :: Ptr a -> Ptr a -> Bool #

(<=) :: Ptr a -> Ptr a -> Bool #

(>) :: Ptr a -> Ptr a -> Bool #

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

max :: Ptr a -> Ptr a -> Ptr a #

min :: Ptr a -> Ptr a -> Ptr a #

Functor (URec (Ptr ()) :: Type -> Type) 
Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> URec (Ptr ()) a -> URec (Ptr ()) b #

(<$) :: a -> URec (Ptr ()) b -> URec (Ptr ()) a #

Generic (URec (Ptr ()) p) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (URec (Ptr ()) p) :: Type -> Type #

Methods

from :: URec (Ptr ()) p -> Rep (URec (Ptr ()) p) x #

to :: Rep (URec (Ptr ()) p) x -> URec (Ptr ()) p #

Eq (URec (Ptr ()) p) 
Instance details

Defined in GHC.Generics

Methods

(==) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool #

(/=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool #

Ord (URec (Ptr ()) p) 
Instance details

Defined in GHC.Generics

Methods

compare :: URec (Ptr ()) p -> URec (Ptr ()) p -> Ordering #

(<) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool #

(<=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool #

(>) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool #

(>=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool #

max :: URec (Ptr ()) p -> URec (Ptr ()) p -> URec (Ptr ()) p #

min :: URec (Ptr ()) p -> URec (Ptr ()) p -> URec (Ptr ()) p #

data URec (Ptr ()) (p :: k) 
Instance details

Defined in GHC.Generics

data URec (Ptr ()) (p :: k) = UAddr {}
type Rep1 (URec (Ptr ()) :: k -> Type) 
Instance details

Defined in GHC.Generics

type Rep1 (URec (Ptr ()) :: k -> Type) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UAddr" 'PrefixI 'True) (S1 ('MetaSel ('Just "uAddr#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UAddr :: k -> Type)))
type Rep (URec (Ptr ()) p) 
Instance details

Defined in GHC.Generics

type Rep (URec (Ptr ()) p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UAddr" 'PrefixI 'True) (S1 ('MetaSel ('Just "uAddr#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UAddr :: Type -> Type)))

plusPtr :: StorableFixed a => Ptr a -> CountOf a -> Ptr a #

castPtr :: Ptr a -> Ptr b #

offset based helper

peekOff :: StorableFixed a => Ptr a -> Offset a -> IO a #

like peek but at a given offset.

pokeOff :: StorableFixed a => Ptr a -> Offset a -> a -> IO () #

like poke but at a given offset.

Collection

peekArray :: (Buildable col, StorableFixed (Element col)) => CountOf (Element col) -> Ptr (Element col) -> IO col #

peekArrayEndedBy :: (Buildable col, StorableFixed (Element col), Eq (Element col), Show (Element col)) => Element col -> Ptr (Element col) -> IO col #

pokeArray :: (Sequential col, StorableFixed (Element col)) => Ptr (Element col) -> col -> IO () #

pokeArrayEndedBy :: (Sequential col, StorableFixed (Element col)) => Element col -> Ptr (Element col) -> col -> IO () #