OSDN Git Service

11bf5d152276d0b4b15f4cf6c0eef9fe803f304a
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / docs / html / ext / pb_assoc / interface.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2 <HTML>
3 <HEAD>
4     <TITLE>Interface</TITLE>
5     <META NAME="Generator" content="Microsoft Visual Studio .NET 7.1">
6 </HEAD>
7 <BODY>
8
9 <H1>Interface</H1>
10 <p>
11     Following is the library's interface:
12 </p>
13 <ol>
14         <li> <a href = "tutorial.html">Short Tutorial</a> is a short tutorial. </li>
15         <li> <a href="#containers">Containers</a>  describes the containers of
16 the library.
17     </li>
18     <li>
19     <a href="#ds_pol">Data-Type Policies</a> describes data-type policies.
20     </li>
21     <li>
22     <a href="#ds_tag">Data-Structure Tags and Traits</a> describes
23     tags and traits identifying the underlying data-structure and its behaviour.
24     </li>
25     <li>
26     <a href="#ms_tag">Mapping-Semantics Tags and Traits</a> describes
27     tags and traits identifying the mapping-semantics.
28     </li>
29     <li>
30     <a href = "#ds_policy_classes">Data-Structure Policy Classes</a> describes
31     policies for configuring underlying data-structures.
32     </li>
33     <li>
34     <a href="#exceptions">Exceptions</a> Subsection desribes exception classes.
35     </li>
36 </ol>
37
38
39 <hr>
40
41
42
43 <h2><a name = "containers">Containers</a></h2>
44
45 <p>
46 <a href = "overview.html">Overview</a> and
47 <a href = "ds_gen.html">Data-Structure Genericity</a> discuss relevant design
48 points.
49 </p>
50
51 <h6 align = "center">
52 <a name = "cd">
53 <img src = "cd.jpg" width = "70%" alt = "no image">
54 </h6>
55 </a>
56 <h6 align = "center">
57 class hierarchy.
58 </h6>
59
60 <ol>
61         <li>
62                 Basic Associative-Containers:
63                 <ol>
64                         <li><a href = "basic_assoc_cntnr.html"><tt>basic_assoc_cntnr</tt></a> - basic associative-container for the &quot;map&quot; case</li>
65                         <li><a href = "basic_assoc_cntnr_no_data.html"><tt>basic_assoc_cntnr</tt></a> - basic associative-container for the &quot;set&quot; case</li>
66                         <li><a href = "basic_assoc_cntnr_compound_data.html"><tt>basic_assoc_cntnr</tt></a> - basic associative-container for the &quot;multimap&quot; case</li>
67                 </ol>
68         </li>
69         <li>
70                 Hash-Based Associative-Containers:
71                 <ol>
72                 <li><a href = "basic_hash_assoc_cntnr.html"><tt>basic_hash_assoc_cntnr</tt></a> - basic hash-based associative-container </li>
73                 <li><a href = "cc_hash_assoc_cntnr.html"><tt>cc_hash_assoc_cntnr</tt></a> - collision-chaining hash-based associative-container </li>
74                 <li><a href = "gp_hash_assoc_cntnr.html"><tt>gp_hash_assoc_cntnr</tt></a> - (general) probing hash-based associative-container </li>
75                 </ol>
76         </li>
77         <li>
78                 Tree-Based Associative-Containers:
79                 <ol>
80                 <li><a href = "basic_tree_assoc_cntnr.html"><tt>basic_tree_assoc_cntnr</tt></a> - basic tree-based associative-container </li>
81                 <li><a href = "basic_tree_assoc_cntnr_rev.html"><tt>basic_tree_assoc_cntnr</tt></a> - basic tree-based associative-container with reverse iteration </li>
82                 <li><a href = "tree_assoc_cntnr.html"><tt>tree_assoc_cntnr</tt></a> - tree-based associative-container </li>
83                 </ol>
84         </li>
85         <li>
86                 List-Based Associative-Contaiers:
87         <ol>
88                 <li><a href = "lu_assoc_cntnr.html"><tt>lu_assoc_cntnr</tt></a> - list-based update-policy associative container</li>
89         </ol>
90         </li>
91 </ol>
92
93
94 <hr>
95
96
97 <h2><a name = "ds_pol">Data-Type Policies</a></h2>
98
99 <p>
100 <a href = "overview.html">Overview</a> and
101 <a href = "ms_gen.html">Mapping-Semantic Genericity</a> discuss relevant design
102 points.
103 </p>
104
105 <ol>
106         <li><a href = "null_data_type.html"><tt>null_data_type</tt></a>
107         </li>
108         <li><a href = "compound_data_type.html"><tt>compound_data_type</tt></a>
109         </li>
110 </ol>
111
112 <hr>
113
114
115
116
117 <h2><a name = "ds_tag">Data-Structure Tags and Traits</a></h2>
118
119 <p>
120
121 </p>
122
123 <h3>Data-Structure Tags</h3>
124
125 <h6 align = "center">
126 <a name = "cd">
127 <img src = "ds_tag_cd.jpg" width = "70%" alt = "no image">
128 </h6>
129 </a>
130 <h6 align = "center">
131 Data-Structure Tag class hierarchy.
132 </h6>
133
134 <ol>
135         <li> <a href = "basic_ds_tag.html"><tt>basic_ds_tag</tt></a></li>
136         <li> <a href = "basic_hash_ds_tag.html"><tt>basic_hash_ds_tag</tt></a></li>
137         <li> <a href = "cc_hash_ds_tag.html"><tt>cc_hash_ds_tag</tt></a></li>
138         <li> <a href = "gp_hash_ds_tag.html"><tt>gp_hash_ds_tag</tt></a></li>
139         <li> <a href = "basic_tree_ds_tag.html"><tt>basic_tree_ds_tag</tt></a></li>
140         <li> <a href = "rb_tree_ds_tag.html"><tt>rb_tree_ds_tag</tt></a></li>
141         <li> <a href = "splay_tree_ds_tag.html"><tt>splay_tree_ds_tag</tt></a></li>
142         <li> <a href = "ov_tree_ds_tag.html"><tt>ov_tree_ds_tag</tt></a></li>
143         <li> <a href = "lu_ds_tag.html"><tt>lu_ds_tag</tt></a></li>
144         <li> <a href = "compound_ds_tag.html"><tt>compound_ds_tag</tt></a></li>
145 </ol>
146
147
148 <h3>Invalidation-Guarantee Tags</h3>
149
150 <h6 align = "center">
151 <a name = "cd">
152 <img src = "invalidation_guarantee_cd.jpg" width = "70%" alt = "no image">
153 </h6>
154 </a>
155 <h6 align = "center">
156 Invalidation guarantees class hierarchy.
157 </h6>
158
159 <ol>
160         <li> <a href = "basic_invalidation_guarantee.html"><tt>basic_invalidation_guarantee</tt></a></li>
161         <li> <a href = "find_invalidation_guarantee.html"><tt>find_invalidation_guarantee</tt></a></li>
162         <li> <a href = "range_invalidation_guarantee.html"><tt>range_invalidation_guarantee</tt></a></li>
163 </ol>
164
165 <h3>Data-Structure Traits</h3>
166
167 <ol>
168         <li> <a href = "ds_traits.html"><tt>ds_traits</tt></a></li>
169 </ol>
170
171
172 <hr>
173
174
175 <h2><a name = "ms_tag">Mapping-Semantics Tags and Traits</a></h2>
176
177 <p>
178
179 </p>
180
181 <h3>Mapping-Semantics Tags</h3>
182
183 <h6 align = "center">
184 <a name = "cd">
185 <img src = "ms_tag_cd.jpg" width = "70%" alt = "no image">
186 </h6>
187 </a>
188 <h6 align = "center">
189 Mapping-Semantics Tag class hierarchy.
190 </h6>
191
192 <ol>
193         <li> <a href = "basic_ms_tag.html"><tt>basic_ms_tag</tt></a></li>
194         <li> <a href = "data_enabled_ms_tag.html"><tt>data_enabled_ms_tag</tt></a></li>
195         <li> <a href = "compound_data_enabled_ms_tag.html"><tt>compound_data_enabled_ms_tag</tt></a></li>
196 </ol>
197
198
199 <h3>Mapping-Semantics Traits</h3>
200
201 <ol>
202         <li> <a href = "ms_traits.html"><tt>ms_traits</tt></a></li>
203 </ol>
204
205
206 <hr>
207
208
209 <h2><a name="ds_policy_classes">Data-Structure Policy Classes</a></h2>
210
211
212 <h3>Hash-Related Policies</h3>
213
214 <p>
215 </p><a href = "hash_based_containers.html">Hash-Based Containers</a> describes
216 relevant design points.
217 </p>
218
219 <h4>Hash and Probe Policies</h4>
220 <ol>
221     <li> Hash Functions:
222         <ol>
223             <li> <a href="null_hash_fn.html"><tt>null_hash_fn</tt></a></li>
224         </ol>
225     </li>
226     <li> Range-Hashing Functions:
227     <ol>
228         <li><a href="sample_range_hashing.html">Interface of a Range-Hashing Function</a></li>
229         <li> <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a></li>
230         <li> <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a></li>
231     </ol>
232     </li>
233     <li> Probe Functions:
234     <ol>
235         <li> <a href="sample_probe_fn.html">Interface of a Probe Function</a></li>
236         <li> <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a></li>
237         <li> <a href="quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a></li>
238         <li> <a href="null_probe_fn.html"><tt>null_probe_fn</tt></a></li>
239     </ol>
240     </li>
241     <li> Ranged-Hash Functions:
242         <ol>
243             <li><a href="ranged_hash_fn.html">Interface of a Ranged-Hash Function</a></li>
244         </ol>
245     </li>
246     <li> Ranged-Probe Functions:
247         <ol>
248             <li> <a href="ranged_probe_fn.html">Interface of a Ranged-Probe function</a></li>
249         </ol>
250     </li>
251 </ol>
252
253
254
255 <h4>Resize Policies</h4>
256
257 <h6 align = "center">
258 <a name = "resize_policy_cd">
259 <img src = "resize_policy_cd.jpg" width = "70%" alt = "no image">
260 </a>
261 </h6>
262 <h6 align = "center">
263 Resize policy class diagram.
264 </h6>
265
266 <ol>
267     <li> Resize Policies:
268         <ol>
269             <li> <a href="sample_resize_policy.html">Interface of a Resize Policy</a>
270             <li> <a href="ht_standard_resize_policy.html"><tt>ht_standard_resize_policy</tt></a></li>
271         </ol>
272     </li>
273     <li> Size Policies:
274     <ol>
275         <li> <a href="sample_size_policy.html">Interface of a Size Policy</a></li>
276         <li> <a href="ht_exponential_size_policy.html"><tt>ht_exponential_size_policy</tt></a></li>
277         <li> <a href="ht_prime_size_policy.html"><tt>ht_prime_size_policy</tt></a></li>
278     </ol>
279     </li>
280     <li> Trigger Policies:
281     <ol>
282         <li><a href="sample_resize_trigger.html">Interface of a Trigger Policy</a></li>
283         <li> <a href="ht_load_check_resize_trigger.html"><tt>ht_load_check_resize_trigger</tt></a></li>
284         <li> <a href="ht_max_collision_check_grow_resize_trigger.html"><tt>ht_max_collision_check_grow_resize_trigger</tt></a></li>
285     </ol>
286     </li>
287 </ol>
288
289
290
291 <h3>Tree Node-Update Policies</h3>
292 <ol>
293     <li> <a href = "node_invariants.html">Design of Node Update Policies</a></li>
294     <li> <a href="sample_node_updator.html">Interface of a Node Updator Policy</a></li>
295     <li> Order-Statistics (Finding Entries by Key Order):
296         <ol>
297             <li> <a href="order_statistics_key.html"><tt>order_statistics_key</tt></a></li>
298             <li> <a href="order_statistics_key_cmp.html"><tt>order_statistics_key_cmp</tt></a></li>
299             <li> <a href="order_statistics_node_updator.html"><tt>order_statistics_node_updator</tt></a></li>
300             <li> <a href="find_by_order.html"><tt>find_by_order</tt></a></li>
301             <li> <a href="order_by_key.html"><tt>order_by_key</tt></a></li>
302         </ol>
303     </li>
304     <li> <a href="null_node_updator.html"><tt>null_node_updator</tt></a></li>
305 </ol>
306
307
308 <h3>List Update Policies</h3>
309 <ol>
310     <li> <a href = "list_updates.html">Design of List Update Policies</a> </li>
311     <li> <a href = "sample_update_policy.html">Interface of a List Update Policy</a> </li>
312     <li> Move-to-Front:
313         <ol>
314             <li> <a href="move_to_front_update_metadata.html"><tt>move_to_front_update_metadata</tt></a></li>
315             <li> <a href="move_to_front_update_policy.html"><tt>move_to_front_update_policy</tt></a></li>
316         </ol>
317     </li>
318     <li> Counter:
319         <ol>
320             <li> <a href="counter_update_metadata.html"><tt>counter_update_metadata</tt></a></li>
321             <li> <a href="counter_update_policy.html"><tt>counter_update_policy</tt></a></li>
322         </ol>
323     </li>
324 </ol>
325
326
327 <hr>
328
329
330
331
332 <h2><a name="exceptions">Exceptions</a></h2>
333 <ol>
334         <li> <a href="pb_assoc_ex.html"><tt>pb_assoc_ex</tt></a></li>
335     <li> <a href="cannot_insert.html"><tt>cannot_insert</tt></a></li>
336     <li> <a href="cannot_join.html"><tt>cannot_join</tt></a></li>
337     <li> <a href="cannot_resize.html"><tt>cannot_resize</tt></a></li>
338 </ol>
339
340
341 </BODY>
342 </HTML>