Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- type PutM s i o m a = PutS s (ConduitT i o m) a
- class (EncodingState s, EncodingToken s ~ Word64, EncodingBytesWrote s) => DefaultEncodingState s
- type Put = forall s i m. (DefaultEncodingState s, Monad m) => PutM s i ByteString m ()
- runPut :: PutM ByteOffset i o m () -> ConduitT i o m ()
- bytesWrote :: EncodingBytesWrote s => PutM s i o m Word64
- castPut :: (EncodingState s, Monad m) => EncodingToken s -> Put -> PutM s i ByteString m ()
- putWord8 :: (EncodingState s, Num (EncodingToken s), Monad m) => Word8 -> PutM s i ByteString m ()
- putInt8 :: (EncodingState s, Num (EncodingToken s), Monad m) => Int8 -> PutM s i ByteString m ()
- putByteString :: (EncodingState s, Num (EncodingToken s), Monad m) => ByteString -> PutM s i ByteString m ()
- putLazyByteString :: (EncodingState s, Num (EncodingToken s), Monad m) => ByteString -> PutM s i ByteString m ()
- putShortByteString :: (EncodingState s, Num (EncodingToken s), Monad m) => ShortByteString -> PutM s i ByteString m ()
- putWord16be :: (EncodingState s, Num (EncodingToken s), Monad m) => Word16 -> PutM s i ByteString m ()
- putWord32be :: (EncodingState s, Num (EncodingToken s), Monad m) => Word32 -> PutM s i ByteString m ()
- putWord64be :: (EncodingState s, Num (EncodingToken s), Monad m) => Word64 -> PutM s i ByteString m ()
- putInt16be :: (EncodingState s, Num (EncodingToken s), Monad m) => Int16 -> PutM s i ByteString m ()
- putInt32be :: (EncodingState s, Num (EncodingToken s), Monad m) => Int32 -> PutM s i ByteString m ()
- putInt64be :: (EncodingState s, Num (EncodingToken s), Monad m) => Int64 -> PutM s i ByteString m ()
- putFloatbe :: (EncodingState s, Num (EncodingToken s), Monad m) => Float -> PutM s i ByteString m ()
- putDoublebe :: (EncodingState s, Num (EncodingToken s), Monad m) => Double -> PutM s i ByteString m ()
- putWord16le :: (EncodingState s, Num (EncodingToken s), Monad m) => Word16 -> PutM s i ByteString m ()
- putWord32le :: (EncodingState s, Num (EncodingToken s), Monad m) => Word32 -> PutM s i ByteString m ()
- putWord64le :: (EncodingState s, Num (EncodingToken s), Monad m) => Word64 -> PutM s i ByteString m ()
- putInt16le :: (EncodingState s, Num (EncodingToken s), Monad m) => Int16 -> PutM s i ByteString m ()
- putInt32le :: (EncodingState s, Num (EncodingToken s), Monad m) => Int32 -> PutM s i ByteString m ()
- putInt64le :: (EncodingState s, Num (EncodingToken s), Monad m) => Int64 -> PutM s i ByteString m ()
- putFloatle :: (EncodingState s, Num (EncodingToken s), Monad m) => Float -> PutM s i ByteString m ()
- putDoublele :: (EncodingState s, Num (EncodingToken s), Monad m) => Double -> PutM s i ByteString m ()
- putWordhost :: (EncodingState s, Num (EncodingToken s), Monad m) => Word -> PutM s i ByteString m ()
- putWord16host :: (EncodingState s, Num (EncodingToken s), Monad m) => Word16 -> PutM s i ByteString m ()
- putWord32host :: (EncodingState s, Num (EncodingToken s), Monad m) => Word32 -> PutM s i ByteString m ()
- putWord64host :: (EncodingState s, Num (EncodingToken s), Monad m) => Word64 -> PutM s i ByteString m ()
- putInthost :: (EncodingState s, Num (EncodingToken s), Monad m) => Int -> PutM s i ByteString m ()
- putInt16host :: (EncodingState s, Num (EncodingToken s), Monad m) => Int16 -> PutM s i ByteString m ()
- putInt32host :: (EncodingState s, Num (EncodingToken s), Monad m) => Int32 -> PutM s i ByteString m ()
- putInt64host :: (EncodingState s, Num (EncodingToken s), Monad m) => Int64 -> PutM s i ByteString m ()
- putFloathost :: (EncodingState s, Num (EncodingToken s), Monad m) => Float -> PutM s i ByteString m ()
- putDoublehost :: (EncodingState s, Num (EncodingToken s), Monad m) => Double -> PutM s i ByteString m ()
Documentation
type PutM s i o m a = PutS s (ConduitT i o m) a Source #
A ConduitT
with wrappers supposed to a binary or text serialization.
class (EncodingState s, EncodingToken s ~ Word64, EncodingBytesWrote s) => DefaultEncodingState s Source #
Instances
(EncodingState s, EncodingToken s ~ Word64, EncodingBytesWrote s) => DefaultEncodingState s Source # | |
Defined in Data.Conduit.Parsers.Binary.Put |
type Put = forall s i m. (DefaultEncodingState s, Monad m) => PutM s i ByteString m () Source #
The shortening of PutM
for the most common use case of binary serialization.
bytesWrote :: EncodingBytesWrote s => PutM s i o m Word64 Source #
Get the total number of bytes wrote to this point.
Can be used with mfix
to result bytes count prediction:
putWithSize :: (DefaultEncodingState s, Monad m) => PutM s i S.ByteString m () -> PutM s i S.ByteString m () putWithSize !p = void $ mfix $ \size -> do putWord64le size before <- bytesWrote p after <- bytesWrote return $ after - before
castPut :: (EncodingState s, Monad m) => EncodingToken s -> Put -> PutM s i ByteString m () Source #
putWord8 :: (EncodingState s, Num (EncodingToken s), Monad m) => Word8 -> PutM s i ByteString m () Source #
Write a byte.
putInt8 :: (EncodingState s, Num (EncodingToken s), Monad m) => Int8 -> PutM s i ByteString m () Source #
Write a signed byte.
putByteString :: (EncodingState s, Num (EncodingToken s), Monad m) => ByteString -> PutM s i ByteString m () Source #
Write a strict ByteString
.
putLazyByteString :: (EncodingState s, Num (EncodingToken s), Monad m) => ByteString -> PutM s i ByteString m () Source #
Write a lazy ByteString
.
putShortByteString :: (EncodingState s, Num (EncodingToken s), Monad m) => ShortByteString -> PutM s i ByteString m () Source #
Write a ShortByteString
.
putWord16be :: (EncodingState s, Num (EncodingToken s), Monad m) => Word16 -> PutM s i ByteString m () Source #
Write a Word16
in big endian format.
putWord32be :: (EncodingState s, Num (EncodingToken s), Monad m) => Word32 -> PutM s i ByteString m () Source #
Write a Word32
in big endian format.
putWord64be :: (EncodingState s, Num (EncodingToken s), Monad m) => Word64 -> PutM s i ByteString m () Source #
Write a Word64
in big endian format.
putInt16be :: (EncodingState s, Num (EncodingToken s), Monad m) => Int16 -> PutM s i ByteString m () Source #
Write an Int16
in big endian format.
putInt32be :: (EncodingState s, Num (EncodingToken s), Monad m) => Int32 -> PutM s i ByteString m () Source #
Write an Int32
in big endian format.
putInt64be :: (EncodingState s, Num (EncodingToken s), Monad m) => Int64 -> PutM s i ByteString m () Source #
Write an Int64
in big endian format.
putFloatbe :: (EncodingState s, Num (EncodingToken s), Monad m) => Float -> PutM s i ByteString m () Source #
Write a Float
in big endian IEEE-754 format.
putDoublebe :: (EncodingState s, Num (EncodingToken s), Monad m) => Double -> PutM s i ByteString m () Source #
Write a Double
in big endian IEEE-754 format.
putWord16le :: (EncodingState s, Num (EncodingToken s), Monad m) => Word16 -> PutM s i ByteString m () Source #
Write a Word16
in little endian format.
putWord32le :: (EncodingState s, Num (EncodingToken s), Monad m) => Word32 -> PutM s i ByteString m () Source #
Write a Word32
in little endian format.
putWord64le :: (EncodingState s, Num (EncodingToken s), Monad m) => Word64 -> PutM s i ByteString m () Source #
Write a Word64
in little endian format.
putInt16le :: (EncodingState s, Num (EncodingToken s), Monad m) => Int16 -> PutM s i ByteString m () Source #
Write an Int16
in little endian format.
putInt32le :: (EncodingState s, Num (EncodingToken s), Monad m) => Int32 -> PutM s i ByteString m () Source #
Write an Int32
in little endian format.
putInt64le :: (EncodingState s, Num (EncodingToken s), Monad m) => Int64 -> PutM s i ByteString m () Source #
Write an Int64
in little endian format.
putFloatle :: (EncodingState s, Num (EncodingToken s), Monad m) => Float -> PutM s i ByteString m () Source #
Write a Float
in little endian IEEE-754 format.
putDoublele :: (EncodingState s, Num (EncodingToken s), Monad m) => Double -> PutM s i ByteString m () Source #
Write a Double
in little endian IEEE-754 format.
putWordhost :: (EncodingState s, Num (EncodingToken s), Monad m) => Word -> PutM s i ByteString m () Source #
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 :: (EncodingState s, Num (EncodingToken s), Monad m) => Word16 -> PutM s i ByteString m () Source #
Write a Word16
in native host order and host endianness. For portability issues see putWordhost
.
putWord32host :: (EncodingState s, Num (EncodingToken s), Monad m) => Word32 -> PutM s i ByteString m () Source #
Write a Word32
in native host order and host endianness. For portability issues see putWordhost
.
putWord64host :: (EncodingState s, Num (EncodingToken s), Monad m) => Word64 -> PutM s i ByteString m () Source #
Write a Word64
in native host order On a 32 bit machine we write two host order Word32
s,
in big endian form. For portability issues see putWordhost
.
putInthost :: (EncodingState s, Num (EncodingToken s), Monad m) => Int -> PutM s i ByteString m () Source #
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 Int
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.
putInt16host :: (EncodingState s, Num (EncodingToken s), Monad m) => Int16 -> PutM s i ByteString m () Source #
Write an Int16
in native host order and host endianness. For portability issues see putInthost
.
putInt32host :: (EncodingState s, Num (EncodingToken s), Monad m) => Int32 -> PutM s i ByteString m () Source #
Write an Int32
in native host order and host endianness. For portability issues see putInthost
.
putInt64host :: (EncodingState s, Num (EncodingToken s), Monad m) => Int64 -> PutM s i ByteString m () Source #
putFloathost :: (EncodingState s, Num (EncodingToken s), Monad m) => Float -> PutM s i ByteString m () Source #
Write a Float
in native in IEEE-754 format and host endian.
putDoublehost :: (EncodingState s, Num (EncodingToken s), Monad m) => Double -> PutM s i ByteString m () Source #
Write a Double
in native in IEEE-754 format and host endian.