Data.Iteratee.Base.StreamChunk
Contents
Description
Monadic and General Iteratees: incremental input parsers, processors and transformers
- class ListLike (c el) el => StreamChunk c el where
- length :: c el -> Int
- null :: c el -> Bool
- cons :: el -> c el -> c el
- head :: c el -> el
- tail :: c el -> c el
- findIndex :: (el -> Bool) -> c el -> Maybe Int
- splitAt :: Int -> c el -> (c el, c el)
- dropWhile :: (el -> Bool) -> c el -> c el
- fromList :: [el] -> c el
- toList :: c el -> [el]
- cMap :: StreamChunk c el' => (el -> el') -> c el -> c el'
- class (StreamChunk s el, Storable el) => ReadableChunk s el where
- readFromPtr :: Ptr el -> Int -> IO (s el)
Types
class ListLike (c el) el => StreamChunk c el whereSource
Class of types that can be used to hold chunks of data within Iteratee streams.
Methods
Length of currently available data.
Test if the current stream is null.
cons :: el -> c el -> c elSource
Prepend an element to the front of the data.
Return the first element of the stream.
Return the tail of the stream.
findIndex :: (el -> Bool) -> c el -> Maybe IntSource
First index matching the predicate.
splitAt :: Int -> c el -> (c el, c el)Source
Split the data at the specified index.
dropWhile :: (el -> Bool) -> c el -> c elSource
Drop data matching the predicate.
fromList :: [el] -> c elSource
Create a stream from a list.
Create a list from the stream.
cMap :: StreamChunk c el' => (el -> el') -> c el -> c el'Source
Map a computation over the stream.
Instances
class (StreamChunk s el, Storable el) => ReadableChunk s el whereSource
Class of streams which can be filled from a Ptr
. Typically these
are streams which can be read from a file.
The Int parameter is the length of the data in bytes.
N.B. The pointer must not be returned or used after readFromPtr completes.
Methods
readFromPtr :: Ptr el -> Int -> IO (s el)Source