|Portability||portable to Hugs and GHC.|
|Maintainer||Adam Langley <email@example.com>|
This is a strict version of the Get monad from the binary package. It's
pretty much just a copy and paste job from the original source code.
The binary team are currently unsure about their future plans w.r.t.
strictness, so this is a stop gap measure.
To use, write a function in the Get monad:
import Data.Binary.Strict.Get as BinStrict
import Data.ByteString as BS
parse :: BinStrict.Get
parse = getWord16be
main = print $ runGet parse $ BS.pack [1, 1]
This results in a tuple of (Right 257, "") (where the second element is
just the remaining data after the parser has run)
|The Get type
|Run a parser on the given input and return the result (either an error
string from a call to fail, or the parsing result) and the remainder of
of the input.
|Run ga, but return without consuming its input.
Fails if ga fails.
|Like lookAhead, but consume the input if gma returns 'Just _'.
Fails if gma fails.
|Like lookAhead, but consume the input if gea returns 'Right _'.
Fails if gea fails.
|Skip ahead n bytes. Fails if fewer than n bytes are available.
|Get the total number of bytes read to this point.
|Get the number of remaining unparsed bytes.
Useful for checking whether all input has been consumed.
|Test whether all input has been consumed,
i.e. there are no remaining unparsed bytes.
|Parsing particular types
|An efficient get method for strict ByteStrings. Fails if fewer
than n bytes are left in the input.
|Host-endian, unaligned reads
|Produced by Haddock version 2.4.2|