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=
"ht_standard_resize_policy.html"><tt>ht_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=
"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>
280 <li> Trigger Policies:
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>
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>