Copyright | (c) 2013 Leon P Smith |
---|---|
License | BSD3 |
Maintainer | https://github.com/blaze-builder |
Stability | stable |
Safe Haskell | Safe-Inferred |
Language | Haskell98 |
Blaze.ByteString.Builder.ByteString
Description
Synopsis
- writeByteString :: ByteString -> Write
- fromByteString :: ByteString -> Builder
- fromByteStringWith :: Int -> ByteString -> Builder
- copyByteString :: ByteString -> Builder
- insertByteString :: ByteString -> Builder
- fromLazyByteString :: ByteString -> Builder
- fromLazyByteStringWith :: Int -> ByteString -> Builder
- copyLazyByteString :: ByteString -> Builder
- insertLazyByteString :: ByteString -> Builder
Strict bytestrings
writeByteString :: ByteString -> Write Source #
Write a strict ByteString
to a buffer.
fromByteString :: ByteString -> Builder Source #
Arguments
:: Int | Maximal number of bytes to copy. |
-> ByteString | Strict |
-> Builder | Resulting |
Construct a Builder
that copies the strict ByteString
s, if it is
smaller than the threshold, and inserts it directly otherwise.
For example, fromByteStringWith 1024
copies strict ByteString
s whose size
is less or equal to 1kb, and inserts them directly otherwise. This implies
that the average chunk-size of the generated lazy ByteString
may be as
low as 513 bytes, as there could always be just a single byte between the
directly inserted 1025 byte, strict ByteString
s.
copyByteString :: ByteString -> Builder Source #
insertByteString :: ByteString -> Builder Source #
Construct a Builder
that always inserts the strict ByteString
directly as a chunk.
This implies flushing the output buffer, even if it contains just
a single byte. You should therefore use insertByteString
only for large
(> 8kb
) ByteString
s. Otherwise, the generated chunks are too
fragmented to be processed efficiently afterwards.
Lazy bytestrings
fromLazyByteString :: ByteString -> Builder Source #
fromLazyByteStringWith :: Int -> ByteString -> Builder Source #
Construct a Builder
that uses the thresholding strategy of fromByteStringWith
for each chunk of the lazy ByteString
.
copyLazyByteString :: ByteString -> Builder Source #
Construct a Builder
that copies the lazy ByteString
.
insertLazyByteString :: ByteString -> Builder Source #
Construct a Builder
that inserts all chunks of the lazy ByteString
directly.