Safe Haskell | None |
---|---|
Language | Haskell2010 |
This is a thread-safe implementation of a mutable ring-buffer
built upon vector
.
- data RingBuffer v a
- new :: Vector v a => Int -> IO (RingBuffer v a)
- clear :: Vector v a => RingBuffer v a -> IO ()
- append :: Vector v a => a -> RingBuffer v a -> IO ()
- concat :: Vector v a => v a -> RingBuffer v a -> IO ()
- capacity :: Vector v a => RingBuffer v a -> Int
- length :: Vector v a => RingBuffer v a -> IO Int
- withItems :: (MonadIO m, Vector v a) => RingBuffer v a -> (v a -> m b) -> m b
Documentation
data RingBuffer v a Source #
A concurrent ring buffer.
concat :: Vector v a => v a -> RingBuffer v a -> IO () Source #
Add multiple items to the end of the ring This ignores any items above the length of the ring