cereal-0.5.8.3: A binary serialization library
CopyrightLennart Kolmodin Galois Inc. 2009
LicenseBSD3-style (see LICENSE)
MaintainerTrevor Elliott <trevor@galois.com>
Stability
Portability
Safe HaskellNone
LanguageHaskell2010

Data.Serialize

Description

Synopsis

The Serialize class

class Serialize t where Source #

If your compiler has support for the DeriveGeneric and DefaultSignatures language extensions (ghc >= 7.2.1), the put and get methods will have default generic implementations.

To use this option, simply add a deriving Generic clause to your datatype and declare a Serialize instance for it without giving a definition for put and get .

Minimal complete definition

Nothing

Methods

put :: Putter t Source #

Encode a value in the Put monad.

default put :: (Generic t, GSerializePut (Rep t)) => Putter t Source #

get :: Get t Source #

Decode a value in the Get monad

default get :: (Generic t, GSerializeGet (Rep t)) => Get t Source #

Instances

Instances details
Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Methods

put :: Putter () Source #

get :: Get () Source #

Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Instance details

Defined in Data.Serialize

Methods

put :: Putter [a] Source #

get :: Get [a] Source #

Instance details

Defined in Data.Serialize

Methods

put :: Putter (Maybe a) Source #

get :: Get (Maybe a) Source #

Instance details

Defined in Data.Serialize

Methods

put :: Putter (Ratio a) Source #

get :: Get (Ratio a) Source #

Instance details

Defined in Data.Serialize

Methods

put :: Putter (First a) Source #

get :: Get (First a) Source #

Instance details

Defined in Data.Serialize

Methods

put :: Putter (Last a) Source #

get :: Get (Last a) Source #

Instance details

Defined in Data.Serialize

Methods

put :: Putter (Dual a) Source #

get :: Get (Dual a) Source #

Instance details

Defined in Data.Serialize

Methods

put :: Putter (Sum a) Source #

get :: Get (Sum a) Source #

Instance details

Defined in Data.Serialize

Methods

put :: Putter (Product a) Source #

get :: Get (Product a) Source #

Instance details

Defined in Data.Serialize

Methods

put :: Putter (IntMap e) Source #

get :: Get (IntMap e) Source #

Instance details

Defined in Data.Serialize

Methods

put :: Putter (Tree e) Source #

get :: Get (Tree e) Source #

Instance details

Defined in Data.Serialize

Methods

put :: Putter (Seq e) Source #

get :: Get (Seq e) Source #

(Ord a, Serialize a) => Serialize (Set a) Source #
Instance details

Defined in Data.Serialize

Methods

put :: Putter (Set a) Source #

get :: Get (Set a) Source #

Instance details

Defined in Data.Serialize

Methods

put :: Putter (Either a b) Source #

get :: Get (Either a b) Source #

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

Defined in Data.Serialize

Methods

put :: Putter (a, b) Source #

get :: Get (a, b) Source #

Instance details

Defined in Data.Serialize

Methods

put :: Putter (UArray i e) Source #

get :: Get (UArray i e) Source #

Instance details

Defined in Data.Serialize

Methods

put :: Putter (Array i e) Source #

get :: Get (Array i e) Source #

(Ord k, Serialize k, Serialize e) => Serialize (Map k e) Source #
Instance details

Defined in Data.Serialize

Methods

put :: Putter (Map k e) Source #

get :: Get (Map k e) Source #

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

Defined in Data.Serialize

Methods

put :: Putter (a, b, c) Source #

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

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

Defined in Data.Serialize

Methods

put :: Putter (a, b, c, d) Source #

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

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

Defined in Data.Serialize

Methods

put :: Putter (a, b, c, d, e) Source #

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

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

Defined in Data.Serialize

Methods

put :: Putter (a, b, c, d, e, f) Source #

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

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

Defined in Data.Serialize

Methods

put :: Putter (a, b, c, d, e, f, g) Source #

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

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

Defined in Data.Serialize

Methods

put :: Putter (a, b, c, d, e, f, g, h) Source #

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

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

Defined in Data.Serialize

Methods

put :: Putter (a, b, c, d, e, f, g, h, i) Source #

get :: Get (a, b, c, d, e, f, g, h, i) Source #

(Serialize a, Serialize b, Serialize c, Serialize d, Serialize e, Serialize f, Serialize g, Serialize h, Serialize i, Serialize j) => Serialize (a, b, c, d, e, f, g, h, i, j) Source #
Instance details

Defined in Data.Serialize

Methods

put :: Putter (a, b, c, d, e, f, g, h, i, j) Source #

get :: Get (a, b, c, d, e, f, g, h, i, j) Source #

Serialize serialisation

encode :: Serialize a => a -> ByteString Source #

Encode a value using binary serialization to a strict ByteString.

encodeLazy :: Serialize a => a -> ByteString Source #

Encode a value using binary serialization to a lazy ByteString.

decode :: Serialize a => ByteString -> Either String a Source #

Decode a value from a strict ByteString, reconstructing the original structure.

decodeLazy :: Serialize a => ByteString -> Either String a Source #

Decode a value from a lazy ByteString, reconstructing the original structure.

expect :: (Eq a, Serialize a) => a -> Get a Source #

Perform an action, failing if the read result does not match the argument provided.

module Data.Serialize.Get

module Data.Serialize.Put

module Data.Serialize.IEEE754

Generic deriving

class GSerializePut f where Source #

Methods

gPut :: Putter (f a) Source #

Instances

Instances details
GSerializePut (V1 :: Type -> Type) Source #

Always fails to serialize

Instance details

Defined in Data.Serialize

Methods

gPut :: Putter (V1 a) Source #

Instance details

Defined in Data.Serialize

Methods

gPut :: Putter (U1 a) Source #

Instance details

Defined in Data.Serialize

Methods

gPut :: Putter (K1 i a a0) Source #

(PutSum a, PutSum b, SumSize a, SumSize b) => GSerializePut (a :+: b) Source #
Instance details

Defined in Data.Serialize

Methods

gPut :: Putter ((a :+: b) a0) Source #

Instance details

Defined in Data.Serialize

Methods

gPut :: Putter ((a :*: b) a0) Source #

Instance details

Defined in Data.Serialize

Methods

gPut :: Putter (M1 i c a a0) Source #

class GSerializeGet f where Source #

Methods

gGet :: Get (f a) Source #

Instances

Instances details
GSerializeGet (V1 :: Type -> Type) Source #

Always fails to deserialize

Instance details

Defined in Data.Serialize

Methods

gGet :: Get (V1 a) Source #

Instance details

Defined in Data.Serialize

Methods

gGet :: Get (U1 a) Source #

Instance details

Defined in Data.Serialize

Methods

gGet :: Get (K1 i a a0) Source #

(GetSum a, GetSum b, SumSize a, SumSize b) => GSerializeGet (a :+: b) Source #
Instance details

Defined in Data.Serialize

Methods

gGet :: Get ((a :+: b) a0) Source #

Instance details

Defined in Data.Serialize

Methods

gGet :: Get ((a :*: b) a0) Source #

Instance details

Defined in Data.Serialize

Methods

gGet :: Get (M1 i c a a0) Source #

AltStyle によって変換されたページ (->オリジナル) /