flat-0.3: Principled and efficient bit-oriented binary serialization.

Safe HaskellNone
LanguageHaskell2010

Data.Flat.Instances

Contents

Description

Flat Instances for common, primitive and abstract data types for which instances cannot be automatically derived

Synopsis

Documentation

sizeMap :: (Flat (ContainerKey r), Flat (MapValue r), IsMap r) => Size r #

Calculate size of an instance of IsMap

encodeMap :: (Flat (ContainerKey map), Flat (MapValue map), IsMap map) => map -> Encoding #

Encode an instance of IsMap, as a list

decodeMap :: (Flat (ContainerKey map), Flat (MapValue map), IsMap map) => Get map #

Decode an instance of IsMap, as a list

sizeSequence :: (IsSequence mono, Flat (Element mono)) => mono -> NumBits -> NumBits #

Calculate size of an instance of IsSequence

encodeSequence :: (Flat (Element mono), IsSequence mono) => mono -> Encoding #

Encode an instance of IsSequence, as an array

decodeSequence :: (Flat (Element b), IsSequence b) => Get b #

Decode an instance of IsSequence, as an array

Orphan instances

Flat Bool # 
Flat Char # 
Flat Double # 
Flat Float # 
Flat Int # 
Flat Int8 # 
Flat Int16 # 
Flat Int32 # 
Flat Int64 # 
Flat Integer # 
Flat Natural # 
Flat Word # 
Flat Word8 # 
Flat Word16 # 
Flat Word32 # 
Flat Word64 # 
Flat () # 

Methods

encode :: () -> Encoding #

decode :: Get () #

size :: () -> NumBits -> NumBits #

Flat ShortByteString # 
Flat ByteString # 
Flat ByteString # 
Flat Text # 
Flat UTF16Text # 
Flat UTF8Text # 
Flat [Char] # 

Methods

encode :: [Char] -> Encoding #

decode :: Get [Char] #

size :: [Char] -> NumBits -> NumBits #

Flat a => Flat [a] # 

Methods

encode :: [a] -> Encoding #

decode :: Get [a] #

size :: [a] -> NumBits -> NumBits #

Flat a => Flat (Maybe a) # 

Methods

encode :: Maybe a -> Encoding #

decode :: Get (Maybe a) #

size :: Maybe a -> NumBits -> NumBits #

Flat a => Flat (Seq a) # 

Methods

encode :: Seq a -> Encoding #

decode :: Get (Seq a) #

size :: Seq a -> NumBits -> NumBits #

(Flat a, Flat b) => Flat (Either a b) # 

Methods

encode :: Either a b -> Encoding #

decode :: Get (Either a b) #

size :: Either a b -> NumBits -> NumBits #

(Flat a, Flat b) => Flat (a, b) # 

Methods

encode :: (a, b) -> Encoding #

decode :: Get (a, b) #

size :: (a, b) -> NumBits -> NumBits #

(Flat a, Flat b, Ord a) => Flat (Map a b) # 

Methods

encode :: Map a b -> Encoding #

decode :: Get (Map a b) #

size :: Map a b -> NumBits -> NumBits #

(Flat a, Flat b, Flat c) => Flat (a, b, c) # 

Methods

encode :: (a, b, c) -> Encoding #

decode :: Get (a, b, c) #

size :: (a, b, c) -> NumBits -> NumBits #

(Flat a, Flat b, Flat c, Flat d) => Flat (a, b, c, d) # 

Methods

encode :: (a, b, c, d) -> Encoding #

decode :: Get (a, b, c, d) #

size :: (a, b, c, d) -> NumBits -> NumBits #

(Flat a, Flat b, Flat c, Flat d, Flat e) => Flat (a, b, c, d, e) # 

Methods

encode :: (a, b, c, d, e) -> Encoding #

decode :: Get (a, b, c, d, e) #

size :: (a, b, c, d, e) -> NumBits -> NumBits #

(Flat a, Flat b, Flat c, Flat d, Flat e, Flat f) => Flat (a, b, c, d, e, f) # 

Methods

encode :: (a, b, c, d, e, f) -> Encoding #

decode :: Get (a, b, c, d, e, f) #

size :: (a, b, c, d, e, f) -> NumBits -> NumBits #

(Flat a, Flat b, Flat c, Flat d, Flat e, Flat f, Flat g) => Flat (a, b, c, d, e, f, g) # 

Methods

encode :: (a, b, c, d, e, f, g) -> Encoding #

decode :: Get (a, b, c, d, e, f, g) #

size :: (a, b, c, d, e, f, g) -> NumBits -> NumBits #