pqueue-mtl-1.0.2: Fully encapsulated monad transformers with queuelike functionality.
Source code
Contents
Index
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
Instances
Eq
f =>
Eq
(e
:->
f)
Ord
f =>
Ord
(e
:->
f)
class
Monad
m =>
MonadQueue
e m | m -> e
where
Source
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
Bool
Source
queueSize
:: m
Int
Source
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)
(
Monad
m,
Queuelike
q e) =>
MonadQueue
e (
QueueT
q m)
(
MonadST
s m,
Monad
m,
Ord
e) =>
MonadQueue
e (
HeapT
s e m)
Produced by
Haddock
version 2.4.1