pqueue-mtl-1.0.3: Fully encapsulated monad transformers with queuelike functionality.Source codeContentsIndex
Control.Monad.Queue.Class
Synopsis
data e :-> f = e :-> f
class Monad m => MonadQueue e m | m -> e where
queueInsert :: e -> m ()
queueInsertAll :: [e] -> m ()
queueExtract :: m (Maybe e)
queueDelete :: m ()
queuePeek :: m (Maybe e)
queueEmpty :: m Bool
queueSize :: m Int
Documentation
data e :-> f Source
Type that only orders on the key, ignoring the value completely; frequently useful in priority queues, so made available here.
Constructors
e :-> f
show/hide Instances
Eq f => Eq (e :-> f)
Ord f => Ord (e :-> f)
class Monad m => MonadQueue e m | m -> e whereSource
Typeclass abstraction of a monad with access to a mutable queue. Minimal implementation: queueInsert or queueInsertAll, queuePeek, queueExtract or queueDelete, queueSize.
Methods
queueInsert :: e -> m ()Source
queueInsertAll :: [e] -> m ()Source
queueExtract :: m (Maybe e)Source
queueDelete :: m ()Source
queuePeek :: m (Maybe e)Source
queueEmpty :: m BoolSource
queueSize :: m IntSource
show/hide Instances
MonadQueue e m => MonadQueue e (ListT m)
MonadQueue e m => MonadQueue e (MaybeT m)
Queuelike q e => MonadQueue e (QueueM q)
MonadQueue e m => MonadQueue e (IntMapT f m)
(Monoid w, MonadQueue e m) => MonadQueue e (WriterT w m)
(Monoid w, MonadQueue e m) => MonadQueue e (WriterT w m)
MonadQueue e m => MonadQueue e (ReaderT r m)
MonadQueue e m => MonadQueue e (StateT s m)
MonadQueue e m => MonadQueue e (StateT s m)
(MonadST m, Monad m, Ord e) => MonadQueue e (HeapT e m)
(Monad m, Queuelike q e) => MonadQueue e (QueueT q m)
Produced by Haddock version 2.4.1