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