binary-0.5.1.0: Binary serialisation for Haskell values using lazy ByteStrings

Portability | portable to Hugs and GHC
Stability | experimental
Maintainer | Lennart Kolmodin <kolmodin@dtek.chalmers.se>
Safe Haskell | Trustworthy

Data.Binary.Builder.Internal

Contents

- Low-level construction of Builders

Description

A module containing semi-public `Builder` internals that exposes low level construction functions. Modules which extend the `Builder` system will need to use this module while ideally most users will be able to make do with the public interface modules.

Synopsis

- writeN :: Int -> (Ptr Word8 -> IO ()) -> Builder
- writeAtMost :: Int -> (Ptr Word8 -> IO Int) -> Builder

# Low-level construction of Builders

writeN :: Int -> (Ptr Word8 -> IO ()) -> Builder

Ensure that `n` bytes are available, and then use `f` to write exactly `n` bytes into memory.

writeAtMost :: Int -> (Ptr Word8 -> IO Int) -> Builder

Ensure that `n` bytes are available, and then use `f` to write at most `n` bytes into memory. `f` must return the actual number of bytes written.