gi-glib-2.0.11: GLib bindings

CopyrightWill Thompson, Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (garetxe@gmail.com)
Safe HaskellNone
LanguageHaskell2010

GI.GLib.Structs.Queue

Contents

Description

Contains the public fields of a [Queue][glib-Double-ended-Queues].

Synopsis

Exported types

newtype Queue Source #

Constructors

Queue (ManagedPtr Queue) 

Instances

WrappedPtr Queue Source # 
(~) AttrOpTag tag AttrSet => Constructible Queue tag Source # 

Methods

new :: MonadIO m => (ManagedPtr Queue -> Queue) -> [AttrOp Queue tag] -> m Queue #

((~) * info (ResolveQueueMethod t Queue), MethodInfo * info Queue p) => IsLabel t (Queue -> p) Source # 

Methods

fromLabel :: Proxy# Symbol t -> Queue -> p #

((~) * info (ResolveQueueMethod t Queue), MethodInfo * info Queue p) => IsLabelProxy t (Queue -> p) Source # 

Methods

fromLabelProxy :: Proxy Symbol t -> Queue -> p #

HasAttributeList * Queue Source # 
((~) * signature (m ()), MonadIO m) => MethodInfo * QueueReverseMethodInfo Queue signature Source # 
((~) * signature (Ptr () -> m Word32), MonadIO m) => MethodInfo * QueueRemoveAllMethodInfo Queue signature Source # 
((~) * signature (Ptr () -> m Bool), MonadIO m) => MethodInfo * QueueRemoveMethodInfo Queue signature Source # 
((~) * signature (Ptr () -> m ()), MonadIO m) => MethodInfo * QueuePushTailMethodInfo Queue signature Source # 
((~) * signature (Ptr () -> Int32 -> m ()), MonadIO m) => MethodInfo * QueuePushNthMethodInfo Queue signature Source # 
((~) * signature (Ptr () -> m ()), MonadIO m) => MethodInfo * QueuePushHeadMethodInfo Queue signature Source # 
((~) * signature (m (Ptr ())), MonadIO m) => MethodInfo * QueuePopTailMethodInfo Queue signature Source # 
((~) * signature (Word32 -> m (Ptr ())), MonadIO m) => MethodInfo * QueuePopNthMethodInfo Queue signature Source # 
((~) * signature (m (Ptr ())), MonadIO m) => MethodInfo * QueuePopHeadMethodInfo Queue signature Source # 
((~) * signature (m (Ptr ())), MonadIO m) => MethodInfo * QueuePeekTailMethodInfo Queue signature Source # 
((~) * signature (Word32 -> m (Ptr ())), MonadIO m) => MethodInfo * QueuePeekNthMethodInfo Queue signature Source # 
((~) * signature (m (Ptr ())), MonadIO m) => MethodInfo * QueuePeekHeadMethodInfo Queue signature Source # 
((~) * signature (m Bool), MonadIO m) => MethodInfo * QueueIsEmptyMethodInfo Queue signature Source # 
((~) * signature (m ()), MonadIO m) => MethodInfo * QueueInitMethodInfo Queue signature Source # 
((~) * signature (Ptr () -> m Int32), MonadIO m) => MethodInfo * QueueIndexMethodInfo Queue signature Source # 
((~) * signature (m Word32), MonadIO m) => MethodInfo * QueueGetLengthMethodInfo Queue signature Source # 
((~) * signature (DestroyNotify -> m ()), MonadIO m) => MethodInfo * QueueFreeFullMethodInfo Queue signature Source # 
((~) * signature (m ()), MonadIO m) => MethodInfo * QueueFreeMethodInfo Queue signature Source # 
((~) * signature (m ()), MonadIO m) => MethodInfo * QueueClearMethodInfo Queue signature Source # 
type AttributeList Queue Source # 

newZeroQueue :: MonadIO m => m Queue Source #

Construct a Queue struct initialized to zero.

Methods

clear

data QueueClearMethodInfo Source #

Instances

((~) * signature (m ()), MonadIO m) => MethodInfo * QueueClearMethodInfo Queue signature Source # 

queueClear Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Queue

queue: a Queue

-> m () 

Removes all the elements in queue. If queue elements contain dynamically-allocated memory, they should be freed first.

Since: 2.14

free

data QueueFreeMethodInfo Source #

Instances

((~) * signature (m ()), MonadIO m) => MethodInfo * QueueFreeMethodInfo Queue signature Source # 

queueFree Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Queue

queue: a Queue

-> m () 

Frees the memory allocated for the Queue. Only call this function if queue was created with g_queue_new(). If queue elements contain dynamically-allocated memory, they should be freed first.

If queue elements contain dynamically-allocated memory, you should either use queueFreeFull or free them manually first.

freeFull

queueFreeFull Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Queue

queue: a pointer to a Queue

-> DestroyNotify

freeFunc: the function to be called to free each element's data

-> m () 

Convenience method, which frees all the memory used by a Queue, and calls the specified destroy function on every element's data.

Since: 2.32

getLength

queueGetLength Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Queue

queue: a Queue

-> m Word32

Returns: the number of items in queue

Returns the number of items in queue.

Since: 2.4

index

data QueueIndexMethodInfo Source #

Instances

((~) * signature (Ptr () -> m Int32), MonadIO m) => MethodInfo * QueueIndexMethodInfo Queue signature Source # 

queueIndex Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Queue

queue: a Queue

-> Ptr ()

data: the data to find

-> m Int32

Returns: the position of the first element in queue which contains data, or -1 if no element in queue contains data

Returns the position of the first element in queue which contains data.

Since: 2.4

init

data QueueInitMethodInfo Source #

Instances

((~) * signature (m ()), MonadIO m) => MethodInfo * QueueInitMethodInfo Queue signature Source # 

queueInit Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Queue

queue: an uninitialized Queue

-> m () 

A statically-allocated Queue must be initialized with this function before it can be used. Alternatively you can initialize it with G_QUEUE_INIT. It is not necessary to initialize queues created with g_queue_new().

Since: 2.14

isEmpty

data QueueIsEmptyMethodInfo Source #

Instances

((~) * signature (m Bool), MonadIO m) => MethodInfo * QueueIsEmptyMethodInfo Queue signature Source # 

queueIsEmpty Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Queue

queue: a Queue.

-> m Bool

Returns: True if the queue is empty

Returns True if the queue is empty.

peekHead

data QueuePeekHeadMethodInfo Source #

Instances

((~) * signature (m (Ptr ())), MonadIO m) => MethodInfo * QueuePeekHeadMethodInfo Queue signature Source # 

queuePeekHead Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Queue

queue: a Queue

-> m (Ptr ())

Returns: the data of the first element in the queue, or Nothing if the queue is empty

Returns the first element of the queue.

peekNth

data QueuePeekNthMethodInfo Source #

Instances

((~) * signature (Word32 -> m (Ptr ())), MonadIO m) => MethodInfo * QueuePeekNthMethodInfo Queue signature Source # 

queuePeekNth Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Queue

queue: a Queue

-> Word32

n: the position of the element

-> m (Ptr ())

Returns: the data for the n'th element of queue, or Nothing if n is off the end of queue

Returns the n'th element of queue.

Since: 2.4

peekTail

data QueuePeekTailMethodInfo Source #

Instances

((~) * signature (m (Ptr ())), MonadIO m) => MethodInfo * QueuePeekTailMethodInfo Queue signature Source # 

queuePeekTail Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Queue

queue: a Queue

-> m (Ptr ())

Returns: the data of the last element in the queue, or Nothing if the queue is empty

Returns the last element of the queue.

popHead

data QueuePopHeadMethodInfo Source #

Instances

((~) * signature (m (Ptr ())), MonadIO m) => MethodInfo * QueuePopHeadMethodInfo Queue signature Source # 

queuePopHead Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Queue

queue: a Queue

-> m (Ptr ())

Returns: the data of the first element in the queue, or Nothing if the queue is empty

Removes the first element of the queue and returns its data.

popNth

data QueuePopNthMethodInfo Source #

Instances

((~) * signature (Word32 -> m (Ptr ())), MonadIO m) => MethodInfo * QueuePopNthMethodInfo Queue signature Source # 

queuePopNth Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Queue

queue: a Queue

-> Word32

n: the position of the element

-> m (Ptr ())

Returns: the element's data, or Nothing if n is off the end of queue

Removes the n'th element of queue and returns its data.

Since: 2.4

popTail

data QueuePopTailMethodInfo Source #

Instances

((~) * signature (m (Ptr ())), MonadIO m) => MethodInfo * QueuePopTailMethodInfo Queue signature Source # 

queuePopTail Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Queue

queue: a Queue

-> m (Ptr ())

Returns: the data of the last element in the queue, or Nothing if the queue is empty

Removes the last element of the queue and returns its data.

pushHead

data QueuePushHeadMethodInfo Source #

Instances

((~) * signature (Ptr () -> m ()), MonadIO m) => MethodInfo * QueuePushHeadMethodInfo Queue signature Source # 

queuePushHead Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Queue

queue: a Queue.

-> Ptr ()

data: the data for the new element.

-> m () 

Adds a new element at the head of the queue.

pushNth

data QueuePushNthMethodInfo Source #

Instances

((~) * signature (Ptr () -> Int32 -> m ()), MonadIO m) => MethodInfo * QueuePushNthMethodInfo Queue signature Source # 

queuePushNth Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Queue

queue: a Queue

-> Ptr ()

data: the data for the new element

-> Int32

n: the position to insert the new element. If n is negative or larger than the number of elements in the queue, the element is added to the end of the queue.

-> m () 

Inserts a new element into queue at the given position.

Since: 2.4

pushTail

data QueuePushTailMethodInfo Source #

Instances

((~) * signature (Ptr () -> m ()), MonadIO m) => MethodInfo * QueuePushTailMethodInfo Queue signature Source # 

queuePushTail Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Queue

queue: a Queue

-> Ptr ()

data: the data for the new element

-> m () 

Adds a new element at the tail of the queue.

remove

data QueueRemoveMethodInfo Source #

Instances

((~) * signature (Ptr () -> m Bool), MonadIO m) => MethodInfo * QueueRemoveMethodInfo Queue signature Source # 

queueRemove Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Queue

queue: a Queue

-> Ptr ()

data: the data to remove

-> m Bool

Returns: True if data was found and removed from queue

Removes the first element in queue that contains data.

Since: 2.4

removeAll

data QueueRemoveAllMethodInfo Source #

Instances

((~) * signature (Ptr () -> m Word32), MonadIO m) => MethodInfo * QueueRemoveAllMethodInfo Queue signature Source # 

queueRemoveAll Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Queue

queue: a Queue

-> Ptr ()

data: the data to remove

-> m Word32

Returns: the number of elements removed from queue

Remove all elements whose data equals data from queue.

Since: 2.4

reverse

data QueueReverseMethodInfo Source #

Instances

((~) * signature (m ()), MonadIO m) => MethodInfo * QueueReverseMethodInfo Queue signature Source # 

queueReverse Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Queue

queue: a Queue

-> m () 

Reverses the order of the items in queue.

Since: 2.4

Properties

head

getQueueHead :: MonadIO m => Queue -> m [Ptr ()] Source #

setQueueHead :: MonadIO m => Queue -> Ptr (GList (Ptr ())) -> m () Source #

length

tail

getQueueTail :: MonadIO m => Queue -> m [Ptr ()] Source #

setQueueTail :: MonadIO m => Queue -> Ptr (GList (Ptr ())) -> m () Source #