Portability | tested on GHC only |
---|---|
Stability | experimental |
Maintainer | Simon Meier <iridcode@gmail.com> |
- 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 {}
- newtype Put a = Put {}
- 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 BuildSignal a Source
Done !(Ptr Word8) a | |
BufferFull !Int !(Ptr Word8) !(BuildStep a) | |
InsertByteString !(Ptr Word8) !ByteString !(BuildStep a) |
BuildStep | |
|
done :: Ptr Word8 -> a -> BuildSignal aSource
bufferFull :: Int -> Ptr Word8 -> (BufRange -> IO (BuildSignal a)) -> BuildSignal aSource
insertByteString :: Ptr Word8 -> ByteString -> (BufRange -> IO (BuildSignal a)) -> BuildSignal aSource
putBuildStepCont :: (forall r. (a -> BufRange -> IO (BuildSignal r)) -> BufRange -> IO (BuildSignal r)) -> Put aSource
fromBuildStepCont :: (forall r. (BufRange -> IO (BuildSignal r)) -> BufRange -> IO (BuildSignal r)) -> BuilderSource
putBuilder :: Builder -> Put ()Source
Put the given builder.