monadiccp-0.7.7: Constraint Programming

Safe HaskellSafe
LanguageHaskell98

Control.CP.Queue

Documentation

class Queue q where Source #

Minimal complete definition

emptyQ, isEmptyQ, popQ, pushQ

Associated Types

type Elem q :: * Source #

Methods

emptyQ :: q -> q Source #

isEmptyQ :: q -> Bool Source #

popQ :: q -> (Elem q, q) Source #

pushQ :: Elem q -> q -> q Source #

Instances

Queue [a] Source # 

Associated Types

type Elem [a] :: * Source #

Methods

emptyQ :: [a] -> [a] Source #

isEmptyQ :: [a] -> Bool Source #

popQ :: [a] -> (Elem [a], [a]) Source #

pushQ :: Elem [a] -> [a] -> [a] Source #

Queue (Seq a) Source # 

Associated Types

type Elem (Seq a) :: * Source #

Methods

emptyQ :: Seq a -> Seq a Source #

isEmptyQ :: Seq a -> Bool Source #

popQ :: Seq a -> (Elem (Seq a), Seq a) Source #

pushQ :: Elem (Seq a) -> Seq a -> Seq a Source #

Ord a => Queue (PriorityQueue a (a, b, c)) Source # 

Associated Types

type Elem (PriorityQueue a (a, b, c)) :: * Source #

Methods

emptyQ :: PriorityQueue a (a, b, c) -> PriorityQueue a (a, b, c) Source #

isEmptyQ :: PriorityQueue a (a, b, c) -> Bool Source #

popQ :: PriorityQueue a (a, b, c) -> (Elem (PriorityQueue a (a, b, c)), PriorityQueue a (a, b, c)) Source #

pushQ :: Elem (PriorityQueue a (a, b, c)) -> PriorityQueue a (a, b, c) -> PriorityQueue a (a, b, c) Source #

emptyQ :: Queue q => q -> q Source #

isEmptyQ :: Queue q => q -> Bool Source #

popQ :: Queue q => q -> (Elem q, q) Source #

pushQ :: Queue q => Elem q -> q -> q Source #