Safe Haskell | None |
---|---|
Language | Haskell98 |
- data StringBuffer = StringBuffer {}
- hGetStringBuffer :: FilePath -> IO StringBuffer
- hGetStringBufferBlock :: Handle -> Int -> IO StringBuffer
- appendStringBuffers :: StringBuffer -> StringBuffer -> IO StringBuffer
- stringToStringBuffer :: String -> StringBuffer
- nextChar :: StringBuffer -> (Char, StringBuffer)
- currentChar :: StringBuffer -> Char
- prevChar :: StringBuffer -> Char -> Char
- atEnd :: StringBuffer -> Bool
- stepOn :: StringBuffer -> StringBuffer
- offsetBytes :: Int -> StringBuffer -> StringBuffer
- byteDiff :: StringBuffer -> StringBuffer -> Int
- lexemeToString :: StringBuffer -> Int -> String
- lexemeToFastString :: StringBuffer -> Int -> FastString
- parseUnsignedInteger :: StringBuffer -> Int -> Integer -> (Char -> Int) -> Integer
Documentation
data StringBuffer Source
A StringBuffer is an internal pointer to a sized chunk of bytes. The bytes are intended to be *immutable*. There are pure operations to read the contents of a StringBuffer.
A StringBuffer may have a finalizer, depending on how it was obtained.
Creation/destruction
hGetStringBufferBlock :: Handle -> Int -> IO StringBuffer Source
Inspection
nextChar :: StringBuffer -> (Char, StringBuffer) Source
currentChar :: StringBuffer -> Char Source
prevChar :: StringBuffer -> Char -> Char Source
atEnd :: StringBuffer -> Bool Source
Moving and comparison
stepOn :: StringBuffer -> StringBuffer Source
offsetBytes :: Int -> StringBuffer -> StringBuffer Source
byteDiff :: StringBuffer -> StringBuffer -> Int Source
Conversion
lexemeToString :: StringBuffer -> Int -> String Source
lexemeToFastString :: StringBuffer -> Int -> FastString Source
Parsing integers
parseUnsignedInteger :: StringBuffer -> Int -> Integer -> (Char -> Int) -> Integer Source
XXX assumes ASCII digits only (by using byteOff)