Put merely lifts Builder into a Writer monad, applied to ().
Modulecereal-0.5.8.3Haskell2010
Data.Serialize.Put
The Put monad. A monad for efficiently constructing bytestrings.
- 3 types
- 45 values
- Packagecereal-0.5.8.3
- Exports48
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourcePut.hs
The Put type
10 declarationsInstances5Monad, Functor, Applicative, Semigroup, Monoid
Monad PutMDefined in cereal-0.5.8.3 · Data.Serialize.PutFunctor PutMDefined in cereal-0.5.8.3 · Data.Serialize.PutApplicative PutMDefined in cereal-0.5.8.3 · Data.Serialize.PutSemigroup (PutM ())Defined in cereal-0.5.8.3 · Data.Serialize.PutMonoid (PutM ())Defined in cereal-0.5.8.3 · Data.Serialize.Put
Run the Put monad with a serialiser
Run the Put monad with a serialiser and get its result
Run the Put monad with a serialiser
Run the Put monad with a serialiser
Run the Put monad
Flushing the implicit parse state
1 declarationPop the ByteString we have constructed so far, if any, yielding a new chunk in the result ByteString.
Primitives
5 declarationsEfficiently write a byte into the output buffer
Efficiently write an int into the output buffer
An efficient primitive to write a strict ByteString into the output buffer. It flushes the current buffer, and writes the argument into a new chunk.
Write a lazy ByteString efficiently, simply appending the lazy ByteString chunks to the output buffer
Big-endian primitives
6 declarationsWrite a Word16 in big endian format
Write a Word32 in big endian format
Write a Word64 in big endian format
Write a Int16 in big endian format
Write a Int32 in big endian format
Write a Int64 in big endian format
Little-endian primitives
6 declarationsWrite a Word16 in little endian format
Write a Word32 in little endian format
Write a Word64 in little endian format
Write a Int16 in little endian format
Write a Int32 in little endian format
Write a Int64 in little endian format
Host-endian, unaligned writes
8 declarationsO(1). Write a single native machine word. The word is written in host order, host endian form, for the machine you're on. On a 64 bit machine the Word is an 8 byte value, on a 32 bit machine, 4 bytes. Values written this way are not portable to different endian or word sized machines, without conversion.
O(1). Write a Word16 in native host order and host endianness.
For portability issues see putWordhost.
O(1). Write a Word32 in native host order and host endianness.
For portability issues see putWordhost.
O(1). Write a Word64 in native host order
On a 32 bit machine we write two host order Word32s, in big endian form.
For portability issues see putWordhost.
O(1). Write a single native machine int. The int is written in host order, host endian form, for the machine you're on. On a 64 bit machine the Int is an 8 byte value, on a 32 bit machine, 4 bytes. Values written this way are not portable to different endian or int sized machines, without conversion.
O(1). Write a Int16 in native host order and host endianness.
For portability issues see putInthost.
O(1). Write a Int32 in native host order and host endianness.
For portability issues see putInthost.
O(1). Write a Int64 in native host order
On a 32 bit machine we write two host order Int32s, in big endian form.
For portability issues see putInthost.
Containers
12 declarationsPut a nested structure by first putting a length field and then putting the encoded value.