{-# 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, poke
)
import Parsley.Internal.Common.QueueLike (QueueLike(empty, null, size, enqueue, dequeue, enqueueAll, poke))
instance QueueLike Queue where
empty :: forall a. Queue a
empty = forall a. Queue a
Queue.empty
null :: forall a. Queue a -> Bool
null = forall a. Queue a -> Bool
Queue.null
size :: forall a. Queue a -> Int
size = forall a. Queue a -> Int
Queue.size
enqueue :: forall a. a -> Queue a -> Queue a
enqueue = forall a. a -> Queue a -> Queue a
Queue.enqueue
dequeue :: forall a. Queue a -> (a, Queue a)
dequeue = forall a. Queue a -> (a, Queue a)
Queue.dequeue
enqueueAll :: forall a. [a] -> Queue a -> Queue a
enqueueAll = forall a. [a] -> Queue a -> Queue a
Queue.enqueueAll
poke :: forall a. (a -> a) -> Queue a -> (a, Queue a)
poke = forall a. (a -> a) -> Queue a -> (a, Queue a)
Queue.poke