 | binary-0.3: Binary serialization for Haskell values using lazy ByteStrings | Contents | Index |
|
Data.Binary.Put | Portability | Portable to Hugs and GHC. Requires MPTCs | Stability | stable | Maintainer | Lennart Kolmodin <[email protected]> |
|
|
|
|
|
Description |
The Put monad. A monad for efficiently constructing lazy bytestrings.
|
|
Synopsis |
|
|
|
|
The Put type
|
|
type Put = PutM () |
Put merely lifts Builder into a Write monad, applied to ().
|
|
newtype PutM a |
The PutM type. A Writer monad over the efficient Builder monoid.
| Constructors | | Instances | |
|
|
runPut :: Put -> ByteString |
Run the Put monad with a serialiser
|
|
Flushing the implicit parse state
|
|
flush :: Put |
Pop the ByteString we have constructed so far, if any, yielding a
new chunk in the result ByteString.
|
|
Primitives
|
|
putWord8 :: Word8 -> Put |
Efficiently write a byte into the output buffer
|
|
putByteString :: ByteString -> Put |
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.
|
|
putLazyByteString :: ByteString -> Put |
Write a lazy ByteString efficiently, simply appending the lazy
ByteString chunks to the output buffer
|
|
Big-endian primitives
|
|
putWord16be :: Word16 -> Put |
Write a Word16 in big endian format
|
|
putWord32be :: Word32 -> Put |
Write a Word32 in big endian format
|
|
putWord64be :: Word64 -> Put |
Write a Word64 in big endian format
|
|
Little-endian primitives
|
|
putWord16le :: Word16 -> Put |
Write a Word16 in little endian format
|
|
putWord32le :: Word32 -> Put |
Write a Word32 in little endian format
|
|
putWord64le :: Word64 -> Put |
Write a Word64 in little endian format
|
|
Host-endian, unaligned writes
|
|
putWordhost :: Word -> Put |
O(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.
|
|
putWord16host :: Word16 -> Put |
O(1). Write a Word16 in native host order and host endianness.
For portability issues see putWordhost.
|
|
putWord32host :: Word32 -> Put |
O(1). Write a Word32 in native host order and host endianness.
For portability issues see putWordhost.
|
|
putWord64host :: Word64 -> Put |
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.
|
|
Produced by Haddock version 0.8 |