37
37
<td valign="top" align="right"></td>
38
38
</tr></table></div>
39
<div class="refsynopsisdiv" title="Synopsis">
39
<div class="refsynopsisdiv">
40
40
<a name="glib-Arrays.synopsis"></a><h2>Synopsis</h2>
41
41
<pre class="synopsis">
42
42
#include <glib.h>
44
44
<a class="link" href="glib-Arrays.html#GArray" title="GArray">GArray</a>;
45
<a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a>* <a class="link" href="glib-Arrays.html#g-array-new" title="g_array_new ()">g_array_new</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> zero_terminated</code></em>,
45
<a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a> * <a class="link" href="glib-Arrays.html#g-array-new" title="g_array_new ()">g_array_new</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> zero_terminated</code></em>,
46
46
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> clear_</code></em>,
47
47
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> element_size</code></em>);
48
<a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a>* <a class="link" href="glib-Arrays.html#g-array-sized-new" title="g_array_sized_new ()">g_array_sized_new</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> zero_terminated</code></em>,
48
<a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a> * <a class="link" href="glib-Arrays.html#g-array-sized-new" title="g_array_sized_new ()">g_array_sized_new</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> zero_terminated</code></em>,
49
49
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> clear_</code></em>,
50
50
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> element_size</code></em>,
51
51
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> reserved_size</code></em>);
54
54
<a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> <a class="link" href="glib-Arrays.html#g-array-get-element-size" title="g_array_get_element_size ()">g_array_get_element_size</a> (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>);
55
55
#define <a class="link" href="glib-Arrays.html#g-array-append-val" title="g_array_append_val()">g_array_append_val</a> (a,
57
<a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a>* <a class="link" href="glib-Arrays.html#g-array-append-vals" title="g_array_append_vals ()">g_array_append_vals</a> (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
57
<a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a> * <a class="link" href="glib-Arrays.html#g-array-append-vals" title="g_array_append_vals ()">g_array_append_vals</a> (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
58
58
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gconstpointer" title="gconstpointer"><span class="type">gconstpointer</span></a> data</code></em>,
59
59
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> len</code></em>);
60
60
#define <a class="link" href="glib-Arrays.html#g-array-prepend-val" title="g_array_prepend_val()">g_array_prepend_val</a> (a,
62
<a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a>* <a class="link" href="glib-Arrays.html#g-array-prepend-vals" title="g_array_prepend_vals ()">g_array_prepend_vals</a> (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
62
<a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a> * <a class="link" href="glib-Arrays.html#g-array-prepend-vals" title="g_array_prepend_vals ()">g_array_prepend_vals</a> (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
63
63
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gconstpointer" title="gconstpointer"><span class="type">gconstpointer</span></a> data</code></em>,
64
64
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> len</code></em>);
65
65
#define <a class="link" href="glib-Arrays.html#g-array-insert-val" title="g_array_insert_val()">g_array_insert_val</a> (a,
68
<a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a>* <a class="link" href="glib-Arrays.html#g-array-insert-vals" title="g_array_insert_vals ()">g_array_insert_vals</a> (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
68
<a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a> * <a class="link" href="glib-Arrays.html#g-array-insert-vals" title="g_array_insert_vals ()">g_array_insert_vals</a> (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
69
69
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> index_</code></em>,
70
70
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gconstpointer" title="gconstpointer"><span class="type">gconstpointer</span></a> data</code></em>,
71
71
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> len</code></em>);
72
<a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a>* <a class="link" href="glib-Arrays.html#g-array-remove-index" title="g_array_remove_index ()">g_array_remove_index</a> (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
73
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> index_</code></em>);
74
<a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a>* <a class="link" href="glib-Arrays.html#g-array-remove-index-fast" title="g_array_remove_index_fast ()">g_array_remove_index_fast</a> (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
75
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> index_</code></em>);
76
<a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a>* <a class="link" href="glib-Arrays.html#g-array-remove-range" title="g_array_remove_range ()">g_array_remove_range</a> (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
72
<a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a> * <a class="link" href="glib-Arrays.html#g-array-remove-index" title="g_array_remove_index ()">g_array_remove_index</a> (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
73
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> index_</code></em>);
74
<a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a> * <a class="link" href="glib-Arrays.html#g-array-remove-index-fast" title="g_array_remove_index_fast ()">g_array_remove_index_fast</a> (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
75
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> index_</code></em>);
76
<a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a> * <a class="link" href="glib-Arrays.html#g-array-remove-range" title="g_array_remove_range ()">g_array_remove_range</a> (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
77
77
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> index_</code></em>,
78
78
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> length</code></em>);
79
79
<span class="returnvalue">void</span> <a class="link" href="glib-Arrays.html#g-array-sort" title="g_array_sort ()">g_array_sort</a> (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
84
84
#define <a class="link" href="glib-Arrays.html#g-array-index" title="g_array_index()">g_array_index</a> (a,
87
<a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a>* <a class="link" href="glib-Arrays.html#g-array-set-size" title="g_array_set_size ()">g_array_set_size</a> (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
87
<a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a> * <a class="link" href="glib-Arrays.html#g-array-set-size" title="g_array_set_size ()">g_array_set_size</a> (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
88
88
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> length</code></em>);
89
<a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a>* <a class="link" href="glib-Arrays.html#g-array-free" title="g_array_free ()">g_array_free</a> (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
89
<a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-Arrays.html#g-array-free" title="g_array_free ()">g_array_free</a> (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
90
90
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> free_segment</code></em>);
93
<div class="refsect1" title="Description">
93
<div class="refsect1">
94
94
<a name="glib-Arrays.description"></a><h2>Description</h2>
96
96
Arrays are similar to standard C arrays, except that they grow
193
<div class="refsect2" title="g_array_new ()">
193
<div class="refsect2">
194
194
<a name="g-array-new"></a><h3>g_array_new ()</h3>
195
<pre class="programlisting"><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a>* g_array_new (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> zero_terminated</code></em>,
195
<pre class="programlisting"><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a> * g_array_new (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> zero_terminated</code></em>,
196
196
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> clear_</code></em>,
197
197
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> element_size</code></em>);</pre>
232
<div class="refsect2" title="g_array_sized_new ()">
232
<div class="refsect2">
233
233
<a name="g-array-sized-new"></a><h3>g_array_sized_new ()</h3>
234
<pre class="programlisting"><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a>* g_array_sized_new (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> zero_terminated</code></em>,
234
<pre class="programlisting"><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a> * g_array_sized_new (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> zero_terminated</code></em>,
235
235
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> clear_</code></em>,
236
236
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> element_size</code></em>,
237
237
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> reserved_size</code></em>);</pre>
390
<div class="refsect2" title="g_array_append_vals ()">
390
<div class="refsect2">
391
391
<a name="g-array-append-vals"></a><h3>g_array_append_vals ()</h3>
392
<pre class="programlisting"><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a>* g_array_append_vals (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
392
<pre class="programlisting"><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a> * g_array_append_vals (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
393
393
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gconstpointer" title="gconstpointer"><span class="type">gconstpointer</span></a> data</code></em>,
394
394
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> len</code></em>);</pre>
469
<div class="refsect2" title="g_array_prepend_vals ()">
469
<div class="refsect2">
470
470
<a name="g-array-prepend-vals"></a><h3>g_array_prepend_vals ()</h3>
471
<pre class="programlisting"><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a>* g_array_prepend_vals (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
471
<pre class="programlisting"><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a> * g_array_prepend_vals (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
472
472
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gconstpointer" title="gconstpointer"><span class="type">gconstpointer</span></a> data</code></em>,
473
473
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> len</code></em>);</pre>
553
<div class="refsect2" title="g_array_insert_vals ()">
553
<div class="refsect2">
554
554
<a name="g-array-insert-vals"></a><h3>g_array_insert_vals ()</h3>
555
<pre class="programlisting"><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a>* g_array_insert_vals (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
555
<pre class="programlisting"><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a> * g_array_insert_vals (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
556
556
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> index_</code></em>,
557
557
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gconstpointer" title="gconstpointer"><span class="type">gconstpointer</span></a> data</code></em>,
558
558
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> len</code></em>);</pre>
594
<div class="refsect2" title="g_array_remove_index ()">
594
<div class="refsect2">
595
595
<a name="g-array-remove-index"></a><h3>g_array_remove_index ()</h3>
596
<pre class="programlisting"><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a>* g_array_remove_index (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
596
<pre class="programlisting"><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a> * g_array_remove_index (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
597
597
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> index_</code></em>);</pre>
599
599
Removes the element at the given index from a <a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a>. The following
624
<div class="refsect2" title="g_array_remove_index_fast ()">
624
<div class="refsect2">
625
625
<a name="g-array-remove-index-fast"></a><h3>g_array_remove_index_fast ()</h3>
626
<pre class="programlisting"><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a>* g_array_remove_index_fast (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
626
<pre class="programlisting"><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a> * g_array_remove_index_fast (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
627
627
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> index_</code></em>);</pre>
629
629
Removes the element at the given index from a <a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a>. The last
656
<div class="refsect2" title="g_array_remove_range ()">
656
<div class="refsect2">
657
657
<a name="g-array-remove-range"></a><h3>g_array_remove_range ()</h3>
658
<pre class="programlisting"><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a>* g_array_remove_range (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
658
<pre class="programlisting"><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a> * g_array_remove_range (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
659
659
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> index_</code></em>,
660
660
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> length</code></em>);</pre>
813
<div class="refsect2" title="g_array_set_size ()">
813
<div class="refsect2">
814
814
<a name="g-array-set-size"></a><h3>g_array_set_size ()</h3>
815
<pre class="programlisting"><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a>* g_array_set_size (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
815
<pre class="programlisting"><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="returnvalue">GArray</span></a> * g_array_set_size (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
816
816
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> length</code></em>);</pre>
818
818
Sets the size of the array, expanding it if necessary. If the array
843
<div class="refsect2" title="g_array_free ()">
843
<div class="refsect2">
844
844
<a name="g-array-free"></a><h3>g_array_free ()</h3>
845
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a>* g_array_free (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
845
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_array_free (<em class="parameter"><code><a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a> *array</code></em>,
846
846
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> free_segment</code></em>);</pre>
848
848
Frees the memory allocated for the <a class="link" href="glib-Arrays.html#GArray" title="GArray"><span class="type">GArray</span></a>. If <em class="parameter"><code>free_segment</code></em> is