<!-- ##### SECTION Title ##### -->
Double-ended Queues

<!-- ##### SECTION Short_Description ##### -->
double-ended queue data structure.

<!-- ##### SECTION Long_Description ##### -->
<para>
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.  
</para>
<para>
The data contained in each element can be either integer values, by using one
of the
<link linkend="glib-Type-Conversion-Macros">Type Conversion Macros</link>,
or simply pointers to any type of data.
</para>
<para>
To create a new #GQueue, use g_queue_new().
</para>
<para>
To add elements, use g_queue_push_head(), g_queue_push_head_link(), 
g_queue_push_tail() and g_queue_push_tail_link().
</para>
<para>
To remove elements, use g_queue_pop_head() and g_queue_pop_tail().
</para>
<para>
To free the entire queue, use g_queue_free().
</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### STRUCT GQueue ##### -->
<para>
Contains the public fields of a <link linkend="glib-queues">Queue</link>.
</para>

@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.

<!-- ##### FUNCTION g_queue_new ##### -->
<para>

</para>

@Returns: 


<!-- ##### FUNCTION g_queue_free ##### -->
<para>

</para>

@queue: 


<!-- ##### FUNCTION g_queue_is_empty ##### -->
<para>

</para>

@queue: 
@Returns: 


<!-- ##### FUNCTION g_queue_get_length ##### -->
<para>

</para>

@queue: 
@Returns: 


<!-- ##### FUNCTION g_queue_reverse ##### -->
<para>

</para>

@queue: 


<!-- ##### FUNCTION g_queue_copy ##### -->
<para>

</para>

@queue: 
@Returns: 


<!-- ##### FUNCTION g_queue_foreach ##### -->
<para>

</para>

@queue: 
@func: 
@user_data: 


<!-- ##### FUNCTION g_queue_find ##### -->
<para>

</para>

@queue: 
@data: 
@Returns: 


<!-- ##### FUNCTION g_queue_find_custom ##### -->
<para>

</para>

@queue: 
@data: 
@func: 
@Returns: 


<!-- ##### FUNCTION g_queue_sort ##### -->
<para>

</para>

@queue: 
@compare_func: 
@user_data: 


<!-- ##### FUNCTION g_queue_push_head ##### -->
<para>

</para>

@queue: 
@data: 


<!-- ##### FUNCTION g_queue_push_tail ##### -->
<para>

</para>

@queue: 
@data: 


<!-- ##### FUNCTION g_queue_push_nth ##### -->
<para>

</para>

@queue: 
@data: 
@n: 


<!-- ##### FUNCTION g_queue_pop_head ##### -->
<para>

</para>

@queue: 
@Returns: 


<!-- ##### FUNCTION g_queue_pop_tail ##### -->
<para>

</para>

@queue: 
@Returns: 


<!-- ##### FUNCTION g_queue_pop_nth ##### -->
<para>

</para>

@queue: 
@n: 
@Returns: 


<!-- ##### FUNCTION g_queue_peek_head ##### -->
<para>

</para>

@queue: 
@Returns: 


<!-- ##### FUNCTION g_queue_peek_tail ##### -->
<para>

</para>

@queue: 
@Returns: 


<!-- ##### FUNCTION g_queue_peek_nth ##### -->
<para>

</para>

@queue: 
@n: 
@Returns: 


<!-- ##### FUNCTION g_queue_index ##### -->
<para>

</para>

@queue: 
@data: 
@Returns: 


<!-- ##### FUNCTION g_queue_remove ##### -->
<para>

</para>

@queue: 
@data: 


<!-- ##### FUNCTION g_queue_remove_all ##### -->
<para>

</para>

@queue: 
@data: 


<!-- ##### FUNCTION g_queue_insert_before ##### -->
<para>

</para>

@queue: 
@sibling: 
@data: 


<!-- ##### FUNCTION g_queue_insert_after ##### -->
<para>

</para>

@queue: 
@sibling: 
@data: 


<!-- ##### FUNCTION g_queue_insert_sorted ##### -->
<para>

</para>

@queue: 
@data: 
@func: 
@user_data: 


<!-- ##### FUNCTION g_queue_push_head_link ##### -->
<para>

</para>

@queue: 
@link_: 


<!-- ##### FUNCTION g_queue_push_tail_link ##### -->
<para>

</para>

@queue: 
@link_: 


<!-- ##### FUNCTION g_queue_push_nth_link ##### -->
<para>

</para>

@queue: 
@n: 
@link_: 


<!-- ##### FUNCTION g_queue_pop_head_link ##### -->
<para>

</para>

@queue: 
@Returns: 


<!-- ##### FUNCTION g_queue_pop_tail_link ##### -->
<para>

</para>

@queue: 
@Returns: 


<!-- ##### FUNCTION g_queue_pop_nth_link ##### -->
<para>

</para>

@queue: 
@n: 
@Returns: 


<!-- ##### FUNCTION g_queue_peek_head_link ##### -->
<para>

</para>

@queue: 
@Returns: 


<!-- ##### FUNCTION g_queue_peek_tail_link ##### -->
<para>

</para>

@queue: 
@Returns: 


<!-- ##### FUNCTION g_queue_peek_nth_link ##### -->
<para>

</para>

@queue: 
@n: 
@Returns: 


<!-- ##### FUNCTION g_queue_link_index ##### -->
<para>

</para>

@queue: 
@link_: 
@Returns: 


<!-- ##### FUNCTION g_queue_unlink ##### -->
<para>

</para>

@queue: 
@link_: 


<!-- ##### FUNCTION g_queue_delete_link ##### -->
<para>

</para>

@queue: 
@link_: 


