4
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
5
<title>Value arrays</title>
6
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
6
<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
7
7
<link rel="home" href="index.html" title="GObject Reference Manual">
8
8
<link rel="up" href="rn01.html" title="API Reference">
9
9
<link rel="prev" href="gobject-Closures.html" title="Closures">
10
10
<link rel="next" href="rn02.html" title="Tools Reference">
11
<meta name="generator" content="GTK-Doc V1.13 (XML mode)">
11
<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
12
12
<link rel="stylesheet" href="style.css" type="text/css">
13
13
<link rel="preface" href="pr01.html" title="Introduction">
14
14
<link rel="part" href="pt01.html" title="Part I. Concepts">
69
69
<div class="refsynopsisdiv" title="Synopsis">
70
70
<a name="gobject-Value-arrays.synopsis"></a><h2>Synopsis</h2>
71
71
<pre class="synopsis">
72
73
#include <glib-object.h>
74
75
<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a>;
75
<a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="returnvalue">GValue</span></a>* <a class="link" href="gobject-Value-arrays.html#g-value-array-get-nth" title="g_value_array_get_nth ()">g_value_array_get_nth</a> (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a> *value_array,
76
<a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> index_);
77
<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a>* <a class="link" href="gobject-Value-arrays.html#g-value-array-new" title="g_value_array_new ()">g_value_array_new</a> (<a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> n_prealloced);
78
<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a>* <a class="link" href="gobject-Value-arrays.html#g-value-array-copy" title="g_value_array_copy ()">g_value_array_copy</a> (const <a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a> *value_array);
79
<span class="returnvalue">void</span> <a class="link" href="gobject-Value-arrays.html#g-value-array-free" title="g_value_array_free ()">g_value_array_free</a> (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a> *value_array);
80
<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a>* <a class="link" href="gobject-Value-arrays.html#g-value-array-append" title="g_value_array_append ()">g_value_array_append</a> (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a> *value_array,
81
const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="returnvalue">GValue</span></a> *value);
82
<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a>* <a class="link" href="gobject-Value-arrays.html#g-value-array-prepend" title="g_value_array_prepend ()">g_value_array_prepend</a> (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a> *value_array,
83
const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="returnvalue">GValue</span></a> *value);
84
<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a>* <a class="link" href="gobject-Value-arrays.html#g-value-array-insert" title="g_value_array_insert ()">g_value_array_insert</a> (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a> *value_array,
85
<a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> index_,
86
const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="returnvalue">GValue</span></a> *value);
87
<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a>* <a class="link" href="gobject-Value-arrays.html#g-value-array-remove" title="g_value_array_remove ()">g_value_array_remove</a> (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a> *value_array,
88
<a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> index_);
89
<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a>* <a class="link" href="gobject-Value-arrays.html#g-value-array-sort" title="g_value_array_sort ()">g_value_array_sort</a> (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a> *value_array,
90
<a href="./../glib/glib/glib-Doubly-Linked-Lists.html#GCompareFunc"><span class="returnvalue">GCompareFunc</span></a> compare_func);
91
<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a>* <a class="link" href="gobject-Value-arrays.html#g-value-array-sort-with-data" title="g_value_array_sort_with_data ()">g_value_array_sort_with_data</a> (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a> *value_array,
92
<a href="./../glib/glib/glib-Doubly-Linked-Lists.html#GCompareDataFunc"><span class="returnvalue">GCompareDataFunc</span></a> compare_func,
93
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> user_data);
76
<a class="link" href="gobject-Generic-values.html#GValue" title="GValue">GValue</a>* <a class="link" href="gobject-Value-arrays.html#g-value-array-get-nth" title="g_value_array_get_nth ()">g_value_array_get_nth</a> (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a> *value_array,
78
href="./../glib/glib/glib-Basic-Types.html#guint"
80
<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a>* <a class="link" href="gobject-Value-arrays.html#g-value-array-new" title="g_value_array_new ()">g_value_array_new</a> (<a
81
href="./../glib/glib/glib-Basic-Types.html#guint"
82
>guint</a> n_prealloced);
83
<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a>* <a class="link" href="gobject-Value-arrays.html#g-value-array-copy" title="g_value_array_copy ()">g_value_array_copy</a> (const <a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a> *value_array);
84
void <a class="link" href="gobject-Value-arrays.html#g-value-array-free" title="g_value_array_free ()">g_value_array_free</a> (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a> *value_array);
85
<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a>* <a class="link" href="gobject-Value-arrays.html#g-value-array-append" title="g_value_array_append ()">g_value_array_append</a> (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a> *value_array,
86
const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue">GValue</a> *value);
87
<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a>* <a class="link" href="gobject-Value-arrays.html#g-value-array-prepend" title="g_value_array_prepend ()">g_value_array_prepend</a> (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a> *value_array,
88
const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue">GValue</a> *value);
89
<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a>* <a class="link" href="gobject-Value-arrays.html#g-value-array-insert" title="g_value_array_insert ()">g_value_array_insert</a> (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a> *value_array,
91
href="./../glib/glib/glib-Basic-Types.html#guint"
93
const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue">GValue</a> *value);
94
<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a>* <a class="link" href="gobject-Value-arrays.html#g-value-array-remove" title="g_value_array_remove ()">g_value_array_remove</a> (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a> *value_array,
96
href="./../glib/glib/glib-Basic-Types.html#guint"
98
<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a>* <a class="link" href="gobject-Value-arrays.html#g-value-array-sort" title="g_value_array_sort ()">g_value_array_sort</a> (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a> *value_array,
100
href="./../glib/glib/glib-Doubly-Linked-Lists.html#GCompareFunc"
101
>GCompareFunc</a> compare_func);
102
<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a>* <a class="link" href="gobject-Value-arrays.html#g-value-array-sort-with-data" title="g_value_array_sort_with_data ()">g_value_array_sort_with_data</a> (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a> *value_array,
104
href="./../glib/glib/glib-Doubly-Linked-Lists.html#GCompareDataFunc"
105
>GCompareDataFunc</a> compare_func,
107
href="./../glib/glib/glib-Basic-Types.html#gpointer"
108
>gpointer</a> user_data);
96
111
<div class="refsect1" title="Description">
114
131
A <a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="type">GValueArray</span></a> contains an array of <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> elements.</p>
115
134
<div class="variablelist"><table border="0">
116
135
<col align="left" valign="top">
119
<td><p><span class="term"><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GValueArray.n-values"></a>n_values</code></em>;</span></p></td>
138
<td><p><span class="term"><a
139
href="./../glib/glib/glib-Basic-Types.html#guint"
140
>guint</a> <em class="structfield"><code>n_values</code></em>;</span></p></td>
120
141
<td> number of values contained in the array
124
<td><p><span class="term"><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *<em class="structfield"><code><a name="GValueArray.values"></a>values</code></em>;</span></p></td>
145
<td><p><span class="term"><a class="link" href="gobject-Generic-values.html#GValue" title="GValue">GValue</a> *<em class="structfield"><code>values</code></em>;</span></p></td>
125
146
<td> array of values
132
153
<div class="refsect2" title="g_value_array_get_nth ()">
133
154
<a name="g-value-array-get-nth"></a><h3>g_value_array_get_nth ()</h3>
134
<pre class="programlisting"><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="returnvalue">GValue</span></a>* g_value_array_get_nth (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a> *value_array,
135
<a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> index_);</pre>
155
<pre class="programlisting"><a class="link" href="gobject-Generic-values.html#GValue" title="GValue">GValue</a>* g_value_array_get_nth (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a> *value_array,
157
href="./../glib/glib/glib-Basic-Types.html#guint"
158
>guint</a> index_);</pre>
137
160
Return a pointer to the value at <em class="parameter"><code>index_</code></em> containd in <em class="parameter"><code>value_array</code></em>.</p>
138
163
<div class="variablelist"><table border="0">
139
164
<col align="left" valign="top">
160
185
<div class="refsect2" title="g_value_array_new ()">
161
186
<a name="g-value-array-new"></a><h3>g_value_array_new ()</h3>
162
<pre class="programlisting"><a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a>* g_value_array_new (<a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> n_prealloced);</pre>
187
<pre class="programlisting"><a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a>* g_value_array_new (<a
188
href="./../glib/glib/glib-Basic-Types.html#guint"
189
>guint</a> n_prealloced);</pre>
164
191
Allocate and initialize a new <a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="type">GValueArray</span></a>, optionally preserve space
165
192
for <em class="parameter"><code>n_prealloced</code></em> elements. New arrays always contain 0 elements,
166
193
regardless of the value of <em class="parameter"><code>n_prealloced</code></em>.</p>
167
196
<div class="variablelist"><table border="0">
168
197
<col align="left" valign="top">
222
255
<div class="refsect2" title="g_value_array_append ()">
223
256
<a name="g-value-array-append"></a><h3>g_value_array_append ()</h3>
224
<pre class="programlisting"><a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a>* g_value_array_append (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a> *value_array,
225
const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="returnvalue">GValue</span></a> *value);</pre>
257
<pre class="programlisting"><a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a>* g_value_array_append (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a> *value_array,
258
const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue">GValue</a> *value);</pre>
227
260
Insert a copy of <em class="parameter"><code>value</code></em> as last element of <em class="parameter"><code>value_array</code></em>.</p>
228
263
<div class="variablelist"><table border="0">
229
264
<col align="left" valign="top">
250
285
<div class="refsect2" title="g_value_array_prepend ()">
251
286
<a name="g-value-array-prepend"></a><h3>g_value_array_prepend ()</h3>
252
<pre class="programlisting"><a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a>* g_value_array_prepend (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a> *value_array,
253
const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="returnvalue">GValue</span></a> *value);</pre>
287
<pre class="programlisting"><a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a>* g_value_array_prepend (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a> *value_array,
288
const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue">GValue</a> *value);</pre>
255
290
Insert a copy of <em class="parameter"><code>value</code></em> as first element of <em class="parameter"><code>value_array</code></em>.</p>
256
293
<div class="variablelist"><table border="0">
257
294
<col align="left" valign="top">
278
315
<div class="refsect2" title="g_value_array_insert ()">
279
316
<a name="g-value-array-insert"></a><h3>g_value_array_insert ()</h3>
280
<pre class="programlisting"><a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a>* g_value_array_insert (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a> *value_array,
281
<a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> index_,
282
const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="returnvalue">GValue</span></a> *value);</pre>
317
<pre class="programlisting"><a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a>* g_value_array_insert (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a> *value_array,
319
href="./../glib/glib/glib-Basic-Types.html#guint"
321
const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue">GValue</a> *value);</pre>
284
323
Insert a copy of <em class="parameter"><code>value</code></em> at specified position into <em class="parameter"><code>value_array</code></em>.</p>
285
326
<div class="variablelist"><table border="0">
286
327
<col align="left" valign="top">
312
353
<div class="refsect2" title="g_value_array_remove ()">
313
354
<a name="g-value-array-remove"></a><h3>g_value_array_remove ()</h3>
314
<pre class="programlisting"><a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a>* g_value_array_remove (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a> *value_array,
315
<a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> index_);</pre>
355
<pre class="programlisting"><a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a>* g_value_array_remove (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a> *value_array,
357
href="./../glib/glib/glib-Basic-Types.html#guint"
358
>guint</a> index_);</pre>
317
360
Remove the value at position <em class="parameter"><code>index_</code></em> from <em class="parameter"><code>value_array</code></em>.</p>
318
363
<div class="variablelist"><table border="0">
319
364
<col align="left" valign="top">
340
385
<div class="refsect2" title="g_value_array_sort ()">
341
386
<a name="g-value-array-sort"></a><h3>g_value_array_sort ()</h3>
342
<pre class="programlisting"><a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a>* g_value_array_sort (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a> *value_array,
343
<a href="./../glib/glib/glib-Doubly-Linked-Lists.html#GCompareFunc"><span class="returnvalue">GCompareFunc</span></a> compare_func);</pre>
387
<pre class="programlisting"><a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a>* g_value_array_sort (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a> *value_array,
389
href="./../glib/glib/glib-Doubly-Linked-Lists.html#GCompareFunc"
390
>GCompareFunc</a> compare_func);</pre>
345
392
Sort <em class="parameter"><code>value_array</code></em> using <em class="parameter"><code>compare_func</code></em> to compare the elements accoring to
346
the semantics of <a href="./../glib/glib/glib-Doubly-Linked-Lists.html#GCompareFunc"><span class="type">GCompareFunc</span></a>.
394
href="./../glib/glib/glib-Doubly-Linked-Lists.html#GCompareFunc"
395
><span class="type">GCompareFunc</span></a>.
349
398
The current implementation uses Quick-Sort as sorting algorithm.</p>
350
401
<div class="variablelist"><table border="0">
351
402
<col align="left" valign="top">
372
423
<div class="refsect2" title="g_value_array_sort_with_data ()">
373
424
<a name="g-value-array-sort-with-data"></a><h3>g_value_array_sort_with_data ()</h3>
374
<pre class="programlisting"><a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a>* g_value_array_sort_with_data (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray"><span class="returnvalue">GValueArray</span></a> *value_array,
375
<a href="./../glib/glib/glib-Doubly-Linked-Lists.html#GCompareDataFunc"><span class="returnvalue">GCompareDataFunc</span></a> compare_func,
376
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> user_data);</pre>
425
<pre class="programlisting"><a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a>* g_value_array_sort_with_data (<a class="link" href="gobject-Value-arrays.html#GValueArray" title="GValueArray">GValueArray</a> *value_array,
427
href="./../glib/glib/glib-Doubly-Linked-Lists.html#GCompareDataFunc"
428
>GCompareDataFunc</a> compare_func,
430
href="./../glib/glib/glib-Basic-Types.html#gpointer"
431
>gpointer</a> user_data);</pre>
378
433
Sort <em class="parameter"><code>value_array</code></em> using <em class="parameter"><code>compare_func</code></em> to compare the elements accoring
379
to the semantics of <a href="./../glib/glib/glib-Doubly-Linked-Lists.html#GCompareDataFunc"><span class="type">GCompareDataFunc</span></a>.
434
to the semantics of <a
435
href="./../glib/glib/glib-Doubly-Linked-Lists.html#GCompareDataFunc"
436
><span class="type">GCompareDataFunc</span></a>.
382
439
The current implementation uses Quick-Sort as sorting algorithm.</p>
383
442
<div class="variablelist"><table border="0">
384
443
<col align="left" valign="top">