mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-03-30 12:23:06 +02:00
2005-05-05 Owen Taylor <otaylor@redhat.com> * gobject.[ch] gobject.symbols: Add g_object_add/remove_toggle_ref() functions to get notification when a reference count is the last remaining reference; this enables better memory management for language bindings. (http://mail.gnome.org/archives/gtk-devel-list/2005-April/msg00095.html) 2005-05-05 Owen Taylor <otaylor@redhat.com> * glib/gdataset.[ch] glib/gdatasetprivate.h: Add g_datalist_set/unset_flags(), g_datalist_get_flags() functions to squeeze some bits into a GDataSet... this is needed for efficient implementation of toggle references in GObject. * tests/gobject/references.c tests/gobject/Makefile.am: Add a test case for weak and toggle references. * glib/gfileutils.[ch]: Rename g_file_replace() back to g_file_set_contents(). * glib/glib.symbols: Update. 2005-05-05 Owen Taylor <otaylor@redhat.com> * glib/Makefile.am glib/glib-sections.txt gobject/gobject-sections.txt: Update * gobject/tmpl/objects.sgml: Document toggle-references.
397 lines
4.5 KiB
Plaintext
397 lines
4.5 KiB
Plaintext
<!-- ##### 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_:
|
|
|
|
|