blaze-builder-0.2.1.3: Efficient buffered output.ContentsIndex
Blaze.ByteString.Builder.Internal.Types
Portabilitytested on GHC only
Stabilityexperimental
MaintainerSimon Meier <iridcode@gmail.com>
Description
Core types and functions for the Builder monoid and the Put monad based based on the 'blaze-builder' library by Jasper van der Jeugt and Simon Meier.
Synopsis
data BufRange = BufRange !(Ptr Word8) !(Ptr Word8)
data BuildSignal a
= Done !(Ptr Word8) a
| BufferFull !Int !(Ptr Word8) !(BuildStep a)
| InsertByteString !(Ptr Word8) !ByteString !(BuildStep a)
newtype BuildStep a = BuildStep {
runBuildStep :: BufRange -> IO (BuildSignal a)
}
done :: Ptr Word8 -> a -> BuildSignal a
bufferFull :: Int -> Ptr Word8 -> (BufRange -> IO (BuildSignal a)) -> BuildSignal a
insertByteString :: Ptr Word8 -> ByteString -> (BufRange -> IO (BuildSignal a)) -> BuildSignal a
buildStep :: (BufRange -> IO (BuildSignal a)) -> BuildStep a
newtype Builder = Builder {
unBuilder :: forall r. BuildStep r -> BuildStep r
}
newtype Put a = Put {
unPut :: forall r. (a -> BuildStep r) -> BuildStep r
}
putBuildStepCont :: (forall r. (a -> BufRange -> IO (BuildSignal r)) -> BufRange -> IO (BuildSignal r)) -> Put a
fromBuildStepCont :: (forall r. (BufRange -> IO (BuildSignal r)) -> BufRange -> IO (BuildSignal r)) -> Builder
putBuilder :: Builder -> Put ()
fromPut :: Put a -> Builder
Documentation
data BufRange
Constructors
BufRange !(Ptr Word8) !(Ptr Word8)
data BuildSignal a
Constructors
Done !(Ptr Word8) a
BufferFull !Int !(Ptr Word8) !(BuildStep a)
InsertByteString !(Ptr Word8) !ByteString !(BuildStep a)
newtype BuildStep a
Constructors
BuildStep
runBuildStep :: BufRange -> IO (BuildSignal a)
done :: Ptr Word8 -> a -> BuildSignal a
bufferFull :: Int -> Ptr Word8 -> (BufRange -> IO (BuildSignal a)) -> BuildSignal a
insertByteString :: Ptr Word8 -> ByteString -> (BufRange -> IO (BuildSignal a)) -> BuildSignal a
buildStep :: (BufRange -> IO (BuildSignal a)) -> BuildStep a
newtype Builder
Constructors
Builder
unBuilder :: forall r. BuildStep r -> BuildStep r
show/hide Instances
newtype Put a
Constructors
Put
unPut :: forall r. (a -> BuildStep r) -> BuildStep r
show/hide Instances
putBuildStepCont :: (forall r. (a -> BufRange -> IO (BuildSignal r)) -> BufRange -> IO (BuildSignal r)) -> Put a
fromBuildStepCont :: (forall r. (BufRange -> IO (BuildSignal r)) -> BufRange -> IO (BuildSignal r)) -> Builder
putBuilder :: Builder -> Put ()
Put the given builder.
fromPut :: Put a -> Builder
Ignore the value of a put and only exploit its output side effect.
Produced by Haddock version 2.7.2