2005-12-05 Matthias Clasen <mclasen@redhat.com>
+ * gobject/tmpl/generic_values.sgml:
+ * glib/tmpl/trees-nary.sgml:
+ * glib/tmpl/linked_lists_double.sgml:
+ * glib/tmpl/linked_lists_single.sgml:
+ * glib/tmpl/memory_chunks.sgml:
+ * glib/tmpl/allocators.sgml:
+ * glib/tmpl/macros_misc.sgml: Updates
+
* glib/Makefile.am: Ignore gmirroringtable.h
2005-12-04 Matthias Clasen <mclasen@redhat.com>
Memory Allocators
<!-- ##### SECTION Short_Description ##### -->
-allocates chunks of memory for #GList, #GSList and #GNode.
+deprecated way to allocate chunks of memory for #GList, #GSList and #GNode.
<!-- ##### SECTION Long_Description ##### -->
<para>
-The #GAllocator is used as an efficient way to allocate small pieces of
-memory for use with the #GList, #GSList and #GNode data structures.
-It uses a #GMemChunk so elements are allocated in groups, rather than
-individually.
</para>
<para>
-The #GList, #GSList and #GNode implementations create default #GAllocator
-objects, which are probably sufficient for most purposes. These default
-allocators use blocks of 128 elements.
-</para>
-<para>
-To use your own #GAllocator, create it with g_allocator_new(). Then
-use g_list_push_allocator(), g_slist_push_allocator() or
-g_node_push_allocator() before any code which allocates new #GList, #GSList
-or #GNode elements respectively. After allocating the new elements, you must
-use g_list_pop_allocator(), g_slist_pop_allocator() or g_node_pop_allocator()
-to restore the previous allocators.
-</para>
-<para>
-Note that you cannot use the same allocator for #GList, #GSList and #GNode
-elements. Each must use separate allocators.
+Prior to 2.10, #GAllocator was used as an efficient way to allocate
+small pieces of memory for use with the #GList, #GSList and #GNode data
+structures. Since 2.10, it has been completely replaced by the
+<link linkend="glib-Memory-Slices">slice allocator</link> and deprecated.
</para>
<!-- ##### SECTION See_Also ##### -->
<!-- ##### STRUCT GAllocator ##### -->
<para>
-The <structname>GAllocator</structname> struct contains private data. and should only be accessed
-using the following functions.
+The <structname>GAllocator</structname> struct contains private data. and
+should only be accessed using the following functions.
</para>
(GLib uses 128 elements per block by default.) The value must be between 1
and 65535.
@Returns: a new #GAllocator.
+@Deprecated: Use the <link linkend="glib-Memory-Slices">slice allocator</link>
+instead
<!-- ##### FUNCTION g_allocator_free ##### -->
</para>
@allocator: a #GAllocator.
+@Deprecated: Use the <link linkend="glib-Memory-Slices">slice allocator</link>
+instead
or simply pointers to any type of data.
</para>
<para>
-List elements are allocated in blocks using a #GAllocator, which is
-more efficient than allocating elements individually.
+List elements are allocated from the <link linkend="glib-Memory-Slices">slice
+allocator</link>, which is more efficient than allocating elements
+individually.
</para>
<para>
Note that most of the #GList functions expect to be passed a pointer to
<!-- ##### FUNCTION g_list_free ##### -->
<para>
Frees all of the memory used by a #GList.
-The freed elements are added to the #GAllocator free list.
+The freed elements are returned to the slice allocator.
</para>
<note>
<para>
</para>
@allocator: the #GAllocator to use when allocating #GList elements.
+@Deprecated: Since 2.10, it does nothing, since #GList has been
+converted to the <link linkend="glib-Memory-Slices">slice allocator</link>
<!-- ##### FUNCTION g_list_pop_allocator ##### -->
with <option>--disable-mem-pools</option>
</para>
+@Deprecated: Since 2.10, it does nothing, since #GList has been
+converted to the <link linkend="glib-Memory-Slices">slice allocator</link>
+
or simply pointers to any type of data.
</para>
<para>
-List elements are allocated in blocks using a #GAllocator, which is
-more efficient than allocating elements individually.
+List elements are allocated from the <link linkend="glib-Memory-Slices">slice
+allocator</link>, which is more efficient than allocating elements
+individually.
</para>
<para>
Note that most of the #GSList functions expect to be passed a pointer to
<!-- ##### FUNCTION g_slist_free ##### -->
<para>
Frees all of the memory used by a #GSList.
-The freed elements are added to the #GAllocator free list.
+The freed elements are returned to the slice allocator.
</para>
@list: a #GSList.
@list: a #GSList element.
-<!-- ##### FUNCTION g_slist_free1 ##### -->
+<!-- ##### MACRO g_slist_free1 ##### -->
<para>
A macro which does the same as g_slist_free_1().
</para>
@Since: 2.10
+
<!-- ##### FUNCTION g_slist_length ##### -->
<para>
Gets the number of elements in a #GSList.
with <option>--disable-mem-pools</option>
</para>
-@dummy:
-<!-- # Unused Parameters # -->
-@allocator: the #GAllocator to use when allocating #GSList elements.
+@dummy: the #GAllocator to use when allocating #GSList elements.
+@Deprecated: Since 2.10, it does nothing, since #GSList has been
+converted to the <link linkend="glib-Memory-Slices">slice allocator</link>
<!-- ##### FUNCTION g_slist_pop_allocator ##### -->
with <option>--disable-mem-pools</option>
</para>
+@Deprecated: Since 2.10, it does nothing, since #GSList has been
+converted to the <link linkend="glib-Memory-Slices">slice allocator</link>
+
Since: 2.8
+
<!-- ##### MACRO G_GNUC_WARN_UNUSED_RESULT ##### -->
<para>
Expands to the GNU C <literal>warn_unused_ersult</literal> function attribute
is ignored. See the GNU C documentation for details.
</para>
-Since: 2.10
+@Since: 2.10
+
<!-- ##### MACRO G_GNUC_FUNCTION ##### -->
with <option>--disable-mem-pools</option>
</para>
-@dummy:
-<!-- # Unused Parameters # -->
-@allocator: the #GAllocator to use when allocating #GNode elements.
+@dummy: the #GAllocator to use when allocating #GNode elements.
+@Deprecated: Since 2.10, it does nothing, since #GNode has been
+converted to the <link linkend="glib-Memory-Slices">slice allocator</link>
<!-- ##### FUNCTION g_node_pop_allocator ##### -->
with <option>--disable-mem-pools</option>
</para>
+@Deprecated: Since 2.10, it does nothing, since #GNode has been
+converted to the <link linkend="glib-Memory-Slices">slice allocator</link>
</para>
@value: An initialized #GValue structure.
-@instance:
+@instance: the instance
<!-- ##### FUNCTION g_value_fits_pointer ##### -->