File: libedataserver-e-trie.html

package info (click to toggle)
evolution-data-server 1.6.3-5etch3
  • links: PTS
  • area: main
  • in suites: etch
  • size: 59,384 kB
  • ctags: 43,218
  • sloc: ansic: 319,315; tcl: 30,499; xml: 19,166; sh: 18,776; perl: 11,529; cpp: 8,259; java: 7,653; makefile: 6,448; awk: 1,338; yacc: 1,103; sed: 772; cs: 505; lex: 134; asm: 14
file content (209 lines) | stat: -rw-r--r-- 8,876 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>ETrie</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
<link rel="start" href="index.html" title="Evolution API Reference: libedataserver, utility library">
<link rel="up" href="ch01.html" title="Evolution API Reference: libedataserver, utility library">
<link rel="prev" href="libedataserver-e-time-utils.html" title="Time-Related Utility Functions">
<link rel="next" href="libedataserver-e-uid.html" title="User ID Generation">
<meta name="generator" content="GTK-Doc V1.7 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="ch01.html" title="Evolution API Reference: libedataserver, utility library">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="libedataserver-e-time-utils.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">Evolution API Reference: libedataserver, utility library</th>
<td><a accesskey="n" href="libedataserver-e-uid.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2575227" class="shortcut">Top</a>
                  &#160;|&#160;
                  <a href="#id2595719" class="shortcut">Description</a></nobr></td></tr>
</table>
<div class="refentry" lang="en">
<a name="libedataserver-e-trie"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2>
<a name="id2575227"></a><span class="refentrytitle">ETrie</span>
</h2>
<p>ETrie &#8212; A trie data structure.</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">



            <a href="libedataserver-e-trie.html#ETrie">ETrie</a>;
<a href="libedataserver-e-trie.html#ETrie">ETrie</a>*      <a href="libedataserver-e-trie.html#e-trie-new">e_trie_new</a>                      (<a
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a> icase);
void        <a href="libedataserver-e-trie.html#e-trie-free">e_trie_free</a>                     (<a href="libedataserver-e-trie.html#ETrie">ETrie</a> *trie);
void        <a href="libedataserver-e-trie.html#e-trie-add">e_trie_add</a>                      (<a href="libedataserver-e-trie.html#ETrie">ETrie</a> *trie,
                                             const char *pattern,
                                             int pattern_id);
const char* <a href="libedataserver-e-trie.html#e-trie-search">e_trie_search</a>                   (<a href="libedataserver-e-trie.html#ETrie">ETrie</a> *trie,
                                             const char *buffer,
                                             size_t buflen,
                                             int *matched_id);
</pre>
</div>
<div class="refsect1" lang="en">
<a name="id2595719"></a><h2>Description</h2>
<p>

</p>
</div>
<div class="refsect1" lang="en">
<a name="id2595735"></a><h2>Details</h2>
<div class="refsect2" lang="en">
<a name="id2595746"></a><h3>
<a name="ETrie"></a>ETrie</h3>
<a class="indexterm" name="id2595758"></a><pre class="programlisting">typedef struct _ETrie ETrie;</pre>
<p>
A trie data structure.</p>
<p>

</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2595776"></a><h3>
<a name="e-trie-new"></a>e_trie_new ()</h3>
<a class="indexterm" name="id2595789"></a><pre class="programlisting"><a href="libedataserver-e-trie.html#ETrie">ETrie</a>*      e_trie_new                      (<a
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a> icase);</pre>
<p>
Creates a new <a href="libedataserver-e-trie.html#ETrie"><span class="type">ETrie</span></a>. If <em class="parameter"><code>icase</code></em> is <a
href="/opt/gnome/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a>, then pattern matching
done by the ETrie will be case insensitive.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><span class="term"><em class="parameter"><code>icase</code></em>&#160;:</span></td>
<td> Case sensitivity for the <a href="libedataserver-e-trie.html#ETrie"><span class="type">ETrie</span></a>.
</td>
</tr>
<tr>
<td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> The newly-created <a href="libedataserver-e-trie.html#ETrie"><span class="type">ETrie</span></a>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2596565"></a><h3>
<a name="e-trie-free"></a>e_trie_free ()</h3>
<a class="indexterm" name="id2596577"></a><pre class="programlisting">void        e_trie_free                     (<a href="libedataserver-e-trie.html#ETrie">ETrie</a> *trie);</pre>
<p>
Frees the memory associated with the <a href="libedataserver-e-trie.html#ETrie"><span class="type">ETrie</span></a> <em class="parameter"><code>trie</code></em>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><span class="term"><em class="parameter"><code>trie</code></em>&#160;:</span></td>
<td> The <a href="libedataserver-e-trie.html#ETrie"><span class="type">ETrie</span></a> to free.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2596646"></a><h3>
<a name="e-trie-add"></a>e_trie_add ()</h3>
<a class="indexterm" name="id2596950"></a><pre class="programlisting">void        e_trie_add                      (<a href="libedataserver-e-trie.html#ETrie">ETrie</a> *trie,
                                             const char *pattern,
                                             int pattern_id);</pre>
<p>
Add a new pattern to the <a href="libedataserver-e-trie.html#ETrie"><span class="type">ETrie</span></a> <em class="parameter"><code>trie</code></em>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><span class="term"><em class="parameter"><code>trie</code></em>&#160;:</span></td>
<td> The <a href="libedataserver-e-trie.html#ETrie"><span class="type">ETrie</span></a> to add a pattern to.
</td>
</tr>
<tr>
<td><span class="term"><em class="parameter"><code>pattern</code></em>&#160;:</span></td>
<td> The pattern to add.
</td>
</tr>
<tr>
<td><span class="term"><em class="parameter"><code>pattern_id</code></em>&#160;:</span></td>
<td> The id to use for the pattern.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2597060"></a><h3>
<a name="e-trie-search"></a>e_trie_search ()</h3>
<a class="indexterm" name="id2597072"></a><pre class="programlisting">const char* e_trie_search                   (<a href="libedataserver-e-trie.html#ETrie">ETrie</a> *trie,
                                             const char *buffer,
                                             size_t buflen,
                                             int *matched_id);</pre>
<p>
Try to match the string <em class="parameter"><code>buffer</code></em> with a pattern in <em class="parameter"><code>trie</code></em>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><span class="term"><em class="parameter"><code>trie</code></em>&#160;:</span></td>
<td> The <a href="libedataserver-e-trie.html#ETrie"><span class="type">ETrie</span></a> to search in.
</td>
</tr>
<tr>
<td><span class="term"><em class="parameter"><code>buffer</code></em>&#160;:</span></td>
<td> The string to match against a pattern in <em class="parameter"><code>trie</code></em>.
</td>
</tr>
<tr>
<td><span class="term"><em class="parameter"><code>buflen</code></em>&#160;:</span></td>
<td> The length of <em class="parameter"><code>buffer</code></em>.
</td>
</tr>
<tr>
<td><span class="term"><em class="parameter"><code>matched_id</code></em>&#160;:</span></td>
<td> An integer address to store the matched pattern id in.
</td>
</tr>
<tr>
<td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> The matched pattern, or <a
href="/opt/gnome/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> if no pattern is matched.
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</body>
</html>