module GHC.IO.Buffer where data Buffer e = Buffer {bufRaw :: !(RawBuffer e), bufState :: BufferState, bufSize :: !Int, bufL :: !Int, bufR :: !Int} data BufferState = ReadBuffer | WriteBuffer type CharBufElem = Char type CharBuffer = Buffer Char type RawBuffer e = GHC.ForeignPtr.ForeignPtr e type RawCharBuffer = RawBuffer CharBufElem bufferAdd :: Int -> Buffer e -> Buffer e bufferAdjustL :: Int -> Buffer e -> Buffer e bufferAvailable :: Buffer e -> Int bufferElems :: Buffer e -> Int bufferRemove :: Int -> Buffer e -> Buffer e charSize :: Int checkBuffer :: Buffer a -> IO () emptyBuffer :: RawBuffer e -> Int -> BufferState -> Buffer e isEmptyBuffer :: Buffer e -> Bool isFullBuffer :: Buffer e -> Bool isFullCharBuffer :: Buffer e -> Bool isWriteBuffer :: Buffer e -> Bool newBuffer :: Int -> Int -> BufferState -> IO (Buffer e) newByteBuffer :: Int -> BufferState -> IO (Buffer GHC.Word.Word8) newCharBuffer :: Int -> BufferState -> IO CharBuffer peekCharBuf :: RawCharBuffer -> Int -> IO Char readCharBuf :: RawCharBuffer -> Int -> IO (Char, Int) readCharBufPtr :: GHC.Ptr.Ptr CharBufElem -> Int -> IO (Char, Int) readWord8Buf :: RawBuffer GHC.Word.Word8 -> Int -> IO GHC.Word.Word8 slideContents :: Buffer GHC.Word.Word8 -> IO (Buffer GHC.Word.Word8) summaryBuffer :: Buffer a -> String withBuffer :: Buffer e -> (GHC.Ptr.Ptr e -> IO a) -> IO a withRawBuffer :: RawBuffer e -> (GHC.Ptr.Ptr e -> IO a) -> IO a writeCharBuf :: RawCharBuffer -> Int -> Char -> IO Int writeCharBufPtr :: GHC.Ptr.Ptr CharBufElem -> Int -> Char -> IO Int writeWord8Buf :: RawBuffer GHC.Word.Word8 -> Int -> GHC.Word.Word8 -> IO ()
(HTML for this module was generated on 2013-09-19. About the conversion tool.)