ivory-serialize-0.1.0.6: Serialization library for Ivory.

Safe HaskellNone
LanguageHaskell2010

Ivory.Serialize

Documentation

class Packable a where Source #

Methods

packRep :: PackRep a Source #

Instances
Packable (Stored IFloat) Source # 
Instance details

Defined in Ivory.Serialize.Atoms

Packable (Stored IDouble) Source # 
Instance details

Defined in Ivory.Serialize.Atoms

Packable (Stored IBool) Source # 
Instance details

Defined in Ivory.Serialize.Atoms

Packable (Stored Uint8) Source # 
Instance details

Defined in Ivory.Serialize.Atoms

Packable (Stored Uint16) Source # 
Instance details

Defined in Ivory.Serialize.Atoms

Packable (Stored Uint32) Source # 
Instance details

Defined in Ivory.Serialize.Atoms

Packable (Stored Uint64) Source # 
Instance details

Defined in Ivory.Serialize.Atoms

Packable (Stored Sint8) Source # 
Instance details

Defined in Ivory.Serialize.Atoms

Packable (Stored Sint16) Source # 
Instance details

Defined in Ivory.Serialize.Atoms

Packable (Stored Sint32) Source # 
Instance details

Defined in Ivory.Serialize.Atoms

Packable (Stored Sint64) Source # 
Instance details

Defined in Ivory.Serialize.Atoms

(ANat len, IvoryArea area, Packable area) => Packable (Array len area) Source # 
Instance details

Defined in Ivory.Serialize.Atoms

Methods

packRep :: PackRep (Array len area) Source #

data PackRep t Source #

Constructors

PackRep 

Fields

repack :: (IvoryArea a, IvoryZero a) => (forall s1 s2 eff. ConstRef s1 a -> Ref s2 b -> Ivory eff ()) -> (forall s1 s2 eff. ConstRef s1 b -> Ref s2 a -> Ivory eff ()) -> PackRep a -> PackRep b Source #

repackV :: (IvoryZeroVal a, IvoryStore a, IvoryStore b) => (a -> b) -> (b -> a) -> PackRep (Stored a) -> PackRep (Stored b) Source #

packInto Source #

Arguments

:: (Packable a, ANat len) 
=> Ref s1 (Array len (Stored Uint8))

buf

-> Uint32

offset

-> ConstRef s2 a

value

-> Ivory (Effects r b (Scope s3)) () 

packInto' Source #

Arguments

:: ANat len 
=> PackRep a

encoding

-> Ref s1 (Array len (Stored Uint8))

buf

-> Uint32

offset

-> ConstRef s2 a

value

-> Ivory (Effects r b (Scope s3)) () 

packVInto Source #

Arguments

:: (Packable (Stored a), ANat len, IvoryInit a) 
=> Ref s1 (Array len (Stored Uint8))

buf

-> Uint32

offset

-> a

value

-> Ivory (Effects r b (Scope s2)) () 

packVInto' Source #

Arguments

:: (ANat len, IvoryInit a) 
=> PackRep (Stored a)

encoding

-> Ref s1 (Array len (Stored Uint8))

buf

-> Uint32

offset

-> a

value

-> Ivory (Effects r b (Scope s2)) () 

unpackFrom Source #

Arguments

:: (Packable a, ANat len) 
=> ConstRef s1 (Array len (Stored Uint8))

buf

-> Uint32

offset

-> Ref s2 a

value

-> Ivory (Effects r b (Scope s3)) () 

unpackFrom' Source #

Arguments

:: ANat len 
=> PackRep a

encoding

-> ConstRef s1 (Array len (Stored Uint8))

buf

-> Uint32

offset

-> Ref s2 a

value

-> Ivory (Effects r b (Scope s3)) () 

unpackVFrom Source #

Arguments

:: (Packable (Stored a), ANat len, IvoryStore a, IvoryZeroVal a) 
=> ConstRef s1 (Array len (Stored Uint8))

buf

-> Uint32

offset

-> Ivory (Effects r b (Scope s2)) a 

unpackVFrom' Source #

Arguments

:: (Packable (Stored a), ANat len, IvoryStore a, IvoryZeroVal a) 
=> PackRep (Stored a) 
-> ConstRef s1 (Array len (Stored Uint8))

buf

-> Uint32

offset

-> Ivory (Effects r b (Scope s2)) a 

data PackLabel sym Source #

packLabel' :: (IvoryStruct sym, IvoryArea t) => Label sym t -> PackRep t -> PackLabel sym Source #