parsley-core-2.0.0.0: A fast parser combinator library backed by Typed Template Haskell
LicenseBSD-3-Clause
MaintainerJamie Willis
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Parsley.Internal.Common.Queue.Impl

Description

Implementation of a FIFO queue structure, with amortized operations.

Since: 1.5.0.0

Synopsis

Documentation

data Queue a Source #

Concrete FIFO Queue, with amortized constant operations.

Since: 1.5.0.0

Constructors

Queue 

Fields

Instances

Instances details
QueueLike Queue Source # 
Instance details

Defined in Parsley.Internal.Common.Queue

Methods

empty :: Queue a Source #

null :: Queue a -> Bool Source #

size :: Queue a -> Int Source #

enqueue :: a -> Queue a -> Queue a Source #

dequeue :: Queue a -> (a, Queue a) Source #

enqueueAll :: [a] -> Queue a -> Queue a Source #

Eq a => Eq (Queue a) Source # 
Instance details

Defined in Parsley.Internal.Common.Queue.Impl

Methods

(==) :: Queue a -> Queue a -> Bool #

(/=) :: Queue a -> Queue a -> Bool #

Show a => Show (Queue a) Source # 
Instance details

Defined in Parsley.Internal.Common.Queue.Impl

Methods

showsPrec :: Int -> Queue a -> ShowS #

show :: Queue a -> String #

showList :: [Queue a] -> ShowS #

empty :: Queue a Source #

Construct an empty queue.

Since: 1.5.0.0

enqueue :: a -> Queue a -> Queue a Source #

Adds an element onto the end of the queue.

Since: 1.5.0.0

enqueueAll :: [a] -> Queue a -> Queue a Source #

Adds each of the elements onto the queue, from left-to-right.

Since: 1.5.0.0

dequeue :: Queue a -> (a, Queue a) Source #

Removes an element from the front of the queue.

Since: 1.5.0.0

null :: Queue a -> Bool Source #

Is the queue empty?

Since: 1.5.0.0

size :: Queue a -> Int Source #

Returns how many elements are in the queue.

Since: 1.5.0.0

foldr :: (a -> b -> b) -> b -> Queue a -> b Source #

Folds the values in the queue.

Since: 1.5.0.0

toList :: Queue a -> [a] Source #

Converts this queue into a list.

Since: 1.5.0.0