2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
3
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
4
<refentry id="libedataserver-e-trie">
6
<refentrytitle role="top_of_page" id="libedataserver-e-trie.top_of_page">ETrie</refentrytitle>
7
<manvolnum>3</manvolnum>
13
<refname>ETrie</refname>
14
<refpurpose>A trie data structure.</refpurpose>
17
<refsynopsisdiv id="libedataserver-e-trie.synopsis" role="synopsis">
18
<title role="synopsis.title">Synopsis</title>
20
<synopsis> <link linkend="ETrie">ETrie</link>;
21
<link linkend="ETrie"><returnvalue>ETrie</returnvalue></link> * <link linkend="e-trie-new">e_trie_new</link> (<parameter><link linkend="gboolean"><type>gboolean</type></link> icase</parameter>);
22
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-trie-free">e_trie_free</link> (<parameter><link linkend="ETrie"><type>ETrie</type></link> *trie</parameter>);
23
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-trie-add">e_trie_add</link> (<parameter><link linkend="ETrie"><type>ETrie</type></link> *trie</parameter>,
24
<parameter>const <link linkend="gchar"><type>gchar</type></link> *pattern</parameter>,
25
<parameter><link linkend="gint"><type>gint</type></link> pattern_id</parameter>);
26
const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> * <link linkend="e-trie-search">e_trie_search</link> (<parameter><link linkend="ETrie"><type>ETrie</type></link> *trie</parameter>,
27
<parameter>const <link linkend="gchar"><type>gchar</type></link> *buffer</parameter>,
28
<parameter><link linkend="gsize"><type>gsize</type></link> buflen</parameter>,
29
<parameter><link linkend="gint"><type>gint</type></link> *matched_id</parameter>);
33
<refsect1 id="libedataserver-e-trie.description" role="desc">
34
<title role="desc.title">Description</title>
38
<refsect1 id="libedataserver-e-trie.details" role="details">
39
<title role="details.title">Details</title>
40
<refsect2 id="ETrie" role="struct" condition="deprecated:">
42
<indexterm zone="ETrie" role="deprecated"><primary>ETrie</primary></indexterm>
43
<programlisting>typedef struct _ETrie ETrie;</programlisting>
44
<warning><para><literal>ETrie</literal> is deprecated and should not be used in newly-written code.</para></warning>
46
A trie data structure.</para>
48
<refsect2 id="e-trie-new" role="function" condition="deprecated:">
49
<title>e_trie_new ()</title>
50
<indexterm zone="e-trie-new" role="deprecated"><primary>e_trie_new</primary></indexterm>
51
<programlisting><link linkend="ETrie"><returnvalue>ETrie</returnvalue></link> * e_trie_new (<parameter><link linkend="gboolean"><type>gboolean</type></link> icase</parameter>);</programlisting>
52
<warning><para><literal>e_trie_new</literal> is deprecated and should not be used in newly-written code.</para></warning>
54
Creates a new <link linkend="ETrie"><type>ETrie</type></link>. If <parameter>icase</parameter> is <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, then pattern matching
55
done by the ETrie will be case insensitive.</para>
56
<variablelist role="params">
57
<varlistentry><term><parameter>icase</parameter> :</term>
58
<listitem><simpara>Case sensitivity for the <link linkend="ETrie"><type>ETrie</type></link>.
59
</simpara></listitem></varlistentry>
60
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> The newly-created <link linkend="ETrie"><type>ETrie</type></link>.
61
</simpara></listitem></varlistentry>
62
</variablelist></refsect2>
63
<refsect2 id="e-trie-free" role="function" condition="deprecated:">
64
<title>e_trie_free ()</title>
65
<indexterm zone="e-trie-free" role="deprecated"><primary>e_trie_free</primary></indexterm>
66
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_trie_free (<parameter><link linkend="ETrie"><type>ETrie</type></link> *trie</parameter>);</programlisting>
67
<warning><para><literal>e_trie_free</literal> is deprecated and should not be used in newly-written code.</para></warning>
69
Frees the memory associated with the <link linkend="ETrie"><type>ETrie</type></link> <parameter>trie</parameter>.</para>
70
<variablelist role="params">
71
<varlistentry><term><parameter>trie</parameter> :</term>
72
<listitem><simpara>The <link linkend="ETrie"><type>ETrie</type></link> to free.
73
</simpara></listitem></varlistentry>
74
</variablelist></refsect2>
75
<refsect2 id="e-trie-add" role="function" condition="deprecated:">
76
<title>e_trie_add ()</title>
77
<indexterm zone="e-trie-add" role="deprecated"><primary>e_trie_add</primary></indexterm>
78
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_trie_add (<parameter><link linkend="ETrie"><type>ETrie</type></link> *trie</parameter>,
79
<parameter>const <link linkend="gchar"><type>gchar</type></link> *pattern</parameter>,
80
<parameter><link linkend="gint"><type>gint</type></link> pattern_id</parameter>);</programlisting>
81
<warning><para><literal>e_trie_add</literal> is deprecated and should not be used in newly-written code.</para></warning>
83
Add a new pattern to the <link linkend="ETrie"><type>ETrie</type></link> <parameter>trie</parameter>.</para>
84
<variablelist role="params">
85
<varlistentry><term><parameter>trie</parameter> :</term>
86
<listitem><simpara>The <link linkend="ETrie"><type>ETrie</type></link> to add a pattern to.
87
</simpara></listitem></varlistentry>
88
<varlistentry><term><parameter>pattern</parameter> :</term>
89
<listitem><simpara>The pattern to add.
90
</simpara></listitem></varlistentry>
91
<varlistentry><term><parameter>pattern_id</parameter> :</term>
92
<listitem><simpara>The id to use for the pattern.
93
</simpara></listitem></varlistentry>
94
</variablelist></refsect2>
95
<refsect2 id="e-trie-search" role="function" condition="deprecated:">
96
<title>e_trie_search ()</title>
97
<indexterm zone="e-trie-search" role="deprecated"><primary>e_trie_search</primary></indexterm>
98
<programlisting>const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> * e_trie_search (<parameter><link linkend="ETrie"><type>ETrie</type></link> *trie</parameter>,
99
<parameter>const <link linkend="gchar"><type>gchar</type></link> *buffer</parameter>,
100
<parameter><link linkend="gsize"><type>gsize</type></link> buflen</parameter>,
101
<parameter><link linkend="gint"><type>gint</type></link> *matched_id</parameter>);</programlisting>
102
<warning><para><literal>e_trie_search</literal> is deprecated and should not be used in newly-written code.</para></warning>
104
Try to match the string <parameter>buffer</parameter> with a pattern in <parameter>trie</parameter>.</para>
105
<variablelist role="params">
106
<varlistentry><term><parameter>trie</parameter> :</term>
107
<listitem><simpara>The <link linkend="ETrie"><type>ETrie</type></link> to search in.
108
</simpara></listitem></varlistentry>
109
<varlistentry><term><parameter>buffer</parameter> :</term>
110
<listitem><simpara>The string to match against a pattern in <parameter>trie</parameter>.
111
</simpara></listitem></varlistentry>
112
<varlistentry><term><parameter>buflen</parameter> :</term>
113
<listitem><simpara>The length of <parameter>buffer</parameter>.
114
</simpara></listitem></varlistentry>
115
<varlistentry><term><parameter>matched_id</parameter> :</term>
116
<listitem><simpara>An integer address to store the matched pattern id in.
117
</simpara></listitem></varlistentry>
118
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> The matched pattern, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if no pattern is matched.
119
</simpara></listitem></varlistentry>
120
</variablelist></refsect2>