pec-0.2.0: lib/Data/Queue.pec
module Data.Queue
exports
Queue
any
del
empty
filter
find
find_idx
fold
foreach
foreach_idx
is_empty
is_full
map
pop
push
put
queue
imports
Prelude
Data.Deque as D
where
type Queue cnt a = | Queue (D.Deque #cnt a)
queue :: #cnt -> Queue #cnt a
queue cnt => Queue (D.deque cnt)
push :: a -> Ptr (Queue #cnt a) -> Bool
push a p => D.push_front a (queue_unwrapptr p)
pop :: Ptr (Queue #cnt a) -> Maybe a
pop p => D.pop_back (queue_unwrapptr p)
del :: Ptr (Queue #cnt a) -> Bool
del p => D.del_back (queue_unwrapptr p)
empty :: Ptr (Queue #cnt a) -> ()
empty p => D.empty (queue_unwrapptr p)
is_empty :: { Load p } => Pointer p (Queue #cnt a) -> Bool
is_empty p => D.is_empty (queue_unwrapptr p)
is_full :: { Load p } => Pointer p (Queue #cnt a) -> Bool
is_full p => D.is_full (queue_unwrapptr p)
put :: { Load p } =>
(a -> ()) -> Pointer p (Queue #cnt a) -> ()
put f p => D.put f (queue_unwrapptr p)
map :: (a -> b) -> Ptr (Queue #cnt a) -> Queue #cnt b
map f p => Queue (D.map f (queue_unwrapptr p))
foreach :: { Load p } =>
(Pointer p a -> ()) -> Pointer p (Queue #cnt a) -> ()
foreach f p => D.foreach f (queue_unwrapptr p)
foreach_idx :: { Load p } =>
(Idx #cnt -> ()) -> Pointer p (Queue #cnt a) -> ()
foreach_idx f p => D.foreach_idx f (queue_unwrapptr p)
fold :: { Load p } => (b -> a -> b) -> b -> Pointer p (Queue #cnt a) -> b
fold f b p => D.fold f b (queue_unwrapptr p)
any :: { Load p } => (a -> Bool) -> Pointer p (Queue #cnt a) -> Bool
any f p => D.any f (queue_unwrapptr p)
find :: { Load p } =>
(a -> Bool) -> Pointer p (Queue #cnt a) -> Maybe (Pointer p a)
find f p => D.find f (queue_unwrapptr p)
find_idx :: { Load p } =>
(a -> Bool) -> Pointer p (Queue #cnt a) -> Maybe (Idx #cnt)
find_idx f p => D.find_idx f (queue_unwrapptr p)
filter :: (a -> Bool) -> Ptr (Queue #cnt a) -> ()
filter f p => D.filter f (queue_unwrapptr p)