haskus-binary-1.5: Haskus binary format manipulation

Safe HaskellNone
LanguageHaskell2010

Haskus.Binary.Serialize.Get

Description

Binary deserialization of Haskell values

Synopsis

Documentation

class Monad m => GetMonad m where Source #

Monad which can read a sequence of bytes

Methods

getWord8 :: m Word8 Source #

Read a Word8

getWord16 :: m Word16 Source #

Read a Word16 with host endianness

getWord32 :: m Word32 Source #

Read a Word32 with host endianness

getWord64 :: m Word64 Source #

Read a Word64 with host endianness

getWord8s :: Word -> m [Word8] Source #

Read some Word8

getWord16s :: Word -> m [Word16] Source #

Read some Word16 with host endianness

getWord32s :: Word -> m [Word32] Source #

Read some Word32 with host endianness

getWord64s :: Word -> m [Word64] Source #

Read some Word64 with host endianness

getBuffer :: Word -> m BufferI Source #

Read the given amount of bytes into a new buffer

getBufferInto :: Word -> Buffer Mutable pin gc heap -> Maybe Word -> m () Source #

Read the given amount of bytes into the specified buffer at the optionally specified offset

getSkipBytes :: Word -> m () Source #

Skip the given amount of bytes

Instances
MonadIO m => GetMonad (FileGetT m) Source # 
Instance details

Defined in Haskus.Binary.Serialize.File

MonadIO m => GetMonad (BufferGetT (Buffer mut pin gc heap) m) Source # 
Instance details

Defined in Haskus.Binary.Serialize.Buffer

Methods

getWord8 :: BufferGetT (Buffer mut pin gc heap) m Word8 Source #

getWord16 :: BufferGetT (Buffer mut pin gc heap) m Word16 Source #

getWord32 :: BufferGetT (Buffer mut pin gc heap) m Word32 Source #

getWord64 :: BufferGetT (Buffer mut pin gc heap) m Word64 Source #

getWord8s :: Word -> BufferGetT (Buffer mut pin gc heap) m [Word8] Source #

getWord16s :: Word -> BufferGetT (Buffer mut pin gc heap) m [Word16] Source #

getWord32s :: Word -> BufferGetT (Buffer mut pin gc heap) m [Word32] Source #

getWord64s :: Word -> BufferGetT (Buffer mut pin gc heap) m [Word64] Source #

getBuffer :: Word -> BufferGetT (Buffer mut pin gc heap) m BufferI Source #

getBufferInto :: Word -> Buffer Mutable pin0 gc0 heap0 -> Maybe Word -> BufferGetT (Buffer mut pin gc heap) m () Source #

getSkipBytes :: Word -> BufferGetT (Buffer mut pin gc heap) m () Source #

getFloat32 :: GetMonad m => m Float32 Source #

Get a Float32 with host order

getFloat32LE :: GetMonad m => m Float32 Source #

Get a Float32 with little-endian order

getFloat32BE :: GetMonad m => m Float32 Source #

Get a Float32 with big-endian order

getFloat64 :: GetMonad m => m Float64 Source #

Get a Float64 with host order

getFloat64LE :: GetMonad m => m Float64 Source #

Get a Float64 with little-endian order

getFloat64BE :: GetMonad m => m Float64 Source #

Get a Float64 with big-endian order

getWord16BE :: GetMonad m => m Word16 Source #

Read a Word16 with big-endian order

getWord32BE :: GetMonad m => m Word32 Source #

Read a Word32 with big-endian order

getWord64BE :: GetMonad m => m Word64 Source #

Read a Word64 with big-endian order

getWord16LE :: GetMonad m => m Word16 Source #

Read a Word16 with little-endian order

getWord32LE :: GetMonad m => m Word32 Source #

Read a Word32 with little-endian order

getWord64LE :: GetMonad m => m Word64 Source #

Read a Word64 with little-endian order

getWord16BEs :: GetMonad m => Word -> m [Word16] Source #

Read some Word16 with big-endian order

getWord32BEs :: GetMonad m => Word -> m [Word32] Source #

Read some Word32 with big-endian order

getWord64BEs :: GetMonad m => Word -> m [Word64] Source #

Read some Word64 with big-endian order

getWord16LEs :: GetMonad m => Word -> m [Word16] Source #

Read some Word16 with little-endian order

getWord32LEs :: GetMonad m => Word -> m [Word32] Source #

Read some Word32 with little-endian order

getWord64LEs :: GetMonad m => Word -> m [Word64] Source #

Read some Word64 with little-endian order