<!-- ##### 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>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### 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_: 


