Struct

GLibQueue

Description [src]

struct GQueue {
  GList* head;
  GList* tail;
  guint length;
}

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

Structure members
head

A pointer to the first element of the queue.

tail

A pointer to the last element of the queue.

length

The number of elements in the queue.

Functions

g_queue_new

Creates a new GQueue.

Instance methods

g_queue_clear

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

Available since: 2.14

g_queue_clear_full

Convenience method, which frees all the memory used by a GQueue, and calls the provided free_func on each item in the GQueue.

Available since: 2.60

g_queue_copy

Copies a queue. Note that is a shallow copy. If the elements in the queue consist of pointers to data, the pointers are copied, but the actual data is not.

Available since: 2.4

g_queue_delete_link

Removes link_ from queue and frees it.

Available since: 2.4

g_queue_find

Finds the first link in queue which contains data.

Available since: 2.4

g_queue_find_custom

Finds an element in a GQueue, using a supplied function to find the desired element. It iterates over the queue, calling the given function which should return 0 when the desired element is found. The function takes two gconstpointer arguments, the GQueue element’s data as the first argument and the given user data as the second argument.

Available since: 2.4

g_queue_foreach

Calls func for each element in the queue passing user_data to the function.

Available since: 2.4

g_queue_free

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

g_queue_free_full

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

Available since: 2.32

g_queue_get_length

Returns the number of items in queue.

Available since: 2.4

g_queue_index

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

Available since: 2.4

g_queue_init

A statically-allocated GQueue 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().

Available since: 2.14

g_queue_insert_after

Inserts data into queue after sibling.

Available since: 2.4

g_queue_insert_after_link

Inserts link_ into queue after sibling.

Available since: 2.62

g_queue_insert_before

Inserts data into queue before sibling.

Available since: 2.4

g_queue_insert_before_link

Inserts link_ into queue before sibling.

Available since: 2.62

g_queue_insert_sorted

Inserts data into queue using func to determine the new position.

Available since: 2.4

g_queue_is_empty

Returns TRUE if the queue is empty.

g_queue_link_index

Returns the position of link_ in queue.

Available since: 2.4

g_queue_peek_head

Returns the first element of the queue.

g_queue_peek_head_link

Returns the first link in queue.

Available since: 2.4

g_queue_peek_nth

Returns the nth element of queue.

Available since: 2.4

g_queue_peek_nth_link

Returns the link at the given position.

Available since: 2.4

g_queue_peek_tail

Returns the last element of the queue.

g_queue_peek_tail_link

Returns the last link in queue.

Available since: 2.4

g_queue_pop_head

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

g_queue_pop_head_link

Removes and returns the first element of the queue.

g_queue_pop_nth

Removes the nth element of queue and returns its data.

Available since: 2.4

g_queue_pop_nth_link

Removes and returns the link at the given position.

Available since: 2.4

g_queue_pop_tail

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

g_queue_pop_tail_link

Removes and returns the last element of the queue.

g_queue_push_head

Adds a new element at the head of the queue.

g_queue_push_head_link

Adds a new element at the head of the queue.

g_queue_push_nth

Inserts a new element into queue at the given position.

Available since: 2.4

g_queue_push_nth_link

Inserts link into queue at the given position.

Available since: 2.4

g_queue_push_tail

Adds a new element at the tail of the queue.

g_queue_push_tail_link

Adds a new element at the tail of the queue.

g_queue_remove

Removes the first element in queue that contains data.

Available since: 2.4

g_queue_remove_all

Remove all elements whose data equals data from queue.

Available since: 2.4

g_queue_reverse

Reverses the order of the items in queue.

Available since: 2.4

g_queue_sort

Sorts queue using compare_func.

Available since: 2.4

g_queue_unlink

Unlinks link_ so that it will no longer be part of queue. The link is not freed.

Available since: 2.4