| Portability | tested on GHC only |
|---|---|
| Stability | experimental |
| Maintainer | Simon Meier <iridcode@gmail.com> |
| Safe Haskell | Safe-Infered |
Blaze.ByteString.Builder.Int
Contents
Description
Writes and Builders for serializing integers.
See Blaze.ByteString.Builder.Word for information about how to best write several integers at once.
- writeInt8 :: Int8 -> Write
- writeInt16be :: Int16 -> Write
- writeInt32be :: Int32 -> Write
- writeInt64be :: Int64 -> Write
- writeInt16le :: Int16 -> Write
- writeInt32le :: Int32 -> Write
- writeInt64le :: Int64 -> Write
- writeInthost :: Int -> Write
- writeInt16host :: Int16 -> Write
- writeInt32host :: Int32 -> Write
- writeInt64host :: Int64 -> Write
- fromInt8 :: Int8 -> Builder
- fromInt8s :: [Int8] -> Builder
- fromInt16be :: Int16 -> Builder
- fromInt32be :: Int32 -> Builder
- fromInt64be :: Int64 -> Builder
- fromInt32sbe :: [Int32] -> Builder
- fromInt16sbe :: [Int16] -> Builder
- fromInt64sbe :: [Int64] -> Builder
- fromInt16le :: Int16 -> Builder
- fromInt32le :: Int32 -> Builder
- fromInt64le :: Int64 -> Builder
- fromInt16sle :: [Int16] -> Builder
- fromInt32sle :: [Int32] -> Builder
- fromInt64sle :: [Int64] -> Builder
- fromInthost :: Int -> Builder
- fromInt16host :: Int16 -> Builder
- fromInt32host :: Int32 -> Builder
- fromInt64host :: Int64 -> Builder
- fromIntshost :: [Int] -> Builder
- fromInt16shost :: [Int16] -> Builder
- fromInt32shost :: [Int32] -> Builder
- fromInt64shost :: [Int64] -> Builder
Writing integers to a buffer
Big-endian writes
writeInt16be :: Int16 -> WriteSource
Write an Int16 in big endian format.
writeInt32be :: Int32 -> WriteSource
Write an Int32 in big endian format.
writeInt64be :: Int64 -> WriteSource
Write an Int64 in big endian format.
Little-endian writes
writeInt16le :: Int16 -> WriteSource
Write an Int16 in little endian format.
writeInt32le :: Int32 -> WriteSource
Write an Int32 in little endian format.
writeInt64le :: Int64 -> WriteSource
Write an Int64 in little endian format.
Host-endian writes
writeInthost :: Int -> WriteSource
writeInt16host :: Int16 -> WriteSource
Write an Int16 in native host order and host endianness.
writeInt32host :: Int32 -> WriteSource
Write an Int32 in native host order and host endianness.
writeInt64host :: Int64 -> WriteSource
Write an Int64 in native host order and host endianness.
Creating builders from integers
We provide serialization functions both for singleton integers as well as
for lists of integers. Using these list serialization functions is much faster
than using mconcat . map fromInt<n>, as the list serialization
functions use a tighter inner loop.
Big-endian serialization
fromInt16be :: Int16 -> BuilderSource
Serialize an Int16 in big endian format.
fromInt32be :: Int32 -> BuilderSource
Serialize an Int32 in big endian format.
fromInt64be :: Int64 -> BuilderSource
Serialize an Int64 in big endian format.
fromInt32sbe :: [Int32] -> BuilderSource
Serialize a list of Int32s in big endian format.
fromInt16sbe :: [Int16] -> BuilderSource
Serialize a list of Int16s in big endian format.
fromInt64sbe :: [Int64] -> BuilderSource
Serialize a list of Int64s in big endian format.
Little-endian serialization
fromInt16le :: Int16 -> BuilderSource
Serialize an Int16 in little endian format.
fromInt32le :: Int32 -> BuilderSource
Serialize an Int32 in little endian format.
fromInt64le :: Int64 -> BuilderSource
Serialize an Int64 in little endian format.
fromInt16sle :: [Int16] -> BuilderSource
Serialize a list of Int16s in little endian format.
fromInt32sle :: [Int32] -> BuilderSource
Serialize a list of Int32s in little endian format.
fromInt64sle :: [Int64] -> BuilderSource
Serialize a list of Int64s in little endian format.
Host-endian serialization
fromInthost :: Int -> BuilderSource
Serialize a single native machine Int. The Int is serialized 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 integer sized machines, without
conversion.
fromInt16host :: Int16 -> BuilderSource
Write an Int16 in native host order and host endianness.
fromInt32host :: Int32 -> BuilderSource
Write an Int32 in native host order and host endianness.
fromInt64host :: Int64 -> BuilderSource
Write an Int64 in native host order and host endianness.
fromIntshost :: [Int] -> BuilderSource
Serialize a list of Ints.
See fromInthost for usage considerations.
fromInt16shost :: [Int16] -> BuilderSource
Write a list of Int16s in native host order and host endianness.
fromInt32shost :: [Int32] -> BuilderSource
Write a list of Int32s in native host order and host endianness.
fromInt64shost :: [Int64] -> BuilderSource
Write a list of Int64s in native host order and host endianness.