-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | A highly-efficient but limited parser API specialised for bytestrings
--
-- A highly-efficient but limited parser API specialised for bytestrings
@package binary-parser
@version 0.5.7.2
module BinaryParser
-- | A highly-efficient parser specialised for strict ByteStrings.
--
-- Supports the roll-back and alternative branching on the basis of the
-- Alternative interface.
--
-- Does not generate fancy error-messages, which contributes to its
-- efficiency.
data BinaryParser a
-- | Apply a parser to bytes.
run :: BinaryParser a -> ByteString -> Either Text a
-- | Fail with a message.
failure :: Text -> BinaryParser a
-- | Consume a single byte.
byte :: BinaryParser Word8
-- | Consume a single byte, which satisfies the predicate.
matchingByte :: (Word8 -> Either Text a) -> BinaryParser a
-- | Consume an amount of bytes.
bytesOfSize :: Int -> BinaryParser ByteString
-- | Consume multiple bytes, which satisfy the predicate.
bytesWhile :: (Word8 -> Bool) -> BinaryParser ByteString
-- | Skip an amount of bytes.
unitOfSize :: Int -> BinaryParser ()
-- | Skip specific bytes, while failing if they don't match.
unitOfBytes :: ByteString -> BinaryParser ()
-- | Skip bytes, which satisfy the predicate.
unitWhile :: (Word8 -> Bool) -> BinaryParser ()
-- | Consume all the remaining bytes.
remainders :: BinaryParser ByteString
-- | Left-fold the bytes, terminating before the byte, on which the step
-- function returns Nothing.
fold :: (a -> Word8 -> Maybe a) -> a -> BinaryParser a
-- | Fail if the input hasn't ended.
endOfInput :: BinaryParser ()
-- | Run a subparser passing it a chunk of the current input of the
-- specified size.
sized :: Int -> BinaryParser a -> BinaryParser a
-- | Storable value of the given amount of bytes.
storableOfSize :: Storable a => Int -> BinaryParser a
-- | Big-endian word of 2 bytes.
beWord16 :: BinaryParser Word16
-- | Little-endian word of 2 bytes.
leWord16 :: BinaryParser Word16
-- | Big-endian word of 4 bytes.
beWord32 :: BinaryParser Word32
-- | Little-endian word of 4 bytes.
leWord32 :: BinaryParser Word32
-- | Big-endian word of 8 bytes.
beWord64 :: BinaryParser Word64
-- | Little-endian word of 8 bytes.
leWord64 :: BinaryParser Word64
-- | Integral number encoded in ASCII.
asciiIntegral :: Integral a => BinaryParser a
instance Control.Monad.Error.Class.MonadError Data.Text.Internal.Text BinaryParser.BinaryParser
instance GHC.Base.MonadPlus BinaryParser.BinaryParser
instance GHC.Base.Monad BinaryParser.BinaryParser
instance GHC.Base.Alternative BinaryParser.BinaryParser
instance GHC.Base.Applicative BinaryParser.BinaryParser
instance GHC.Base.Functor BinaryParser.BinaryParser
instance Control.Monad.Fail.MonadFail BinaryParser.BinaryParser