Double-ended Queues double-ended queue data structure. The #GQueue structure and its associated functions provide a standard queue data structure. Internally, #GQueue uses the same data structure as #GList to store elements. The data contained in each element can be either integer values, by using one of the Type Conversion Macros, or simply pointers to any type of data. To create a new #GQueue, use g_queue_new(). To add elements, use g_queue_push_head(), g_queue_push_head_link(), g_queue_push_tail() and g_queue_push_tail_link(). To remove elements, use g_queue_pop_head() and g_queue_pop_tail(). To free the entire queue, use g_queue_free(). Contains the public fields of a Queue. @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. @Returns: @queue: @queue: @Returns: @queue: @Returns: @queue: @queue: @Returns: @queue: @func: @user_data: @queue: @data: @Returns: @queue: @data: @func: @Returns: @queue: @compare_func: @user_data: @queue: @data: @queue: @data: @queue: @data: @n: @queue: @Returns: @queue: @Returns: @queue: @n: @Returns: @queue: @Returns: @queue: @Returns: @queue: @n: @Returns: @queue: @data: @Returns: @queue: @data: @queue: @data: @queue: @sibling: @data: @queue: @sibling: @data: @queue: @data: @func: @user_data: @queue: @link_: @queue: @link_: @queue: @n: @link_: @queue: @Returns: @queue: @Returns: @queue: @n: @Returns: @queue: @Returns: @queue: @Returns: @queue: @n: @Returns: @queue: @link_: @Returns: @queue: @link_: @queue: @link_: