text-0.10.0.0: An efficient packed Unicode text type.Source codeContentsIndex
Data.Text.Lazy.Builder
Portabilityportable to Hugs and GHC
Stabilityexperimental
MaintainerJohan Tibell <johan.tibell@gmail.com>
Contents
The Builder type
Constructing Builders
Flushing the buffer state
Description
Efficient construction of lazy texts.
Synopsis
data Builder
toLazyText :: Builder -> Text
toLazyTextWith :: Int -> Builder -> Text
singleton :: Char -> Builder
fromText :: Text -> Builder
fromLazyText :: Text -> Builder
flush :: Builder
The Builder type
data Builder Source

A Builder is an efficient way to build lazy Texts. There are several functions for constructing Builders, but only one to inspect them: to extract any data, you have to turn them into lazy Texts using toLazyText.

Internally, a Builder constructs a lazy Text by filling byte arrays piece by piece. As each buffer is filled, it is 'popped' off, to become a new chunk of the resulting lazy Text. All this is hidden from the user of the Builder.

show/hide Instances
toLazyText :: Builder -> TextSource
O(n). Extract a lazy Text from a Builder with a default buffer size. The construction work takes place if and when the relevant part of the lazy Text is demanded.
toLazyTextWith :: Int -> Builder -> TextSource

O(n). Extract a lazy Text from a Builder, using the given size for the initial buffer. The construction work takes place if and when the relevant part of the lazy Text is demanded.

If the initial buffer is too small to hold all data, subsequent buffers will be the default buffer size.

Constructing Builders
singleton :: Char -> BuilderSource

O(1). A Builder taking a single character, satisfying

fromText :: Text -> BuilderSource

O(1). A Builder taking a Text, satisfying

fromLazyText :: Text -> BuilderSource

O(1). A Builder taking a lazy Text, satisfying

Flushing the buffer state
flush :: BuilderSource
O(1). Pop the Text we have constructed so far, if any, yielding a new chunk in the result lazy Text.
Produced by Haddock version 2.6.0