File: Data-Structures.html

package info (click to toggle)
aspell 0.60.8.2-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 15,336 kB
  • sloc: cpp: 24,378; sh: 12,340; perl: 1,924; ansic: 1,661; makefile: 852; sed: 16
file content (123 lines) | stat: -rw-r--r-- 4,949 bytes parent folder | download | duplicates (3)
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
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This is the developer's manual for Aspell.

Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts and no Back-Cover Texts.  A
copy of the license is included in the section entitled "GNU Free
Documentation License". -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Aspell Developer&rsquo;s Manual: Data Structures</title>

<meta name="description" content="Aspell spell checker developer&rsquo;s manual.">
<meta name="keywords" content="Aspell Developer&rsquo;s Manual: Data Structures">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="index.html#Top" rel="up" title="Top">
<link href="Mk_002dSrc-Script.html#Mk_002dSrc-Script" rel="next" title="Mk-Src Script">
<link href="Filter-Modes.html#Filter-Modes" rel="prev" title="Filter Modes">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
table:not([class]), table:not([class]) th, table:not([class]) td {
    padding: 2px 0.3em 2px 0.3em;
    border: thin solid #D0D0D0;
    border-collapse: collapse;
}

-->
</style>

<meta name=viewport content="width=device-width, initial-scale=1">
</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Data-Structures"></a>
<div class="header">
<p>
Next: <a href="Mk_002dSrc-Script.html#Mk_002dSrc-Script" accesskey="n" rel="next">Mk-Src Script</a>, Previous: <a href="Filter-Modes.html#Filter-Modes" accesskey="p" rel="prev">Filter Modes</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
<hr>
<a name="Data-Structures-1"></a>
<h2 class="chapter">13 Data Structures</h2>

<p>Whenever possible you should try to use one of the data structures
available.  If the data structures do not provide enough functionality
for your needs you should consider enhancing them rather than writing
something from scratch.
</p>
<a name="Vector"></a>
<h3 class="section">13.1 Vector</h3>

<p>The <code>vector</code> class is defined in <samp>vector.hpp</samp> and works the
same way as the standard STL <code>vector</code> does except that it doesn&rsquo;t
have as many constructors.
</p>
<a name="BasicList"></a>
<h3 class="section">13.2 BasicList</h3>

<p><code>BasicList</code> is a simple list structure which can either be
implemented as a singly or doubly linked list.  It is defined in
<samp>basic_list.hpp</samp>.
</p>
<a name="StringMap"></a>
<h3 class="section">13.3 StringMap</h3>

<p><code>StringMap</code> is an associative array for strings.  You should try
to use this when ever possible to avoid code bloat.  It is defined in
<samp>string_map.hpp</samp>.
</p>

<a name="Hash-Tables"></a>
<h3 class="section">13.4 Hash Tables</h3>

<p>Several hash tables are provided when <code>StringMap</code> is not
appropriate.  These hash tables provide a <code>hash_set</code>,
<code>hash_multiset</code>, <code>hash_map</code> and <code>hash_multimap</code> which
are very similar to SGI&rsquo;s STL implementation with a few exceptions.
It is defined in <samp>hash.hpp</samp>.
</p>

<a name="BlockSList"></a>
<h3 class="section">13.5 BlockSList</h3>

<p><code>BlockSList</code> provided a pool of nodes which can be used for
singly linked lists.  It is defined in <samp>block_slist.hpp</samp>.
</p>



</body>
</html>