{-# OPTIONS_GHC -Wno-orphans #-}
module Parsley.Internal.Common.Queue (module Queue) where
import Parsley.Internal.Common.Queue.Impl as Queue (
Queue, empty, enqueue, dequeue, null, size, foldr, enqueueAll
)
import Parsley.Internal.Common.QueueLike (QueueLike(empty, null, size, enqueue, dequeue, enqueueAll))
instance QueueLike Queue where
empty :: Queue a
empty = Queue a
forall a. Queue a
Queue.empty
null :: Queue a -> Bool
null = Queue a -> Bool
forall a. Queue a -> Bool
Queue.null
size :: Queue a -> Int
size = Queue a -> Int
forall a. Queue a -> Int
Queue.size
enqueue :: a -> Queue a -> Queue a
enqueue = a -> Queue a -> Queue a
forall a. a -> Queue a -> Queue a
Queue.enqueue
dequeue :: Queue a -> (a, Queue a)
dequeue = Queue a -> (a, Queue a)
forall a. Queue a -> (a, Queue a)
Queue.dequeue
enqueueAll :: [a] -> Queue a -> Queue a
enqueueAll = [a] -> Queue a -> Queue a
forall a. [a] -> Queue a -> Queue a
Queue.enqueueAll