Update to version 2.33.1
[profile/ivi/glib2.git] / docs / reference / glib / html / glib-Sequences.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>Sequences</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="GLib Reference Manual">
8 <link rel="up" href="glib-data-types.html" title="GLib Data Types">
9 <link rel="prev" href="glib-Double-ended-Queues.html" title="Double-ended Queues">
10 <link rel="next" href="glib-Trash-Stacks.html" title="Trash Stacks">
11 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16 <tr valign="middle">
17 <td><a accesskey="p" href="glib-Double-ended-Queues.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="glib-data-types.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">GLib Reference Manual</th>
21 <td><a accesskey="n" href="glib-Trash-Stacks.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#glib-Sequences.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#glib-Sequences.description" class="shortcut">Description</a>
27 </td></tr>
28 </table>
29 <div class="refentry">
30 <a name="glib-Sequences"></a><div class="titlepage"></div>
31 <div class="refnamediv"><table width="100%"><tr>
32 <td valign="top">
33 <h2><span class="refentrytitle"><a name="glib-Sequences.top_of_page"></a>Sequences</span></h2>
34 <p>Sequences — scalable lists</p>
35 </td>
36 <td valign="top" align="right"></td>
37 </tr></table></div>
38 <div class="refsynopsisdiv">
39 <a name="glib-Sequences.synopsis"></a><h2>Synopsis</h2>
40 <pre class="synopsis">
41 #include &lt;glib.h&gt;
42
43                     <a class="link" href="glib-Sequences.html#GSequence" title="GSequence">GSequence</a>;
44 typedef             <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter">GSequenceIter</a>;
45 <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a>                (<a class="link" href="glib-Sequences.html#GSequenceIterCompareFunc" title="GSequenceIterCompareFunc ()">*GSequenceIterCompareFunc</a>)         (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *a</code></em>,
46                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *b</code></em>,
47                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>);
48
49 <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="returnvalue">GSequence</span></a> *         <a class="link" href="glib-Sequences.html#g-sequence-new" title="g_sequence_new ()">g_sequence_new</a>                      (<em class="parameter"><code><a class="link" href="glib-Datasets.html#GDestroyNotify" title="GDestroyNotify ()"><span class="type">GDestroyNotify</span></a> data_destroy</code></em>);
50 <span class="returnvalue">void</span>                <a class="link" href="glib-Sequences.html#g-sequence-free" title="g_sequence_free ()">g_sequence_free</a>                     (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>);
51 <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a>                <a class="link" href="glib-Sequences.html#g-sequence-get-length" title="g_sequence_get_length ()">g_sequence_get_length</a>               (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>);
52 <span class="returnvalue">void</span>                <a class="link" href="glib-Sequences.html#g-sequence-foreach" title="g_sequence_foreach ()">g_sequence_foreach</a>                  (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
53                                                          <em class="parameter"><code><a class="link" href="glib-Doubly-Linked-Lists.html#GFunc" title="GFunc ()"><span class="type">GFunc</span></a> func</code></em>,
54                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
55 <span class="returnvalue">void</span>                <a class="link" href="glib-Sequences.html#g-sequence-foreach-range" title="g_sequence_foreach_range ()">g_sequence_foreach_range</a>            (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *begin</code></em>,
56                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *end</code></em>,
57                                                          <em class="parameter"><code><a class="link" href="glib-Doubly-Linked-Lists.html#GFunc" title="GFunc ()"><span class="type">GFunc</span></a> func</code></em>,
58                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
59 <span class="returnvalue">void</span>                <a class="link" href="glib-Sequences.html#g-sequence-sort" title="g_sequence_sort ()">g_sequence_sort</a>                     (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
60                                                          <em class="parameter"><code><a class="link" href="glib-Doubly-Linked-Lists.html#GCompareDataFunc" title="GCompareDataFunc ()"><span class="type">GCompareDataFunc</span></a> cmp_func</code></em>,
61                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> cmp_data</code></em>);
62 <span class="returnvalue">void</span>                <a class="link" href="glib-Sequences.html#g-sequence-sort-iter" title="g_sequence_sort_iter ()">g_sequence_sort_iter</a>                (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
63                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIterCompareFunc" title="GSequenceIterCompareFunc ()"><span class="type">GSequenceIterCompareFunc</span></a> cmp_func</code></em>,
64                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> cmp_data</code></em>);
65
66 <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     <a class="link" href="glib-Sequences.html#g-sequence-get-begin-iter" title="g_sequence_get_begin_iter ()">g_sequence_get_begin_iter</a>           (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>);
67 <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     <a class="link" href="glib-Sequences.html#g-sequence-get-end-iter" title="g_sequence_get_end_iter ()">g_sequence_get_end_iter</a>             (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>);
68 <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     <a class="link" href="glib-Sequences.html#g-sequence-get-iter-at-pos" title="g_sequence_get_iter_at_pos ()">g_sequence_get_iter_at_pos</a>          (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
69                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> pos</code></em>);
70 <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     <a class="link" href="glib-Sequences.html#g-sequence-append" title="g_sequence_append ()">g_sequence_append</a>                   (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
71                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>);
72 <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     <a class="link" href="glib-Sequences.html#g-sequence-prepend" title="g_sequence_prepend ()">g_sequence_prepend</a>                  (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
73                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>);
74 <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     <a class="link" href="glib-Sequences.html#g-sequence-insert-before" title="g_sequence_insert_before ()">g_sequence_insert_before</a>            (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>,
75                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>);
76 <span class="returnvalue">void</span>                <a class="link" href="glib-Sequences.html#g-sequence-move" title="g_sequence_move ()">g_sequence_move</a>                     (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *src</code></em>,
77                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *dest</code></em>);
78 <span class="returnvalue">void</span>                <a class="link" href="glib-Sequences.html#g-sequence-swap" title="g_sequence_swap ()">g_sequence_swap</a>                     (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *a</code></em>,
79                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *b</code></em>);
80 <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     <a class="link" href="glib-Sequences.html#g-sequence-insert-sorted" title="g_sequence_insert_sorted ()">g_sequence_insert_sorted</a>            (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
81                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
82                                                          <em class="parameter"><code><a class="link" href="glib-Doubly-Linked-Lists.html#GCompareDataFunc" title="GCompareDataFunc ()"><span class="type">GCompareDataFunc</span></a> cmp_func</code></em>,
83                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> cmp_data</code></em>);
84 <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     <a class="link" href="glib-Sequences.html#g-sequence-insert-sorted-iter" title="g_sequence_insert_sorted_iter ()">g_sequence_insert_sorted_iter</a>       (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
85                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
86                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIterCompareFunc" title="GSequenceIterCompareFunc ()"><span class="type">GSequenceIterCompareFunc</span></a> iter_cmp</code></em>,
87                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> cmp_data</code></em>);
88 <span class="returnvalue">void</span>                <a class="link" href="glib-Sequences.html#g-sequence-sort-changed" title="g_sequence_sort_changed ()">g_sequence_sort_changed</a>             (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>,
89                                                          <em class="parameter"><code><a class="link" href="glib-Doubly-Linked-Lists.html#GCompareDataFunc" title="GCompareDataFunc ()"><span class="type">GCompareDataFunc</span></a> cmp_func</code></em>,
90                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> cmp_data</code></em>);
91 <span class="returnvalue">void</span>                <a class="link" href="glib-Sequences.html#g-sequence-sort-changed-iter" title="g_sequence_sort_changed_iter ()">g_sequence_sort_changed_iter</a>        (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>,
92                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIterCompareFunc" title="GSequenceIterCompareFunc ()"><span class="type">GSequenceIterCompareFunc</span></a> iter_cmp</code></em>,
93                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> cmp_data</code></em>);
94 <span class="returnvalue">void</span>                <a class="link" href="glib-Sequences.html#g-sequence-remove" title="g_sequence_remove ()">g_sequence_remove</a>                   (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>);
95 <span class="returnvalue">void</span>                <a class="link" href="glib-Sequences.html#g-sequence-remove-range" title="g_sequence_remove_range ()">g_sequence_remove_range</a>             (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *begin</code></em>,
96                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *end</code></em>);
97 <span class="returnvalue">void</span>                <a class="link" href="glib-Sequences.html#g-sequence-move-range" title="g_sequence_move_range ()">g_sequence_move_range</a>               (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *dest</code></em>,
98                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *begin</code></em>,
99                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *end</code></em>);
100 <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     <a class="link" href="glib-Sequences.html#g-sequence-search" title="g_sequence_search ()">g_sequence_search</a>                   (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
101                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
102                                                          <em class="parameter"><code><a class="link" href="glib-Doubly-Linked-Lists.html#GCompareDataFunc" title="GCompareDataFunc ()"><span class="type">GCompareDataFunc</span></a> cmp_func</code></em>,
103                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> cmp_data</code></em>);
104 <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     <a class="link" href="glib-Sequences.html#g-sequence-search-iter" title="g_sequence_search_iter ()">g_sequence_search_iter</a>              (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
105                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
106                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIterCompareFunc" title="GSequenceIterCompareFunc ()"><span class="type">GSequenceIterCompareFunc</span></a> iter_cmp</code></em>,
107                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> cmp_data</code></em>);
108 <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     <a class="link" href="glib-Sequences.html#g-sequence-lookup" title="g_sequence_lookup ()">g_sequence_lookup</a>                   (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
109                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
110                                                          <em class="parameter"><code><a class="link" href="glib-Doubly-Linked-Lists.html#GCompareDataFunc" title="GCompareDataFunc ()"><span class="type">GCompareDataFunc</span></a> cmp_func</code></em>,
111                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> cmp_data</code></em>);
112 <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     <a class="link" href="glib-Sequences.html#g-sequence-lookup-iter" title="g_sequence_lookup_iter ()">g_sequence_lookup_iter</a>              (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
113                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
114                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIterCompareFunc" title="GSequenceIterCompareFunc ()"><span class="type">GSequenceIterCompareFunc</span></a> iter_cmp</code></em>,
115                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> cmp_data</code></em>);
116
117 <a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="glib-Sequences.html#g-sequence-get" title="g_sequence_get ()">g_sequence_get</a>                      (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>);
118 <span class="returnvalue">void</span>                <a class="link" href="glib-Sequences.html#g-sequence-set" title="g_sequence_set ()">g_sequence_set</a>                      (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>,
119                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>);
120
121 <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="glib-Sequences.html#g-sequence-iter-is-begin" title="g_sequence_iter_is_begin ()">g_sequence_iter_is_begin</a>            (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>);
122 <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="glib-Sequences.html#g-sequence-iter-is-end" title="g_sequence_iter_is_end ()">g_sequence_iter_is_end</a>              (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>);
123 <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     <a class="link" href="glib-Sequences.html#g-sequence-iter-next" title="g_sequence_iter_next ()">g_sequence_iter_next</a>                (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>);
124 <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     <a class="link" href="glib-Sequences.html#g-sequence-iter-prev" title="g_sequence_iter_prev ()">g_sequence_iter_prev</a>                (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>);
125 <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a>                <a class="link" href="glib-Sequences.html#g-sequence-iter-get-position" title="g_sequence_iter_get_position ()">g_sequence_iter_get_position</a>        (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>);
126 <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     <a class="link" href="glib-Sequences.html#g-sequence-iter-move" title="g_sequence_iter_move ()">g_sequence_iter_move</a>                (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>,
127                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> delta</code></em>);
128 <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="returnvalue">GSequence</span></a> *         <a class="link" href="glib-Sequences.html#g-sequence-iter-get-sequence" title="g_sequence_iter_get_sequence ()">g_sequence_iter_get_sequence</a>        (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>);
129
130 <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a>                <a class="link" href="glib-Sequences.html#g-sequence-iter-compare" title="g_sequence_iter_compare ()">g_sequence_iter_compare</a>             (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *a</code></em>,
131                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *b</code></em>);
132 <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     <a class="link" href="glib-Sequences.html#g-sequence-range-get-midpoint" title="g_sequence_range_get_midpoint ()">g_sequence_range_get_midpoint</a>       (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *begin</code></em>,
133                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *end</code></em>);
134 </pre>
135 </div>
136 <div class="refsect1">
137 <a name="glib-Sequences.description"></a><h2>Description</h2>
138 <p>
139 The <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> data structure has the API of a list, but is
140 implemented internally with a balanced binary tree. This means that
141 it is possible to maintain a sorted list of n elements in time O(n
142 log n). The data contained in each element can be either integer
143 values, by using of the <a class="link" href="glib-Type-Conversion-Macros.html" title="Type Conversion Macros">Type Conversion Macros</a>,
144 or simply pointers to any type of data.
145 </p>
146 <p>
147 A <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> is accessed through <em class="firstterm">iterators</em>,
148 represented by a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>. An iterator represents a position
149 between two elements of the sequence. For example, the
150 <em class="firstterm">begin</em> iterator represents the gap immediately
151 before the first element of the sequence, and the
152 <em class="firstterm">end</em> iterator represents the gap immediately
153 after the last element. In an empty sequence, the begin and end
154 iterators are the same.
155 </p>
156 <p>
157 Some methods on <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> operate on ranges of items. For example
158 <a class="link" href="glib-Sequences.html#g-sequence-foreach-range" title="g_sequence_foreach_range ()"><code class="function">g_sequence_foreach_range()</code></a> will call a user-specified function on
159 each element with the given range. The range is delimited by the
160 gaps represented by the passed-in iterators, so if you pass in the
161 begin and end iterators, the range in question is the entire
162 sequence.
163 </p>
164 <p>
165 The function <a class="link" href="glib-Sequences.html#g-sequence-get" title="g_sequence_get ()"><code class="function">g_sequence_get()</code></a> is used with an iterator to access the
166 element immediately following the gap that the iterator represents.
167 The iterator is said to <em class="firstterm">point</em> to that element.
168 </p>
169 <p>
170 Iterators are stable across most operations on a <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a>. For
171 example an iterator pointing to some element of a sequence will
172 continue to point to that element even after the sequence is sorted.
173 Even moving an element to another sequence using for example
174 <a class="link" href="glib-Sequences.html#g-sequence-move-range" title="g_sequence_move_range ()"><code class="function">g_sequence_move_range()</code></a> will not invalidate the iterators pointing
175 to it. The only operation that will invalidate an iterator is when
176 the element it points to is removed from any sequence.
177 </p>
178 </div>
179 <div class="refsect1">
180 <a name="glib-Sequences.details"></a><h2>Details</h2>
181 <div class="refsect2">
182 <a name="GSequence"></a><h3>GSequence</h3>
183 <pre class="programlisting">typedef struct _GSequence GSequence;</pre>
184 <p>
185 The <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> struct is an opaque data type representing a
186 <a class="link" href="glib-Sequences.html" title="Sequences">Sequence</a> data type.
187 </p>
188 </div>
189 <hr>
190 <div class="refsect2">
191 <a name="GSequenceIter"></a><h3>GSequenceIter</h3>
192 <pre class="programlisting">typedef struct _GSequenceNode  GSequenceIter;
193 </pre>
194 <p>
195 The <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> struct is an opaque data type representing an
196 iterator pointing into a <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a>.
197 </p>
198 </div>
199 <hr>
200 <div class="refsect2">
201 <a name="GSequenceIterCompareFunc"></a><h3>GSequenceIterCompareFunc ()</h3>
202 <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a>                (*GSequenceIterCompareFunc)         (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *a</code></em>,
203                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *b</code></em>,
204                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
205 <p>
206 A <a class="link" href="glib-Sequences.html#GSequenceIterCompareFunc" title="GSequenceIterCompareFunc ()"><span class="type">GSequenceIterCompareFunc</span></a> is a function used to compare iterators.
207 It must return zero if the iterators compare equal, a negative value
208 if <em class="parameter"><code>a</code></em> comes before <em class="parameter"><code>b</code></em>, and a positive value if <em class="parameter"><code>b</code></em> comes before <em class="parameter"><code>a</code></em>.
209 </p>
210 <div class="variablelist"><table border="0">
211 <col align="left" valign="top">
212 <tbody>
213 <tr>
214 <td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
215 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
216 </td>
217 </tr>
218 <tr>
219 <td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
220 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
221 </td>
222 </tr>
223 <tr>
224 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
225 <td>user data</td>
226 </tr>
227 <tr>
228 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
229 <td>zero if the iterators are equal, a negative value if <em class="parameter"><code>a</code></em>
230 comes before <em class="parameter"><code>b</code></em>, and a positive value if <em class="parameter"><code>b</code></em> comes before
231 <em class="parameter"><code>a</code></em>.</td>
232 </tr>
233 </tbody>
234 </table></div>
235 </div>
236 <hr>
237 <div class="refsect2">
238 <a name="g-sequence-new"></a><h3>g_sequence_new ()</h3>
239 <pre class="programlisting"><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="returnvalue">GSequence</span></a> *         g_sequence_new                      (<em class="parameter"><code><a class="link" href="glib-Datasets.html#GDestroyNotify" title="GDestroyNotify ()"><span class="type">GDestroyNotify</span></a> data_destroy</code></em>);</pre>
240 <p>
241 Creates a new GSequence. The <em class="parameter"><code>data_destroy</code></em> function, if non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> will
242 be called on all items when the sequence is destroyed and on items that
243 are removed from the sequence.
244 </p>
245 <div class="variablelist"><table border="0">
246 <col align="left" valign="top">
247 <tbody>
248 <tr>
249 <td><p><span class="term"><em class="parameter"><code>data_destroy</code></em> :</span></p></td>
250 <td>a <a class="link" href="glib-Datasets.html#GDestroyNotify" title="GDestroyNotify ()"><span class="type">GDestroyNotify</span></a> function, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
251 </td>
252 </tr>
253 <tr>
254 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
255 <td>a new <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a>
256 </td>
257 </tr>
258 </tbody>
259 </table></div>
260 <p class="since">Since 2.14</p>
261 </div>
262 <hr>
263 <div class="refsect2">
264 <a name="g-sequence-free"></a><h3>g_sequence_free ()</h3>
265 <pre class="programlisting"><span class="returnvalue">void</span>                g_sequence_free                     (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>);</pre>
266 <p>
267 Frees the memory allocated for <em class="parameter"><code>seq</code></em>. If <em class="parameter"><code>seq</code></em> has a data destroy
268 function associated with it, that function is called on all items in
269 <em class="parameter"><code>seq</code></em>.
270 </p>
271 <div class="variablelist"><table border="0">
272 <col align="left" valign="top">
273 <tbody><tr>
274 <td><p><span class="term"><em class="parameter"><code>seq</code></em> :</span></p></td>
275 <td>a <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a>
276 </td>
277 </tr></tbody>
278 </table></div>
279 <p class="since">Since 2.14</p>
280 </div>
281 <hr>
282 <div class="refsect2">
283 <a name="g-sequence-get-length"></a><h3>g_sequence_get_length ()</h3>
284 <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a>                g_sequence_get_length               (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>);</pre>
285 <p>
286 Returns the length of <em class="parameter"><code>seq</code></em>
287 </p>
288 <div class="variablelist"><table border="0">
289 <col align="left" valign="top">
290 <tbody>
291 <tr>
292 <td><p><span class="term"><em class="parameter"><code>seq</code></em> :</span></p></td>
293 <td>a <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a>
294 </td>
295 </tr>
296 <tr>
297 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
298 <td>the length of <em class="parameter"><code>seq</code></em>
299 </td>
300 </tr>
301 </tbody>
302 </table></div>
303 <p class="since">Since 2.14</p>
304 </div>
305 <hr>
306 <div class="refsect2">
307 <a name="g-sequence-foreach"></a><h3>g_sequence_foreach ()</h3>
308 <pre class="programlisting"><span class="returnvalue">void</span>                g_sequence_foreach                  (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
309                                                          <em class="parameter"><code><a class="link" href="glib-Doubly-Linked-Lists.html#GFunc" title="GFunc ()"><span class="type">GFunc</span></a> func</code></em>,
310                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
311 <p>
312 Calls <em class="parameter"><code>func</code></em> for each item in the sequence passing <em class="parameter"><code>user_data</code></em>
313 to the function.
314 </p>
315 <div class="variablelist"><table border="0">
316 <col align="left" valign="top">
317 <tbody>
318 <tr>
319 <td><p><span class="term"><em class="parameter"><code>seq</code></em> :</span></p></td>
320 <td>a <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a>
321 </td>
322 </tr>
323 <tr>
324 <td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
325 <td>the function to call for each item in <em class="parameter"><code>seq</code></em>
326 </td>
327 </tr>
328 <tr>
329 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
330 <td>user data passed to <em class="parameter"><code>func</code></em>
331 </td>
332 </tr>
333 </tbody>
334 </table></div>
335 <p class="since">Since 2.14</p>
336 </div>
337 <hr>
338 <div class="refsect2">
339 <a name="g-sequence-foreach-range"></a><h3>g_sequence_foreach_range ()</h3>
340 <pre class="programlisting"><span class="returnvalue">void</span>                g_sequence_foreach_range            (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *begin</code></em>,
341                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *end</code></em>,
342                                                          <em class="parameter"><code><a class="link" href="glib-Doubly-Linked-Lists.html#GFunc" title="GFunc ()"><span class="type">GFunc</span></a> func</code></em>,
343                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
344 <p>
345 Calls <em class="parameter"><code>func</code></em> for each item in the range (<em class="parameter"><code>begin</code></em>, <em class="parameter"><code>end</code></em>) passing
346 <em class="parameter"><code>user_data</code></em> to the function.
347 </p>
348 <div class="variablelist"><table border="0">
349 <col align="left" valign="top">
350 <tbody>
351 <tr>
352 <td><p><span class="term"><em class="parameter"><code>begin</code></em> :</span></p></td>
353 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
354 </td>
355 </tr>
356 <tr>
357 <td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
358 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
359 </td>
360 </tr>
361 <tr>
362 <td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
363 <td>a <a class="link" href="glib-Doubly-Linked-Lists.html#GFunc" title="GFunc ()"><span class="type">GFunc</span></a>
364 </td>
365 </tr>
366 <tr>
367 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
368 <td>user data passed to <em class="parameter"><code>func</code></em>
369 </td>
370 </tr>
371 </tbody>
372 </table></div>
373 <p class="since">Since 2.14</p>
374 </div>
375 <hr>
376 <div class="refsect2">
377 <a name="g-sequence-sort"></a><h3>g_sequence_sort ()</h3>
378 <pre class="programlisting"><span class="returnvalue">void</span>                g_sequence_sort                     (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
379                                                          <em class="parameter"><code><a class="link" href="glib-Doubly-Linked-Lists.html#GCompareDataFunc" title="GCompareDataFunc ()"><span class="type">GCompareDataFunc</span></a> cmp_func</code></em>,
380                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> cmp_data</code></em>);</pre>
381 <p>
382 Sorts <em class="parameter"><code>seq</code></em> using <em class="parameter"><code>cmp_func</code></em>.
383 </p>
384 <p>
385 <em class="parameter"><code>cmp_func</code></em> is passed two items of <em class="parameter"><code>seq</code></em> and should
386 return 0 if they are equal, a negative value if the
387 first comes before the second, and a positive value
388 if the second comes before the first.
389 </p>
390 <div class="variablelist"><table border="0">
391 <col align="left" valign="top">
392 <tbody>
393 <tr>
394 <td><p><span class="term"><em class="parameter"><code>seq</code></em> :</span></p></td>
395 <td>a <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a>
396 </td>
397 </tr>
398 <tr>
399 <td><p><span class="term"><em class="parameter"><code>cmp_func</code></em> :</span></p></td>
400 <td>the function used to sort the sequence</td>
401 </tr>
402 <tr>
403 <td><p><span class="term"><em class="parameter"><code>cmp_data</code></em> :</span></p></td>
404 <td>user data passed to <em class="parameter"><code>cmp_func</code></em>
405 </td>
406 </tr>
407 </tbody>
408 </table></div>
409 <p class="since">Since 2.14</p>
410 </div>
411 <hr>
412 <div class="refsect2">
413 <a name="g-sequence-sort-iter"></a><h3>g_sequence_sort_iter ()</h3>
414 <pre class="programlisting"><span class="returnvalue">void</span>                g_sequence_sort_iter                (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
415                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIterCompareFunc" title="GSequenceIterCompareFunc ()"><span class="type">GSequenceIterCompareFunc</span></a> cmp_func</code></em>,
416                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> cmp_data</code></em>);</pre>
417 <p>
418 Like <a class="link" href="glib-Sequences.html#g-sequence-sort" title="g_sequence_sort ()"><code class="function">g_sequence_sort()</code></a>, but uses a <a class="link" href="glib-Sequences.html#GSequenceIterCompareFunc" title="GSequenceIterCompareFunc ()"><span class="type">GSequenceIterCompareFunc</span></a> instead
419 of a GCompareDataFunc as the compare function
420 </p>
421 <p>
422 <em class="parameter"><code>cmp_func</code></em> is called with two iterators pointing into <em class="parameter"><code>seq</code></em>. It should
423 return 0 if the iterators are equal, a negative value if the first
424 iterator comes before the second, and a positive value if the second
425 iterator comes before the first.
426 </p>
427 <div class="variablelist"><table border="0">
428 <col align="left" valign="top">
429 <tbody>
430 <tr>
431 <td><p><span class="term"><em class="parameter"><code>seq</code></em> :</span></p></td>
432 <td>a <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a>
433 </td>
434 </tr>
435 <tr>
436 <td><p><span class="term"><em class="parameter"><code>cmp_func</code></em> :</span></p></td>
437 <td>the function used to compare iterators in the sequence</td>
438 </tr>
439 <tr>
440 <td><p><span class="term"><em class="parameter"><code>cmp_data</code></em> :</span></p></td>
441 <td>user data passed to <em class="parameter"><code>cmp_func</code></em>
442 </td>
443 </tr>
444 </tbody>
445 </table></div>
446 <p class="since">Since 2.14</p>
447 </div>
448 <hr>
449 <div class="refsect2">
450 <a name="g-sequence-get-begin-iter"></a><h3>g_sequence_get_begin_iter ()</h3>
451 <pre class="programlisting"><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     g_sequence_get_begin_iter           (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>);</pre>
452 <p>
453 Returns the begin iterator for <em class="parameter"><code>seq</code></em>.
454 </p>
455 <div class="variablelist"><table border="0">
456 <col align="left" valign="top">
457 <tbody>
458 <tr>
459 <td><p><span class="term"><em class="parameter"><code>seq</code></em> :</span></p></td>
460 <td>a <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a>
461 </td>
462 </tr>
463 <tr>
464 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
465 <td>the begin iterator for <em class="parameter"><code>seq</code></em>.</td>
466 </tr>
467 </tbody>
468 </table></div>
469 <p class="since">Since 2.14</p>
470 </div>
471 <hr>
472 <div class="refsect2">
473 <a name="g-sequence-get-end-iter"></a><h3>g_sequence_get_end_iter ()</h3>
474 <pre class="programlisting"><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     g_sequence_get_end_iter             (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>);</pre>
475 <p>
476 Returns the end iterator for <em class="parameter"><code>seg</code></em>
477 </p>
478 <div class="variablelist"><table border="0">
479 <col align="left" valign="top">
480 <tbody>
481 <tr>
482 <td><p><span class="term"><em class="parameter"><code>seq</code></em> :</span></p></td>
483 <td>a <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a>
484 </td>
485 </tr>
486 <tr>
487 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
488 <td>the end iterator for <em class="parameter"><code>seq</code></em>
489 </td>
490 </tr>
491 </tbody>
492 </table></div>
493 <p class="since">Since 2.14</p>
494 </div>
495 <hr>
496 <div class="refsect2">
497 <a name="g-sequence-get-iter-at-pos"></a><h3>g_sequence_get_iter_at_pos ()</h3>
498 <pre class="programlisting"><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     g_sequence_get_iter_at_pos          (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
499                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> pos</code></em>);</pre>
500 <p>
501 Returns the iterator at position <em class="parameter"><code>pos</code></em>. If <em class="parameter"><code>pos</code></em> is negative or larger
502 than the number of items in <em class="parameter"><code>seq</code></em>, the end iterator is returned.
503 </p>
504 <div class="variablelist"><table border="0">
505 <col align="left" valign="top">
506 <tbody>
507 <tr>
508 <td><p><span class="term"><em class="parameter"><code>seq</code></em> :</span></p></td>
509 <td>a <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a>
510 </td>
511 </tr>
512 <tr>
513 <td><p><span class="term"><em class="parameter"><code>pos</code></em> :</span></p></td>
514 <td>a position in <em class="parameter"><code>seq</code></em>, or -1 for the end.</td>
515 </tr>
516 <tr>
517 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
518 <td>The <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> at position <em class="parameter"><code>pos</code></em>
519 </td>
520 </tr>
521 </tbody>
522 </table></div>
523 <p class="since">Since 2.14</p>
524 </div>
525 <hr>
526 <div class="refsect2">
527 <a name="g-sequence-append"></a><h3>g_sequence_append ()</h3>
528 <pre class="programlisting"><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     g_sequence_append                   (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
529                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
530 <p>
531 Adds a new item to the end of <em class="parameter"><code>seq</code></em>.
532 </p>
533 <div class="variablelist"><table border="0">
534 <col align="left" valign="top">
535 <tbody>
536 <tr>
537 <td><p><span class="term"><em class="parameter"><code>seq</code></em> :</span></p></td>
538 <td>a <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a>
539 </td>
540 </tr>
541 <tr>
542 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
543 <td>the data for the new item</td>
544 </tr>
545 <tr>
546 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
547 <td>an iterator pointing to the new item</td>
548 </tr>
549 </tbody>
550 </table></div>
551 <p class="since">Since 2.14</p>
552 </div>
553 <hr>
554 <div class="refsect2">
555 <a name="g-sequence-prepend"></a><h3>g_sequence_prepend ()</h3>
556 <pre class="programlisting"><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     g_sequence_prepend                  (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
557                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
558 <p>
559 Adds a new item to the front of <em class="parameter"><code>seq</code></em>
560 </p>
561 <div class="variablelist"><table border="0">
562 <col align="left" valign="top">
563 <tbody>
564 <tr>
565 <td><p><span class="term"><em class="parameter"><code>seq</code></em> :</span></p></td>
566 <td>a <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a>
567 </td>
568 </tr>
569 <tr>
570 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
571 <td>the data for the new item</td>
572 </tr>
573 <tr>
574 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
575 <td>an iterator pointing to the new item</td>
576 </tr>
577 </tbody>
578 </table></div>
579 <p class="since">Since 2.14</p>
580 </div>
581 <hr>
582 <div class="refsect2">
583 <a name="g-sequence-insert-before"></a><h3>g_sequence_insert_before ()</h3>
584 <pre class="programlisting"><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     g_sequence_insert_before            (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>,
585                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
586 <p>
587 Inserts a new item just before the item pointed to by <em class="parameter"><code>iter</code></em>.
588 </p>
589 <div class="variablelist"><table border="0">
590 <col align="left" valign="top">
591 <tbody>
592 <tr>
593 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
594 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
595 </td>
596 </tr>
597 <tr>
598 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
599 <td>the data for the new item</td>
600 </tr>
601 <tr>
602 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
603 <td>an iterator pointing to the new item</td>
604 </tr>
605 </tbody>
606 </table></div>
607 <p class="since">Since 2.14</p>
608 </div>
609 <hr>
610 <div class="refsect2">
611 <a name="g-sequence-move"></a><h3>g_sequence_move ()</h3>
612 <pre class="programlisting"><span class="returnvalue">void</span>                g_sequence_move                     (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *src</code></em>,
613                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *dest</code></em>);</pre>
614 <p>
615 Moves the item pointed to by <em class="parameter"><code>src</code></em> to the position indicated by <em class="parameter"><code>dest</code></em>.
616 After calling this function <em class="parameter"><code>dest</code></em> will point to the position immediately
617 after <em class="parameter"><code>src</code></em>. It is allowed for <em class="parameter"><code>src</code></em> and <em class="parameter"><code>dest</code></em> to point into different
618 sequences.
619 </p>
620 <div class="variablelist"><table border="0">
621 <col align="left" valign="top">
622 <tbody>
623 <tr>
624 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
625 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> pointing to the item to move</td>
626 </tr>
627 <tr>
628 <td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
629 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> pointing to the position to which
630 the item is moved.</td>
631 </tr>
632 </tbody>
633 </table></div>
634 <p class="since">Since 2.14</p>
635 </div>
636 <hr>
637 <div class="refsect2">
638 <a name="g-sequence-swap"></a><h3>g_sequence_swap ()</h3>
639 <pre class="programlisting"><span class="returnvalue">void</span>                g_sequence_swap                     (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *a</code></em>,
640                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *b</code></em>);</pre>
641 <p>
642 Swaps the items pointed to by <em class="parameter"><code>a</code></em> and <em class="parameter"><code>b</code></em>. It is allowed for <em class="parameter"><code>a</code></em> and <em class="parameter"><code>b</code></em>
643 to point into difference sequences.
644 </p>
645 <div class="variablelist"><table border="0">
646 <col align="left" valign="top">
647 <tbody>
648 <tr>
649 <td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
650 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
651 </td>
652 </tr>
653 <tr>
654 <td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
655 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
656 </td>
657 </tr>
658 </tbody>
659 </table></div>
660 <p class="since">Since 2.14</p>
661 </div>
662 <hr>
663 <div class="refsect2">
664 <a name="g-sequence-insert-sorted"></a><h3>g_sequence_insert_sorted ()</h3>
665 <pre class="programlisting"><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     g_sequence_insert_sorted            (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
666                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
667                                                          <em class="parameter"><code><a class="link" href="glib-Doubly-Linked-Lists.html#GCompareDataFunc" title="GCompareDataFunc ()"><span class="type">GCompareDataFunc</span></a> cmp_func</code></em>,
668                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> cmp_data</code></em>);</pre>
669 <p>
670 Inserts <em class="parameter"><code>data</code></em> into <em class="parameter"><code>sequence</code></em> using <em class="parameter"><code>func</code></em> to determine the new
671 position. The sequence must already be sorted according to <em class="parameter"><code>cmp_func</code></em>;
672 otherwise the new position of <em class="parameter"><code>data</code></em> is undefined.
673 </p>
674 <p>
675 <em class="parameter"><code>cmp_func</code></em> is called with two items of the <em class="parameter"><code>seq</code></em> and <em class="parameter"><code>user_data</code></em>.
676 It should return 0 if the items are equal, a negative value
677 if the first item comes before the second, and a positive value
678 if the second  item comes before the first.
679 </p>
680 <div class="variablelist"><table border="0">
681 <col align="left" valign="top">
682 <tbody>
683 <tr>
684 <td><p><span class="term"><em class="parameter"><code>seq</code></em> :</span></p></td>
685 <td>a <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a>
686 </td>
687 </tr>
688 <tr>
689 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
690 <td>the data to insert</td>
691 </tr>
692 <tr>
693 <td><p><span class="term"><em class="parameter"><code>cmp_func</code></em> :</span></p></td>
694 <td>the function used to compare items in the sequence</td>
695 </tr>
696 <tr>
697 <td><p><span class="term"><em class="parameter"><code>cmp_data</code></em> :</span></p></td>
698 <td>user data passed to <em class="parameter"><code>cmp_func</code></em>.</td>
699 </tr>
700 <tr>
701 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
702 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> pointing to the new item.</td>
703 </tr>
704 </tbody>
705 </table></div>
706 <p class="since">Since 2.14</p>
707 </div>
708 <hr>
709 <div class="refsect2">
710 <a name="g-sequence-insert-sorted-iter"></a><h3>g_sequence_insert_sorted_iter ()</h3>
711 <pre class="programlisting"><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     g_sequence_insert_sorted_iter       (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
712                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
713                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIterCompareFunc" title="GSequenceIterCompareFunc ()"><span class="type">GSequenceIterCompareFunc</span></a> iter_cmp</code></em>,
714                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> cmp_data</code></em>);</pre>
715 <p>
716 Like <a class="link" href="glib-Sequences.html#g-sequence-insert-sorted" title="g_sequence_insert_sorted ()"><code class="function">g_sequence_insert_sorted()</code></a>, but uses
717 a <a class="link" href="glib-Sequences.html#GSequenceIterCompareFunc" title="GSequenceIterCompareFunc ()"><span class="type">GSequenceIterCompareFunc</span></a> instead of a <a class="link" href="glib-Doubly-Linked-Lists.html#GCompareDataFunc" title="GCompareDataFunc ()"><span class="type">GCompareDataFunc</span></a> as
718 the compare function.
719 </p>
720 <p>
721 <em class="parameter"><code>iter_cmp</code></em> is called with two iterators pointing into <em class="parameter"><code>seq</code></em>.
722 It should return 0 if the iterators are equal, a negative
723 value if the first iterator comes before the second, and a
724 positive value if the second iterator comes before the first.
725 </p>
726 <p>
727 It is called with two iterators pointing into <em class="parameter"><code>seq</code></em>. It should
728 return 0 if the iterators are equal, a negative value if the
729 first iterator comes before the second, and a positive value
730 if the second iterator comes before the first.
731 </p>
732 <div class="variablelist"><table border="0">
733 <col align="left" valign="top">
734 <tbody>
735 <tr>
736 <td><p><span class="term"><em class="parameter"><code>seq</code></em> :</span></p></td>
737 <td>a <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a>
738 </td>
739 </tr>
740 <tr>
741 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
742 <td>data for the new item</td>
743 </tr>
744 <tr>
745 <td><p><span class="term"><em class="parameter"><code>iter_cmp</code></em> :</span></p></td>
746 <td>the function used to compare iterators in the sequence</td>
747 </tr>
748 <tr>
749 <td><p><span class="term"><em class="parameter"><code>cmp_data</code></em> :</span></p></td>
750 <td>user data passed to <em class="parameter"><code>cmp_func</code></em>
751 </td>
752 </tr>
753 <tr>
754 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
755 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> pointing to the new item</td>
756 </tr>
757 </tbody>
758 </table></div>
759 <p class="since">Since 2.14</p>
760 </div>
761 <hr>
762 <div class="refsect2">
763 <a name="g-sequence-sort-changed"></a><h3>g_sequence_sort_changed ()</h3>
764 <pre class="programlisting"><span class="returnvalue">void</span>                g_sequence_sort_changed             (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>,
765                                                          <em class="parameter"><code><a class="link" href="glib-Doubly-Linked-Lists.html#GCompareDataFunc" title="GCompareDataFunc ()"><span class="type">GCompareDataFunc</span></a> cmp_func</code></em>,
766                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> cmp_data</code></em>);</pre>
767 <p>
768 Moves the data pointed to a new position as indicated by <em class="parameter"><code>cmp_func</code></em>. This
769 function should be called for items in a sequence already sorted according
770 to <em class="parameter"><code>cmp_func</code></em> whenever some aspect of an item changes so that <em class="parameter"><code>cmp_func</code></em>
771 may return different values for that item.
772 </p>
773 <p>
774 <em class="parameter"><code>cmp_func</code></em> is called with two items of the <em class="parameter"><code>seq</code></em> and <em class="parameter"><code>user_data</code></em>.
775 It should return 0 if the items are equal, a negative value if
776 the first item comes before the second, and a positive value if
777 the second item comes before the first.
778 </p>
779 <div class="variablelist"><table border="0">
780 <col align="left" valign="top">
781 <tbody>
782 <tr>
783 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
784 <td>A <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
785 </td>
786 </tr>
787 <tr>
788 <td><p><span class="term"><em class="parameter"><code>cmp_func</code></em> :</span></p></td>
789 <td>the function used to compare items in the sequence</td>
790 </tr>
791 <tr>
792 <td><p><span class="term"><em class="parameter"><code>cmp_data</code></em> :</span></p></td>
793 <td>user data passed to <em class="parameter"><code>cmp_func</code></em>.</td>
794 </tr>
795 </tbody>
796 </table></div>
797 <p class="since">Since 2.14</p>
798 </div>
799 <hr>
800 <div class="refsect2">
801 <a name="g-sequence-sort-changed-iter"></a><h3>g_sequence_sort_changed_iter ()</h3>
802 <pre class="programlisting"><span class="returnvalue">void</span>                g_sequence_sort_changed_iter        (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>,
803                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIterCompareFunc" title="GSequenceIterCompareFunc ()"><span class="type">GSequenceIterCompareFunc</span></a> iter_cmp</code></em>,
804                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> cmp_data</code></em>);</pre>
805 <p>
806 Like <a class="link" href="glib-Sequences.html#g-sequence-sort-changed" title="g_sequence_sort_changed ()"><code class="function">g_sequence_sort_changed()</code></a>, but uses
807 a <a class="link" href="glib-Sequences.html#GSequenceIterCompareFunc" title="GSequenceIterCompareFunc ()"><span class="type">GSequenceIterCompareFunc</span></a> instead of a <a class="link" href="glib-Doubly-Linked-Lists.html#GCompareDataFunc" title="GCompareDataFunc ()"><span class="type">GCompareDataFunc</span></a> as
808 the compare function.
809 </p>
810 <p>
811 <em class="parameter"><code>iter_cmp</code></em> is called with two iterators pointing into <em class="parameter"><code>seq</code></em>. It should
812 return 0 if the iterators are equal, a negative value if the first
813 iterator comes before the second, and a positive value if the second
814 iterator comes before the first.
815 </p>
816 <div class="variablelist"><table border="0">
817 <col align="left" valign="top">
818 <tbody>
819 <tr>
820 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
821 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
822 </td>
823 </tr>
824 <tr>
825 <td><p><span class="term"><em class="parameter"><code>iter_cmp</code></em> :</span></p></td>
826 <td>the function used to compare iterators in the sequence</td>
827 </tr>
828 <tr>
829 <td><p><span class="term"><em class="parameter"><code>cmp_data</code></em> :</span></p></td>
830 <td>user data passed to <em class="parameter"><code>cmp_func</code></em>
831 </td>
832 </tr>
833 </tbody>
834 </table></div>
835 <p class="since">Since 2.14</p>
836 </div>
837 <hr>
838 <div class="refsect2">
839 <a name="g-sequence-remove"></a><h3>g_sequence_remove ()</h3>
840 <pre class="programlisting"><span class="returnvalue">void</span>                g_sequence_remove                   (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>);</pre>
841 <p>
842 Removes the item pointed to by <em class="parameter"><code>iter</code></em>. It is an error to pass the
843 end iterator to this function.
844 </p>
845 <p>
846 If the sequence has a data destroy function associated with it, this
847 function is called on the data for the removed item.
848 </p>
849 <div class="variablelist"><table border="0">
850 <col align="left" valign="top">
851 <tbody><tr>
852 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
853 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
854 </td>
855 </tr></tbody>
856 </table></div>
857 <p class="since">Since 2.14</p>
858 </div>
859 <hr>
860 <div class="refsect2">
861 <a name="g-sequence-remove-range"></a><h3>g_sequence_remove_range ()</h3>
862 <pre class="programlisting"><span class="returnvalue">void</span>                g_sequence_remove_range             (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *begin</code></em>,
863                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *end</code></em>);</pre>
864 <p>
865 Removes all items in the (<em class="parameter"><code>begin</code></em>, <em class="parameter"><code>end</code></em>) range.
866 </p>
867 <p>
868 If the sequence has a data destroy function associated with it, this
869 function is called on the data for the removed items.
870 </p>
871 <div class="variablelist"><table border="0">
872 <col align="left" valign="top">
873 <tbody>
874 <tr>
875 <td><p><span class="term"><em class="parameter"><code>begin</code></em> :</span></p></td>
876 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
877 </td>
878 </tr>
879 <tr>
880 <td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
881 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
882 </td>
883 </tr>
884 </tbody>
885 </table></div>
886 <p class="since">Since 2.14</p>
887 </div>
888 <hr>
889 <div class="refsect2">
890 <a name="g-sequence-move-range"></a><h3>g_sequence_move_range ()</h3>
891 <pre class="programlisting"><span class="returnvalue">void</span>                g_sequence_move_range               (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *dest</code></em>,
892                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *begin</code></em>,
893                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *end</code></em>);</pre>
894 <p>
895 Inserts the (<em class="parameter"><code>begin</code></em>, <em class="parameter"><code>end</code></em>) range at the destination pointed to by ptr.
896 The <em class="parameter"><code>begin</code></em> and <em class="parameter"><code>end</code></em> iters must point into the same sequence. It is
897 allowed for <em class="parameter"><code>dest</code></em> to point to a different sequence than the one pointed
898 into by <em class="parameter"><code>begin</code></em> and <em class="parameter"><code>end</code></em>.
899 </p>
900 <p>
901 If <em class="parameter"><code>dest</code></em> is NULL, the range indicated by <em class="parameter"><code>begin</code></em> and <em class="parameter"><code>end</code></em> is
902 removed from the sequence. If <em class="parameter"><code>dest</code></em> iter points to a place within
903 the (<em class="parameter"><code>begin</code></em>, <em class="parameter"><code>end</code></em>) range, the range does not move.
904 </p>
905 <div class="variablelist"><table border="0">
906 <col align="left" valign="top">
907 <tbody>
908 <tr>
909 <td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
910 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
911 </td>
912 </tr>
913 <tr>
914 <td><p><span class="term"><em class="parameter"><code>begin</code></em> :</span></p></td>
915 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
916 </td>
917 </tr>
918 <tr>
919 <td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
920 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
921 </td>
922 </tr>
923 </tbody>
924 </table></div>
925 <p class="since">Since 2.14</p>
926 </div>
927 <hr>
928 <div class="refsect2">
929 <a name="g-sequence-search"></a><h3>g_sequence_search ()</h3>
930 <pre class="programlisting"><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     g_sequence_search                   (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
931                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
932                                                          <em class="parameter"><code><a class="link" href="glib-Doubly-Linked-Lists.html#GCompareDataFunc" title="GCompareDataFunc ()"><span class="type">GCompareDataFunc</span></a> cmp_func</code></em>,
933                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> cmp_data</code></em>);</pre>
934 <p>
935 Returns an iterator pointing to the position where <em class="parameter"><code>data</code></em> would
936 be inserted according to <em class="parameter"><code>cmp_func</code></em> and <em class="parameter"><code>cmp_data</code></em>.
937 </p>
938 <p>
939 <em class="parameter"><code>cmp_func</code></em> is called with two items of the <em class="parameter"><code>seq</code></em> and <em class="parameter"><code>user_data</code></em>.
940 It should return 0 if the items are equal, a negative value if
941 the first item comes before the second, and a positive value if
942 the second item comes before the first.
943 </p>
944 <p>
945 If you are simply searching for an existing element of the sequence,
946 consider using <a class="link" href="glib-Sequences.html#g-sequence-lookup" title="g_sequence_lookup ()"><code class="function">g_sequence_lookup()</code></a>.
947 </p>
948 <p>
949 </p>
950 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
951 <h3 class="title">Note</h3>
952 <p>
953 This function will fail if the data contained in the sequence is
954 unsorted.  Use <a class="link" href="glib-Sequences.html#g-sequence-insert-sorted" title="g_sequence_insert_sorted ()"><code class="function">g_sequence_insert_sorted()</code></a> or
955 <a class="link" href="glib-Sequences.html#g-sequence-insert-sorted-iter" title="g_sequence_insert_sorted_iter ()"><code class="function">g_sequence_insert_sorted_iter()</code></a> to add data to your sequence or, if
956 you want to add a large amount of data, call <a class="link" href="glib-Sequences.html#g-sequence-sort" title="g_sequence_sort ()"><code class="function">g_sequence_sort()</code></a> after
957 doing unsorted insertions.
958 </p>
959 </div>
960 <p>
961 </p>
962 <div class="variablelist"><table border="0">
963 <col align="left" valign="top">
964 <tbody>
965 <tr>
966 <td><p><span class="term"><em class="parameter"><code>seq</code></em> :</span></p></td>
967 <td>a <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a>
968 </td>
969 </tr>
970 <tr>
971 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
972 <td>data for the new item</td>
973 </tr>
974 <tr>
975 <td><p><span class="term"><em class="parameter"><code>cmp_func</code></em> :</span></p></td>
976 <td>the function used to compare items in the sequence</td>
977 </tr>
978 <tr>
979 <td><p><span class="term"><em class="parameter"><code>cmp_data</code></em> :</span></p></td>
980 <td>user data passed to <em class="parameter"><code>cmp_func</code></em>.</td>
981 </tr>
982 <tr>
983 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
984 <td>an <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> pointing to the position where <em class="parameter"><code>data</code></em>
985 would have been inserted according to <em class="parameter"><code>cmp_func</code></em> and <em class="parameter"><code>cmp_data</code></em>.</td>
986 </tr>
987 </tbody>
988 </table></div>
989 <p class="since">Since 2.14</p>
990 </div>
991 <hr>
992 <div class="refsect2">
993 <a name="g-sequence-search-iter"></a><h3>g_sequence_search_iter ()</h3>
994 <pre class="programlisting"><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     g_sequence_search_iter              (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
995                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
996                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIterCompareFunc" title="GSequenceIterCompareFunc ()"><span class="type">GSequenceIterCompareFunc</span></a> iter_cmp</code></em>,
997                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> cmp_data</code></em>);</pre>
998 <p>
999 Like <a class="link" href="glib-Sequences.html#g-sequence-search" title="g_sequence_search ()"><code class="function">g_sequence_search()</code></a>, but uses a <a class="link" href="glib-Sequences.html#GSequenceIterCompareFunc" title="GSequenceIterCompareFunc ()"><span class="type">GSequenceIterCompareFunc</span></a>
1000 instead of a <a class="link" href="glib-Doubly-Linked-Lists.html#GCompareDataFunc" title="GCompareDataFunc ()"><span class="type">GCompareDataFunc</span></a> as the compare function.
1001 </p>
1002 <p>
1003 <em class="parameter"><code>iter_cmp</code></em> is called with two iterators pointing into <em class="parameter"><code>seq</code></em>.
1004 It should return 0 if the iterators are equal, a negative value
1005 if the first iterator comes before the second, and a positive
1006 value if the second iterator comes before the first.
1007 </p>
1008 <p>
1009 If you are simply searching for an existing element of the sequence,
1010 consider using <a class="link" href="glib-Sequences.html#g-sequence-lookup-iter" title="g_sequence_lookup_iter ()"><code class="function">g_sequence_lookup_iter()</code></a>.
1011 </p>
1012 <p>
1013 </p>
1014 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
1015 <h3 class="title">Note</h3>
1016 <p>
1017 This function will fail if the data contained in the sequence is
1018 unsorted.  Use <a class="link" href="glib-Sequences.html#g-sequence-insert-sorted" title="g_sequence_insert_sorted ()"><code class="function">g_sequence_insert_sorted()</code></a> or
1019 <a class="link" href="glib-Sequences.html#g-sequence-insert-sorted-iter" title="g_sequence_insert_sorted_iter ()"><code class="function">g_sequence_insert_sorted_iter()</code></a> to add data to your sequence or, if
1020 you want to add a large amount of data, call <a class="link" href="glib-Sequences.html#g-sequence-sort" title="g_sequence_sort ()"><code class="function">g_sequence_sort()</code></a> after
1021 doing unsorted insertions.
1022 </p>
1023 </div>
1024 <p>
1025 </p>
1026 <div class="variablelist"><table border="0">
1027 <col align="left" valign="top">
1028 <tbody>
1029 <tr>
1030 <td><p><span class="term"><em class="parameter"><code>seq</code></em> :</span></p></td>
1031 <td>a <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a>
1032 </td>
1033 </tr>
1034 <tr>
1035 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1036 <td>data for the new item</td>
1037 </tr>
1038 <tr>
1039 <td><p><span class="term"><em class="parameter"><code>iter_cmp</code></em> :</span></p></td>
1040 <td>the function used to compare iterators in the sequence</td>
1041 </tr>
1042 <tr>
1043 <td><p><span class="term"><em class="parameter"><code>cmp_data</code></em> :</span></p></td>
1044 <td>user data passed to <em class="parameter"><code>iter_cmp</code></em>
1045 </td>
1046 </tr>
1047 <tr>
1048 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1049 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> pointing to the position in <em class="parameter"><code>seq</code></em>
1050 where <em class="parameter"><code>data</code></em> would have been inserted according to <em class="parameter"><code>iter_cmp</code></em>
1051 and <em class="parameter"><code>cmp_data</code></em>.</td>
1052 </tr>
1053 </tbody>
1054 </table></div>
1055 <p class="since">Since 2.14</p>
1056 </div>
1057 <hr>
1058 <div class="refsect2">
1059 <a name="g-sequence-lookup"></a><h3>g_sequence_lookup ()</h3>
1060 <pre class="programlisting"><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     g_sequence_lookup                   (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
1061                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
1062                                                          <em class="parameter"><code><a class="link" href="glib-Doubly-Linked-Lists.html#GCompareDataFunc" title="GCompareDataFunc ()"><span class="type">GCompareDataFunc</span></a> cmp_func</code></em>,
1063                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> cmp_data</code></em>);</pre>
1064 <p>
1065 Returns an iterator pointing to the position of the first item found
1066 equal to <em class="parameter"><code>data</code></em> according to <em class="parameter"><code>cmp_func</code></em> and <em class="parameter"><code>cmp_data</code></em>. If more than one
1067 item is equal, it is not guaranteed that it is the first which is
1068 returned. In that case, you can use <a class="link" href="glib-Sequences.html#g-sequence-iter-next" title="g_sequence_iter_next ()"><code class="function">g_sequence_iter_next()</code></a> and
1069 <a class="link" href="glib-Sequences.html#g-sequence-iter-prev" title="g_sequence_iter_prev ()"><code class="function">g_sequence_iter_prev()</code></a> to get others.
1070 </p>
1071 <p>
1072 <em class="parameter"><code>cmp_func</code></em> is called with two items of the <em class="parameter"><code>seq</code></em> and <em class="parameter"><code>user_data</code></em>.
1073 It should return 0 if the items are equal, a negative value if
1074 the first item comes before the second, and a positive value if
1075 the second item comes before the first.
1076 </p>
1077 <p>
1078 </p>
1079 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
1080 <h3 class="title">Note</h3>
1081 <p>
1082 This function will fail if the data contained in the sequence is
1083 unsorted.  Use <a class="link" href="glib-Sequences.html#g-sequence-insert-sorted" title="g_sequence_insert_sorted ()"><code class="function">g_sequence_insert_sorted()</code></a> or
1084 <a class="link" href="glib-Sequences.html#g-sequence-insert-sorted-iter" title="g_sequence_insert_sorted_iter ()"><code class="function">g_sequence_insert_sorted_iter()</code></a> to add data to your sequence or, if
1085 you want to add a large amount of data, call <a class="link" href="glib-Sequences.html#g-sequence-sort" title="g_sequence_sort ()"><code class="function">g_sequence_sort()</code></a> after
1086 doing unsorted insertions.
1087 </p>
1088 </div>
1089 <p>
1090 </p>
1091 <div class="variablelist"><table border="0">
1092 <col align="left" valign="top">
1093 <tbody>
1094 <tr>
1095 <td><p><span class="term"><em class="parameter"><code>seq</code></em> :</span></p></td>
1096 <td>a <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a>
1097 </td>
1098 </tr>
1099 <tr>
1100 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1101 <td>data to lookup</td>
1102 </tr>
1103 <tr>
1104 <td><p><span class="term"><em class="parameter"><code>cmp_func</code></em> :</span></p></td>
1105 <td>the function used to compare items in the sequence</td>
1106 </tr>
1107 <tr>
1108 <td><p><span class="term"><em class="parameter"><code>cmp_data</code></em> :</span></p></td>
1109 <td>user data passed to <em class="parameter"><code>cmp_func</code></em>.</td>
1110 </tr>
1111 <tr>
1112 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1113 <td>an <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> pointing to the position of the
1114 first item found equal to <em class="parameter"><code>data</code></em> according to <em class="parameter"><code>cmp_func</code></em> and <em class="parameter"><code>cmp_data</code></em>.</td>
1115 </tr>
1116 </tbody>
1117 </table></div>
1118 <p class="since">Since 2.28</p>
1119 </div>
1120 <hr>
1121 <div class="refsect2">
1122 <a name="g-sequence-lookup-iter"></a><h3>g_sequence_lookup_iter ()</h3>
1123 <pre class="programlisting"><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     g_sequence_lookup_iter              (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> *seq</code></em>,
1124                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
1125                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIterCompareFunc" title="GSequenceIterCompareFunc ()"><span class="type">GSequenceIterCompareFunc</span></a> iter_cmp</code></em>,
1126                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> cmp_data</code></em>);</pre>
1127 <p>
1128 Like <a class="link" href="glib-Sequences.html#g-sequence-lookup" title="g_sequence_lookup ()"><code class="function">g_sequence_lookup()</code></a>, but uses a <a class="link" href="glib-Sequences.html#GSequenceIterCompareFunc" title="GSequenceIterCompareFunc ()"><span class="type">GSequenceIterCompareFunc</span></a>
1129 instead of a <a class="link" href="glib-Doubly-Linked-Lists.html#GCompareDataFunc" title="GCompareDataFunc ()"><span class="type">GCompareDataFunc</span></a> as the compare function.
1130 </p>
1131 <p>
1132 <em class="parameter"><code>iter_cmp</code></em> is called with two iterators pointing into <em class="parameter"><code>seq</code></em>.
1133 It should return 0 if the iterators are equal, a negative value
1134 if the first iterator comes before the second, and a positive
1135 value if the second iterator comes before the first.
1136 </p>
1137 <p>
1138 </p>
1139 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
1140 <h3 class="title">Note</h3>
1141 <p>
1142 This function will fail if the data contained in the sequence is
1143 unsorted.  Use <a class="link" href="glib-Sequences.html#g-sequence-insert-sorted" title="g_sequence_insert_sorted ()"><code class="function">g_sequence_insert_sorted()</code></a> or
1144 <a class="link" href="glib-Sequences.html#g-sequence-insert-sorted-iter" title="g_sequence_insert_sorted_iter ()"><code class="function">g_sequence_insert_sorted_iter()</code></a> to add data to your sequence or, if
1145 you want to add a large amount of data, call <a class="link" href="glib-Sequences.html#g-sequence-sort" title="g_sequence_sort ()"><code class="function">g_sequence_sort()</code></a> after
1146 doing unsorted insertions.
1147 </p>
1148 </div>
1149 <p>
1150 </p>
1151 <div class="variablelist"><table border="0">
1152 <col align="left" valign="top">
1153 <tbody>
1154 <tr>
1155 <td><p><span class="term"><em class="parameter"><code>seq</code></em> :</span></p></td>
1156 <td>a <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a>
1157 </td>
1158 </tr>
1159 <tr>
1160 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1161 <td>data to lookup</td>
1162 </tr>
1163 <tr>
1164 <td><p><span class="term"><em class="parameter"><code>iter_cmp</code></em> :</span></p></td>
1165 <td>the function used to compare iterators in the sequence</td>
1166 </tr>
1167 <tr>
1168 <td><p><span class="term"><em class="parameter"><code>cmp_data</code></em> :</span></p></td>
1169 <td>user data passed to <em class="parameter"><code>iter_cmp</code></em>
1170 </td>
1171 </tr>
1172 <tr>
1173 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1174 <td>an <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> pointing to the position of
1175 the first item found equal to <em class="parameter"><code>data</code></em> according to <em class="parameter"><code>cmp_func</code></em>
1176 and <em class="parameter"><code>cmp_data</code></em>.</td>
1177 </tr>
1178 </tbody>
1179 </table></div>
1180 <p class="since">Since 2.28</p>
1181 </div>
1182 <hr>
1183 <div class="refsect2">
1184 <a name="g-sequence-get"></a><h3>g_sequence_get ()</h3>
1185 <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></a>            g_sequence_get                      (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>);</pre>
1186 <p>
1187 Returns the data that <em class="parameter"><code>iter</code></em> points to.
1188 </p>
1189 <div class="variablelist"><table border="0">
1190 <col align="left" valign="top">
1191 <tbody>
1192 <tr>
1193 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
1194 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
1195 </td>
1196 </tr>
1197 <tr>
1198 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1199 <td>the data that <em class="parameter"><code>iter</code></em> points to</td>
1200 </tr>
1201 </tbody>
1202 </table></div>
1203 <p class="since">Since 2.14</p>
1204 </div>
1205 <hr>
1206 <div class="refsect2">
1207 <a name="g-sequence-set"></a><h3>g_sequence_set ()</h3>
1208 <pre class="programlisting"><span class="returnvalue">void</span>                g_sequence_set                      (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>,
1209                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
1210 <p>
1211 Changes the data for the item pointed to by <em class="parameter"><code>iter</code></em> to be <em class="parameter"><code>data</code></em>. If
1212 the sequence has a data destroy function associated with it, that
1213 function is called on the existing data that <em class="parameter"><code>iter</code></em> pointed to.
1214 </p>
1215 <div class="variablelist"><table border="0">
1216 <col align="left" valign="top">
1217 <tbody>
1218 <tr>
1219 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
1220 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
1221 </td>
1222 </tr>
1223 <tr>
1224 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1225 <td>new data for the item</td>
1226 </tr>
1227 </tbody>
1228 </table></div>
1229 <p class="since">Since 2.14</p>
1230 </div>
1231 <hr>
1232 <div class="refsect2">
1233 <a name="g-sequence-iter-is-begin"></a><h3>g_sequence_iter_is_begin ()</h3>
1234 <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a>            g_sequence_iter_is_begin            (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>);</pre>
1235 <p>
1236 Returns whether <em class="parameter"><code>iter</code></em> is the begin iterator
1237 </p>
1238 <div class="variablelist"><table border="0">
1239 <col align="left" valign="top">
1240 <tbody>
1241 <tr>
1242 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
1243 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
1244 </td>
1245 </tr>
1246 <tr>
1247 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1248 <td>whether <em class="parameter"><code>iter</code></em> is the begin iterator</td>
1249 </tr>
1250 </tbody>
1251 </table></div>
1252 <p class="since">Since 2.14</p>
1253 </div>
1254 <hr>
1255 <div class="refsect2">
1256 <a name="g-sequence-iter-is-end"></a><h3>g_sequence_iter_is_end ()</h3>
1257 <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a>            g_sequence_iter_is_end              (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>);</pre>
1258 <p>
1259 Returns whether <em class="parameter"><code>iter</code></em> is the end iterator
1260 </p>
1261 <div class="variablelist"><table border="0">
1262 <col align="left" valign="top">
1263 <tbody>
1264 <tr>
1265 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
1266 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
1267 </td>
1268 </tr>
1269 <tr>
1270 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1271 <td>Whether <em class="parameter"><code>iter</code></em> is the end iterator.</td>
1272 </tr>
1273 </tbody>
1274 </table></div>
1275 <p class="since">Since 2.14</p>
1276 </div>
1277 <hr>
1278 <div class="refsect2">
1279 <a name="g-sequence-iter-next"></a><h3>g_sequence_iter_next ()</h3>
1280 <pre class="programlisting"><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     g_sequence_iter_next                (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>);</pre>
1281 <p>
1282 Returns an iterator pointing to the next position after <em class="parameter"><code>iter</code></em>. If
1283 <em class="parameter"><code>iter</code></em> is the end iterator, the end iterator is returned.
1284 </p>
1285 <div class="variablelist"><table border="0">
1286 <col align="left" valign="top">
1287 <tbody>
1288 <tr>
1289 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
1290 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
1291 </td>
1292 </tr>
1293 <tr>
1294 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1295 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> pointing to the next position after <em class="parameter"><code>iter</code></em>.</td>
1296 </tr>
1297 </tbody>
1298 </table></div>
1299 <p class="since">Since 2.14</p>
1300 </div>
1301 <hr>
1302 <div class="refsect2">
1303 <a name="g-sequence-iter-prev"></a><h3>g_sequence_iter_prev ()</h3>
1304 <pre class="programlisting"><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     g_sequence_iter_prev                (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>);</pre>
1305 <p>
1306 Returns an iterator pointing to the previous position before <em class="parameter"><code>iter</code></em>. If
1307 <em class="parameter"><code>iter</code></em> is the begin iterator, the begin iterator is returned.
1308 </p>
1309 <div class="variablelist"><table border="0">
1310 <col align="left" valign="top">
1311 <tbody>
1312 <tr>
1313 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
1314 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
1315 </td>
1316 </tr>
1317 <tr>
1318 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1319 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> pointing to the previous position before
1320 <em class="parameter"><code>iter</code></em>.</td>
1321 </tr>
1322 </tbody>
1323 </table></div>
1324 <p class="since">Since 2.14</p>
1325 </div>
1326 <hr>
1327 <div class="refsect2">
1328 <a name="g-sequence-iter-get-position"></a><h3>g_sequence_iter_get_position ()</h3>
1329 <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a>                g_sequence_iter_get_position        (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>);</pre>
1330 <p>
1331 Returns the position of <em class="parameter"><code>iter</code></em>
1332 </p>
1333 <div class="variablelist"><table border="0">
1334 <col align="left" valign="top">
1335 <tbody>
1336 <tr>
1337 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
1338 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
1339 </td>
1340 </tr>
1341 <tr>
1342 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1343 <td>the position of <em class="parameter"><code>iter</code></em>
1344 </td>
1345 </tr>
1346 </tbody>
1347 </table></div>
1348 <p class="since">Since 2.14</p>
1349 </div>
1350 <hr>
1351 <div class="refsect2">
1352 <a name="g-sequence-iter-move"></a><h3>g_sequence_iter_move ()</h3>
1353 <pre class="programlisting"><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     g_sequence_iter_move                (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>,
1354                                                          <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> delta</code></em>);</pre>
1355 <p>
1356 Returns the <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> which is <em class="parameter"><code>delta</code></em> positions away from <em class="parameter"><code>iter</code></em>.
1357 If <em class="parameter"><code>iter</code></em> is closer than -<em class="parameter"><code>delta</code></em> positions to the beginning of the sequence,
1358 the begin iterator is returned. If <em class="parameter"><code>iter</code></em> is closer than <em class="parameter"><code>delta</code></em> positions
1359 to the end of the sequence, the end iterator is returned.
1360 </p>
1361 <div class="variablelist"><table border="0">
1362 <col align="left" valign="top">
1363 <tbody>
1364 <tr>
1365 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
1366 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
1367 </td>
1368 </tr>
1369 <tr>
1370 <td><p><span class="term"><em class="parameter"><code>delta</code></em> :</span></p></td>
1371 <td>A positive or negative number indicating how many positions away
1372 from <em class="parameter"><code>iter</code></em> the returned <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> will be.</td>
1373 </tr>
1374 <tr>
1375 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1376 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> which is <em class="parameter"><code>delta</code></em> positions away from <em class="parameter"><code>iter</code></em>.</td>
1377 </tr>
1378 </tbody>
1379 </table></div>
1380 <p class="since">Since 2.14</p>
1381 </div>
1382 <hr>
1383 <div class="refsect2">
1384 <a name="g-sequence-iter-get-sequence"></a><h3>g_sequence_iter_get_sequence ()</h3>
1385 <pre class="programlisting"><a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="returnvalue">GSequence</span></a> *         g_sequence_iter_get_sequence        (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *iter</code></em>);</pre>
1386 <p>
1387 Returns the <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> that <em class="parameter"><code>iter</code></em> points into.
1388 </p>
1389 <div class="variablelist"><table border="0">
1390 <col align="left" valign="top">
1391 <tbody>
1392 <tr>
1393 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
1394 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
1395 </td>
1396 </tr>
1397 <tr>
1398 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1399 <td>the <a class="link" href="glib-Sequences.html#GSequence" title="GSequence"><span class="type">GSequence</span></a> that <em class="parameter"><code>iter</code></em> points into.</td>
1400 </tr>
1401 </tbody>
1402 </table></div>
1403 <p class="since">Since 2.14</p>
1404 </div>
1405 <hr>
1406 <div class="refsect2">
1407 <a name="g-sequence-iter-compare"></a><h3>g_sequence_iter_compare ()</h3>
1408 <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a>                g_sequence_iter_compare             (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *a</code></em>,
1409                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *b</code></em>);</pre>
1410 <p>
1411 Returns a negative number if <em class="parameter"><code>a</code></em> comes before <em class="parameter"><code>b</code></em>, 0 if they are equal,
1412 and a positive number if <em class="parameter"><code>a</code></em> comes after <em class="parameter"><code>b</code></em>.
1413 </p>
1414 <p>
1415 The <em class="parameter"><code>a</code></em> and <em class="parameter"><code>b</code></em> iterators must point into the same sequence.
1416 </p>
1417 <div class="variablelist"><table border="0">
1418 <col align="left" valign="top">
1419 <tbody>
1420 <tr>
1421 <td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
1422 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
1423 </td>
1424 </tr>
1425 <tr>
1426 <td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
1427 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
1428 </td>
1429 </tr>
1430 <tr>
1431 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1432 <td>A negative number if <em class="parameter"><code>a</code></em> comes before <em class="parameter"><code>b</code></em>, 0 if they are
1433 equal, and a positive number if <em class="parameter"><code>a</code></em> comes after <em class="parameter"><code>b</code></em>.</td>
1434 </tr>
1435 </tbody>
1436 </table></div>
1437 <p class="since">Since 2.14</p>
1438 </div>
1439 <hr>
1440 <div class="refsect2">
1441 <a name="g-sequence-range-get-midpoint"></a><h3>g_sequence_range_get_midpoint ()</h3>
1442 <pre class="programlisting"><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     g_sequence_range_get_midpoint       (<em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *begin</code></em>,
1443                                                          <em class="parameter"><code><a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> *end</code></em>);</pre>
1444 <p>
1445 Finds an iterator somewhere in the range (<em class="parameter"><code>begin</code></em>, <em class="parameter"><code>end</code></em>). This
1446 iterator will be close to the middle of the range, but is not
1447 guaranteed to be <span class="emphasis"><em>exactly</em></span> in the middle.
1448 </p>
1449 <p>
1450 The <em class="parameter"><code>begin</code></em> and <em class="parameter"><code>end</code></em> iterators must both point to the same sequence and
1451 <em class="parameter"><code>begin</code></em> must come before or be equal to <em class="parameter"><code>end</code></em> in the sequence.
1452 </p>
1453 <div class="variablelist"><table border="0">
1454 <col align="left" valign="top">
1455 <tbody>
1456 <tr>
1457 <td><p><span class="term"><em class="parameter"><code>begin</code></em> :</span></p></td>
1458 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
1459 </td>
1460 </tr>
1461 <tr>
1462 <td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
1463 <td>a <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a>
1464 </td>
1465 </tr>
1466 <tr>
1467 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1468 <td>A <a class="link" href="glib-Sequences.html#GSequenceIter" title="GSequenceIter"><span class="type">GSequenceIter</span></a> pointing somewhere in the
1469 (<em class="parameter"><code>begin</code></em>, <em class="parameter"><code>end</code></em>) range.</td>
1470 </tr>
1471 </tbody>
1472 </table></div>
1473 <p class="since">Since 2.14</p>
1474 </div>
1475 </div>
1476 </div>
1477 <div class="footer">
1478 <hr>
1479           Generated by GTK-Doc V1.18</div>
1480 </body>
1481 </html>