module GI.GLib.Structs.Queue
(
Queue(..) ,
newZeroQueue ,
noQueue ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
QueueClearMethodInfo ,
#endif
queueClear ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
QueueFreeMethodInfo ,
#endif
queueFree ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
QueueFreeFullMethodInfo ,
#endif
queueFreeFull ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
QueueGetLengthMethodInfo ,
#endif
queueGetLength ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
QueueIndexMethodInfo ,
#endif
queueIndex ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
QueueInitMethodInfo ,
#endif
queueInit ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
QueueIsEmptyMethodInfo ,
#endif
queueIsEmpty ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
QueuePeekHeadMethodInfo ,
#endif
queuePeekHead ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
QueuePeekNthMethodInfo ,
#endif
queuePeekNth ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
QueuePeekTailMethodInfo ,
#endif
queuePeekTail ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
QueuePopHeadMethodInfo ,
#endif
queuePopHead ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
QueuePopNthMethodInfo ,
#endif
queuePopNth ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
QueuePopTailMethodInfo ,
#endif
queuePopTail ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
QueuePushHeadMethodInfo ,
#endif
queuePushHead ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
QueuePushNthMethodInfo ,
#endif
queuePushNth ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
QueuePushTailMethodInfo ,
#endif
queuePushTail ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
QueueRemoveMethodInfo ,
#endif
queueRemove ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
QueueRemoveAllMethodInfo ,
#endif
queueRemoveAll ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
QueueReverseMethodInfo ,
#endif
queueReverse ,
clearQueueHead ,
getQueueHead ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
queue_head ,
#endif
setQueueHead ,
getQueueLength ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
queue_length ,
#endif
setQueueLength ,
clearQueueTail ,
getQueueTail ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
queue_tail ,
#endif
setQueueTail ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GI.GLib.Callbacks as GLib.Callbacks
newtype Queue = Queue (ManagedPtr Queue)
instance WrappedPtr Queue where
wrappedPtrCalloc = callocBytes 24
wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 24 >=> wrapPtr Queue)
wrappedPtrFree = Just ptr_to_g_free
newZeroQueue :: MonadIO m => m Queue
newZeroQueue = liftIO $ wrappedPtrCalloc >>= wrapPtr Queue
instance tag ~ 'AttrSet => Constructible Queue tag where
new _ attrs = do
o <- newZeroQueue
GI.Attributes.set o attrs
return o
noQueue :: Maybe Queue
noQueue = Nothing
getQueueHead :: MonadIO m => Queue -> m ([Ptr ()])
getQueueHead s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 0) :: IO (Ptr (GList (Ptr ())))
val' <- unpackGList val
return val'
setQueueHead :: MonadIO m => Queue -> Ptr (GList (Ptr ())) -> m ()
setQueueHead s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 0) (val :: Ptr (GList (Ptr ())))
clearQueueHead :: MonadIO m => Queue -> m ()
clearQueueHead s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr (GList (Ptr ())))
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data QueueHeadFieldInfo
instance AttrInfo QueueHeadFieldInfo where
type AttrAllowedOps QueueHeadFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint QueueHeadFieldInfo = (~) (Ptr (GList (Ptr ())))
type AttrBaseTypeConstraint QueueHeadFieldInfo = (~) Queue
type AttrGetType QueueHeadFieldInfo = [Ptr ()]
type AttrLabel QueueHeadFieldInfo = "head"
type AttrOrigin QueueHeadFieldInfo = Queue
attrGet _ = getQueueHead
attrSet _ = setQueueHead
attrConstruct = undefined
attrClear _ = clearQueueHead
queue_head :: AttrLabelProxy "head"
queue_head = AttrLabelProxy
#endif
getQueueTail :: MonadIO m => Queue -> m ([Ptr ()])
getQueueTail s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 8) :: IO (Ptr (GList (Ptr ())))
val' <- unpackGList val
return val'
setQueueTail :: MonadIO m => Queue -> Ptr (GList (Ptr ())) -> m ()
setQueueTail s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 8) (val :: Ptr (GList (Ptr ())))
clearQueueTail :: MonadIO m => Queue -> m ()
clearQueueTail s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr (GList (Ptr ())))
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data QueueTailFieldInfo
instance AttrInfo QueueTailFieldInfo where
type AttrAllowedOps QueueTailFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint QueueTailFieldInfo = (~) (Ptr (GList (Ptr ())))
type AttrBaseTypeConstraint QueueTailFieldInfo = (~) Queue
type AttrGetType QueueTailFieldInfo = [Ptr ()]
type AttrLabel QueueTailFieldInfo = "tail"
type AttrOrigin QueueTailFieldInfo = Queue
attrGet _ = getQueueTail
attrSet _ = setQueueTail
attrConstruct = undefined
attrClear _ = clearQueueTail
queue_tail :: AttrLabelProxy "tail"
queue_tail = AttrLabelProxy
#endif
getQueueLength :: MonadIO m => Queue -> m Word32
getQueueLength s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 16) :: IO Word32
return val
setQueueLength :: MonadIO m => Queue -> Word32 -> m ()
setQueueLength s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 16) (val :: Word32)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data QueueLengthFieldInfo
instance AttrInfo QueueLengthFieldInfo where
type AttrAllowedOps QueueLengthFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint QueueLengthFieldInfo = (~) Word32
type AttrBaseTypeConstraint QueueLengthFieldInfo = (~) Queue
type AttrGetType QueueLengthFieldInfo = Word32
type AttrLabel QueueLengthFieldInfo = "length"
type AttrOrigin QueueLengthFieldInfo = Queue
attrGet _ = getQueueLength
attrSet _ = setQueueLength
attrConstruct = undefined
attrClear _ = undefined
queue_length :: AttrLabelProxy "length"
queue_length = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
instance O.HasAttributeList Queue
type instance O.AttributeList Queue = QueueAttributeList
type QueueAttributeList = ('[ '("head", QueueHeadFieldInfo), '("tail", QueueTailFieldInfo), '("length", QueueLengthFieldInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "g_queue_clear" g_queue_clear ::
Ptr Queue ->
IO ()
queueClear ::
(B.CallStack.HasCallStack, MonadIO m) =>
Queue
-> m ()
queueClear queue = liftIO $ do
queue' <- unsafeManagedPtrGetPtr queue
g_queue_clear queue'
touchManagedPtr queue
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data QueueClearMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo QueueClearMethodInfo Queue signature where
overloadedMethod _ = queueClear
#endif
foreign import ccall "g_queue_free" g_queue_free ::
Ptr Queue ->
IO ()
queueFree ::
(B.CallStack.HasCallStack, MonadIO m) =>
Queue
-> m ()
queueFree queue = liftIO $ do
queue' <- unsafeManagedPtrGetPtr queue
g_queue_free queue'
touchManagedPtr queue
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data QueueFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo QueueFreeMethodInfo Queue signature where
overloadedMethod _ = queueFree
#endif
foreign import ccall "g_queue_free_full" g_queue_free_full ::
Ptr Queue ->
FunPtr GLib.Callbacks.C_DestroyNotify ->
IO ()
queueFreeFull ::
(B.CallStack.HasCallStack, MonadIO m) =>
Queue
-> GLib.Callbacks.DestroyNotify
-> m ()
queueFreeFull queue freeFunc = liftIO $ do
queue' <- unsafeManagedPtrGetPtr queue
ptrfreeFunc <- callocMem :: IO (Ptr (FunPtr GLib.Callbacks.C_DestroyNotify))
freeFunc' <- GLib.Callbacks.mk_DestroyNotify (GLib.Callbacks.wrap_DestroyNotify (Just ptrfreeFunc) freeFunc)
poke ptrfreeFunc freeFunc'
g_queue_free_full queue' freeFunc'
touchManagedPtr queue
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data QueueFreeFullMethodInfo
instance (signature ~ (GLib.Callbacks.DestroyNotify -> m ()), MonadIO m) => O.MethodInfo QueueFreeFullMethodInfo Queue signature where
overloadedMethod _ = queueFreeFull
#endif
foreign import ccall "g_queue_get_length" g_queue_get_length ::
Ptr Queue ->
IO Word32
queueGetLength ::
(B.CallStack.HasCallStack, MonadIO m) =>
Queue
-> m Word32
queueGetLength queue = liftIO $ do
queue' <- unsafeManagedPtrGetPtr queue
result <- g_queue_get_length queue'
touchManagedPtr queue
return result
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data QueueGetLengthMethodInfo
instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo QueueGetLengthMethodInfo Queue signature where
overloadedMethod _ = queueGetLength
#endif
foreign import ccall "g_queue_index" g_queue_index ::
Ptr Queue ->
Ptr () ->
IO Int32
queueIndex ::
(B.CallStack.HasCallStack, MonadIO m) =>
Queue
-> Ptr ()
-> m Int32
queueIndex queue data_ = liftIO $ do
queue' <- unsafeManagedPtrGetPtr queue
result <- g_queue_index queue' data_
touchManagedPtr queue
return result
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data QueueIndexMethodInfo
instance (signature ~ (Ptr () -> m Int32), MonadIO m) => O.MethodInfo QueueIndexMethodInfo Queue signature where
overloadedMethod _ = queueIndex
#endif
foreign import ccall "g_queue_init" g_queue_init ::
Ptr Queue ->
IO ()
queueInit ::
(B.CallStack.HasCallStack, MonadIO m) =>
Queue
-> m ()
queueInit queue = liftIO $ do
queue' <- unsafeManagedPtrGetPtr queue
g_queue_init queue'
touchManagedPtr queue
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data QueueInitMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo QueueInitMethodInfo Queue signature where
overloadedMethod _ = queueInit
#endif
foreign import ccall "g_queue_is_empty" g_queue_is_empty ::
Ptr Queue ->
IO CInt
queueIsEmpty ::
(B.CallStack.HasCallStack, MonadIO m) =>
Queue
-> m Bool
queueIsEmpty queue = liftIO $ do
queue' <- unsafeManagedPtrGetPtr queue
result <- g_queue_is_empty queue'
let result' = (/= 0) result
touchManagedPtr queue
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data QueueIsEmptyMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo QueueIsEmptyMethodInfo Queue signature where
overloadedMethod _ = queueIsEmpty
#endif
foreign import ccall "g_queue_peek_head" g_queue_peek_head ::
Ptr Queue ->
IO (Ptr ())
queuePeekHead ::
(B.CallStack.HasCallStack, MonadIO m) =>
Queue
-> m (Ptr ())
queuePeekHead queue = liftIO $ do
queue' <- unsafeManagedPtrGetPtr queue
result <- g_queue_peek_head queue'
touchManagedPtr queue
return result
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data QueuePeekHeadMethodInfo
instance (signature ~ (m (Ptr ())), MonadIO m) => O.MethodInfo QueuePeekHeadMethodInfo Queue signature where
overloadedMethod _ = queuePeekHead
#endif
foreign import ccall "g_queue_peek_nth" g_queue_peek_nth ::
Ptr Queue ->
Word32 ->
IO (Ptr ())
queuePeekNth ::
(B.CallStack.HasCallStack, MonadIO m) =>
Queue
-> Word32
-> m (Ptr ())
queuePeekNth queue n = liftIO $ do
queue' <- unsafeManagedPtrGetPtr queue
result <- g_queue_peek_nth queue' n
touchManagedPtr queue
return result
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data QueuePeekNthMethodInfo
instance (signature ~ (Word32 -> m (Ptr ())), MonadIO m) => O.MethodInfo QueuePeekNthMethodInfo Queue signature where
overloadedMethod _ = queuePeekNth
#endif
foreign import ccall "g_queue_peek_tail" g_queue_peek_tail ::
Ptr Queue ->
IO (Ptr ())
queuePeekTail ::
(B.CallStack.HasCallStack, MonadIO m) =>
Queue
-> m (Ptr ())
queuePeekTail queue = liftIO $ do
queue' <- unsafeManagedPtrGetPtr queue
result <- g_queue_peek_tail queue'
touchManagedPtr queue
return result
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data QueuePeekTailMethodInfo
instance (signature ~ (m (Ptr ())), MonadIO m) => O.MethodInfo QueuePeekTailMethodInfo Queue signature where
overloadedMethod _ = queuePeekTail
#endif
foreign import ccall "g_queue_pop_head" g_queue_pop_head ::
Ptr Queue ->
IO (Ptr ())
queuePopHead ::
(B.CallStack.HasCallStack, MonadIO m) =>
Queue
-> m (Ptr ())
queuePopHead queue = liftIO $ do
queue' <- unsafeManagedPtrGetPtr queue
result <- g_queue_pop_head queue'
touchManagedPtr queue
return result
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data QueuePopHeadMethodInfo
instance (signature ~ (m (Ptr ())), MonadIO m) => O.MethodInfo QueuePopHeadMethodInfo Queue signature where
overloadedMethod _ = queuePopHead
#endif
foreign import ccall "g_queue_pop_nth" g_queue_pop_nth ::
Ptr Queue ->
Word32 ->
IO (Ptr ())
queuePopNth ::
(B.CallStack.HasCallStack, MonadIO m) =>
Queue
-> Word32
-> m (Ptr ())
queuePopNth queue n = liftIO $ do
queue' <- unsafeManagedPtrGetPtr queue
result <- g_queue_pop_nth queue' n
touchManagedPtr queue
return result
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data QueuePopNthMethodInfo
instance (signature ~ (Word32 -> m (Ptr ())), MonadIO m) => O.MethodInfo QueuePopNthMethodInfo Queue signature where
overloadedMethod _ = queuePopNth
#endif
foreign import ccall "g_queue_pop_tail" g_queue_pop_tail ::
Ptr Queue ->
IO (Ptr ())
queuePopTail ::
(B.CallStack.HasCallStack, MonadIO m) =>
Queue
-> m (Ptr ())
queuePopTail queue = liftIO $ do
queue' <- unsafeManagedPtrGetPtr queue
result <- g_queue_pop_tail queue'
touchManagedPtr queue
return result
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data QueuePopTailMethodInfo
instance (signature ~ (m (Ptr ())), MonadIO m) => O.MethodInfo QueuePopTailMethodInfo Queue signature where
overloadedMethod _ = queuePopTail
#endif
foreign import ccall "g_queue_push_head" g_queue_push_head ::
Ptr Queue ->
Ptr () ->
IO ()
queuePushHead ::
(B.CallStack.HasCallStack, MonadIO m) =>
Queue
-> Ptr ()
-> m ()
queuePushHead queue data_ = liftIO $ do
queue' <- unsafeManagedPtrGetPtr queue
g_queue_push_head queue' data_
touchManagedPtr queue
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data QueuePushHeadMethodInfo
instance (signature ~ (Ptr () -> m ()), MonadIO m) => O.MethodInfo QueuePushHeadMethodInfo Queue signature where
overloadedMethod _ = queuePushHead
#endif
foreign import ccall "g_queue_push_nth" g_queue_push_nth ::
Ptr Queue ->
Ptr () ->
Int32 ->
IO ()
queuePushNth ::
(B.CallStack.HasCallStack, MonadIO m) =>
Queue
-> Ptr ()
-> Int32
-> m ()
queuePushNth queue data_ n = liftIO $ do
queue' <- unsafeManagedPtrGetPtr queue
g_queue_push_nth queue' data_ n
touchManagedPtr queue
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data QueuePushNthMethodInfo
instance (signature ~ (Ptr () -> Int32 -> m ()), MonadIO m) => O.MethodInfo QueuePushNthMethodInfo Queue signature where
overloadedMethod _ = queuePushNth
#endif
foreign import ccall "g_queue_push_tail" g_queue_push_tail ::
Ptr Queue ->
Ptr () ->
IO ()
queuePushTail ::
(B.CallStack.HasCallStack, MonadIO m) =>
Queue
-> Ptr ()
-> m ()
queuePushTail queue data_ = liftIO $ do
queue' <- unsafeManagedPtrGetPtr queue
g_queue_push_tail queue' data_
touchManagedPtr queue
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data QueuePushTailMethodInfo
instance (signature ~ (Ptr () -> m ()), MonadIO m) => O.MethodInfo QueuePushTailMethodInfo Queue signature where
overloadedMethod _ = queuePushTail
#endif
foreign import ccall "g_queue_remove" g_queue_remove ::
Ptr Queue ->
Ptr () ->
IO CInt
queueRemove ::
(B.CallStack.HasCallStack, MonadIO m) =>
Queue
-> Ptr ()
-> m Bool
queueRemove queue data_ = liftIO $ do
queue' <- unsafeManagedPtrGetPtr queue
result <- g_queue_remove queue' data_
let result' = (/= 0) result
touchManagedPtr queue
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data QueueRemoveMethodInfo
instance (signature ~ (Ptr () -> m Bool), MonadIO m) => O.MethodInfo QueueRemoveMethodInfo Queue signature where
overloadedMethod _ = queueRemove
#endif
foreign import ccall "g_queue_remove_all" g_queue_remove_all ::
Ptr Queue ->
Ptr () ->
IO Word32
queueRemoveAll ::
(B.CallStack.HasCallStack, MonadIO m) =>
Queue
-> Ptr ()
-> m Word32
queueRemoveAll queue data_ = liftIO $ do
queue' <- unsafeManagedPtrGetPtr queue
result <- g_queue_remove_all queue' data_
touchManagedPtr queue
return result
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data QueueRemoveAllMethodInfo
instance (signature ~ (Ptr () -> m Word32), MonadIO m) => O.MethodInfo QueueRemoveAllMethodInfo Queue signature where
overloadedMethod _ = queueRemoveAll
#endif
foreign import ccall "g_queue_reverse" g_queue_reverse ::
Ptr Queue ->
IO ()
queueReverse ::
(B.CallStack.HasCallStack, MonadIO m) =>
Queue
-> m ()
queueReverse queue = liftIO $ do
queue' <- unsafeManagedPtrGetPtr queue
g_queue_reverse queue'
touchManagedPtr queue
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data QueueReverseMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo QueueReverseMethodInfo Queue signature where
overloadedMethod _ = queueReverse
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
type family ResolveQueueMethod (t :: Symbol) (o :: *) :: * where
ResolveQueueMethod "clear" o = QueueClearMethodInfo
ResolveQueueMethod "free" o = QueueFreeMethodInfo
ResolveQueueMethod "freeFull" o = QueueFreeFullMethodInfo
ResolveQueueMethod "index" o = QueueIndexMethodInfo
ResolveQueueMethod "init" o = QueueInitMethodInfo
ResolveQueueMethod "isEmpty" o = QueueIsEmptyMethodInfo
ResolveQueueMethod "peekHead" o = QueuePeekHeadMethodInfo
ResolveQueueMethod "peekNth" o = QueuePeekNthMethodInfo
ResolveQueueMethod "peekTail" o = QueuePeekTailMethodInfo
ResolveQueueMethod "popHead" o = QueuePopHeadMethodInfo
ResolveQueueMethod "popNth" o = QueuePopNthMethodInfo
ResolveQueueMethod "popTail" o = QueuePopTailMethodInfo
ResolveQueueMethod "pushHead" o = QueuePushHeadMethodInfo
ResolveQueueMethod "pushNth" o = QueuePushNthMethodInfo
ResolveQueueMethod "pushTail" o = QueuePushTailMethodInfo
ResolveQueueMethod "remove" o = QueueRemoveMethodInfo
ResolveQueueMethod "removeAll" o = QueueRemoveAllMethodInfo
ResolveQueueMethod "reverse" o = QueueReverseMethodInfo
ResolveQueueMethod "getLength" o = QueueGetLengthMethodInfo
ResolveQueueMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveQueueMethod t Queue, O.MethodInfo info Queue p) => O.IsLabelProxy t (Queue -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveQueueMethod t Queue, O.MethodInfo info Queue p) => O.IsLabel t (Queue -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
#endif