1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
4 <TITLE>Interface</TITLE>
5 <META NAME="Generator" content="Microsoft Visual Studio .NET 7.1">
11 Following is the library's interface:
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
19 <a href="#ds_pol">Data-Type Policies</a> describes data-type policies.
22 <a href="#ds_tag">Data-Structure Tags and Traits</a> describes
23 tags and traits identifying the underlying data-structure and its behaviour.
26 <a href="#ms_tag">Mapping-Semantics Tags and Traits</a> describes
27 tags and traits identifying the mapping-semantics.
30 <a href = "#ds_policy_classes">Data-Structure Policy Classes</a> describes
31 policies for configuring underlying data-structures.
34 <a href="#exceptions">Exceptions</a> Subsection desribes exception classes.
43 <h2><a name = "containers">Containers</a></h2>
46 <a href = "overview.html">Overview</a> and
47 <a href = "ds_gen.html">Data-Structure Genericity</a> discuss relevant design
53 <img src = "cd.jpg" width = "70%" alt = "no image">
62 Basic Associative-Containers:
64 <li><a href = "basic_assoc_cntnr.html"><tt>basic_assoc_cntnr</tt></a> - basic associative-container for the "map" case</li>
65 <li><a href = "basic_assoc_cntnr_no_data.html"><tt>basic_assoc_cntnr</tt></a> - basic associative-container for the "set" case</li>
66 <li><a href = "basic_assoc_cntnr_compound_data.html"><tt>basic_assoc_cntnr</tt></a> - basic associative-container for the "multimap" case</li>
70 Hash-Based Associative-Containers:
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>
78 Tree-Based Associative-Containers:
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>
86 List-Based Associative-Contaiers:
88 <li><a href = "lu_assoc_cntnr.html"><tt>lu_assoc_cntnr</tt></a> - list-based update-policy associative container</li>
97 <h2><a name = "ds_pol">Data-Type Policies</a></h2>
100 <a href = "overview.html">Overview</a> and
101 <a href = "ms_gen.html">Mapping-Semantic Genericity</a> discuss relevant design
106 <li><a href = "null_data_type.html"><tt>null_data_type</tt></a>
108 <li><a href = "compound_data_type.html"><tt>compound_data_type</tt></a>
117 <h2><a name = "ds_tag">Data-Structure Tags and Traits</a></h2>
123 <h3>Data-Structure Tags</h3>
125 <h6 align = "center">
127 <img src = "ds_tag_cd.jpg" width = "70%" alt = "no image">
130 <h6 align = "center">
131 Data-Structure Tag class hierarchy.
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>
148 <h3>Invalidation-Guarantee Tags</h3>
150 <h6 align = "center">
152 <img src = "invalidation_guarantee_cd.jpg" width = "70%" alt = "no image">
155 <h6 align = "center">
156 Invalidation guarantees class hierarchy.
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>
165 <h3>Data-Structure Traits</h3>
168 <li> <a href = "ds_traits.html"><tt>ds_traits</tt></a></li>
175 <h2><a name = "ms_tag">Mapping-Semantics Tags and Traits</a></h2>
181 <h3>Mapping-Semantics Tags</h3>
183 <h6 align = "center">
185 <img src = "ms_tag_cd.jpg" width = "70%" alt = "no image">
188 <h6 align = "center">
189 Mapping-Semantics Tag class hierarchy.
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>
199 <h3>Mapping-Semantics Traits</h3>
202 <li> <a href = "ms_traits.html"><tt>ms_traits</tt></a></li>
209 <h2><a name="ds_policy_classes">Data-Structure Policy Classes</a></h2>
212 <h3>Hash-Related Policies</h3>
215 </p><a href = "hash_based_containers.html">Hash-Based Containers</a> describes
216 relevant design points.
219 <h4>Hash and Probe Policies</h4>
223 <li> <a href="null_hash_fn.html"><tt>null_hash_fn</tt></a></li>
226 <li> Range-Hashing Functions:
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>
233 <li> Probe Functions:
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>
241 <li> Ranged-Hash Functions:
243 <li><a href="ranged_hash_fn.html">Interface of a Ranged-Hash Function</a></li>
246 <li> Ranged-Probe Functions:
248 <li> <a href="ranged_probe_fn.html">Interface of a Ranged-Probe function</a></li>
255 <h4>Resize Policies</h4>
257 <h6 align = "center">
258 <a name = "resize_policy_cd">
259 <img src = "resize_policy_cd.jpg" width = "70%" alt = "no image">
262 <h6 align = "center">
263 Resize policy class diagram.
267 <li> Resize Policies:
269 <li> <a href="sample_resize_policy.html">Interface of a Resize Policy</a>
270 <li> <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a></li>
275 <li> <a href="sample_size_policy.html">Interface of a Size Policy</a></li>
276 <li> <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a></li>
277 <li> <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a></li>
280 <li> Trigger Policies:
282 <li><a href="sample_resize_trigger.html">Interface of a Trigger Policy</a></li>
283 <li> <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a></li>
284 <li> <a href="cc_hash_max_collision_check_resize_trigger.html"><tt>cc_hash_max_collision_check_resize_trigger</tt></a></li>
291 <h3>Tree Node-Update Policies</h3>
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):
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>
304 <li> <a href="null_node_updator.html"><tt>null_node_updator</tt></a></li>
308 <h3>List Update Policies</h3>
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>
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>
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>
332 <h2><a name="exceptions">Exceptions</a></h2>
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>