flat-0.3.4: 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 Source #

Calculate size of an instance of IsMap

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

Encode an instance of IsMap, as a list

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

Decode an instance of IsMap, as a list

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

Calculate size of an instance of IsSequence

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

Encode an instance of IsSequence, as an array

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

Decode an instance of IsSequence, as an array

Orphan instances

Flat Bool Source # 
Instance details

Flat Char Source # 
Instance details

Flat Double Source # 
Instance details

Flat Float Source # 
Instance details

Flat Int Source # 
Instance details

Flat Int8 Source # 
Instance details

Flat Int16 Source # 
Instance details

Flat Int32 Source # 
Instance details

Flat Int64 Source # 
Instance details

Flat Integer Source # 
Instance details

Flat Natural Source # 
Instance details

Flat Word Source # 
Instance details

Flat Word8 Source # 
Instance details

Flat Word16 Source # 
Instance details

Flat Word32 Source # 
Instance details

Flat Word64 Source # 
Instance details

Flat () Source # 
Instance details

Methods

encode :: () -> Encoding Source #

decode :: Get () Source #

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

Flat ShortByteString Source # 
Instance details

Flat ByteString Source # 
Instance details

Flat ByteString Source # 
Instance details

Flat Text Source # 
Instance details

Flat UTF16Text Source # 
Instance details

Flat UTF8Text Source # 
Instance details

Flat [Char] Source # 
Instance details

Flat a => Flat [a] Source # 
Instance details

Methods

encode :: [a] -> Encoding Source #

decode :: Get [a] Source #

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

Flat a => Flat (Maybe a) Source # 
Instance details

Flat a => Flat (Seq a) Source # 
Instance details

(Flat a, Flat b) => Flat (Either a b) Source # 
Instance details

(Flat a, Flat b) => Flat (a, b) Source # 
Instance details

Methods

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

decode :: Get (a, b) Source #

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

(Flat a, Flat b, Ord a) => Flat (Map a b) Source # 
Instance details

Methods

encode :: Map a b -> Encoding Source #

decode :: Get (Map a b) Source #

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

(Flat a, Flat b, Flat c) => Flat (a, b, c) Source # 
Instance details

Methods

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

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

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

(Flat a, Flat b, Flat c, Flat d) => Flat (a, b, c, d) Source # 
Instance details

Methods

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

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

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

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

Methods

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

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

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

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

Methods

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

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

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

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

Methods

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

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

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