Docbook conversion of existing ext/pb_ds documentation.
* doc/Makefile.am (xml_sources_manual): Add
policy_data_structures.xml and
test_policy_data_structures.xml.
(stamp-html-copy): Remove special-case for ext/pb_ds directory.
(XSLTPROC_FLAGS): Split into XSLT_FLAGS and XSLT_PARAM, use.
* doc/Makefile.in: Regenerate.
* doc/xml/manual/policy_data_structures.xml: New, adapted from
previous html-only instance in doc/html/ext/pb_ds.
* doc/xml/manual/test_policy_data_structures.xml: New, same as above.
* doc/xml/spine.xml: Update copyright.
* doc/xml/manual/spine.xml: Same.
* doc/xml/manual/extensions.xml: Adjust set, chapter, sections.
* doc/xml/manual/bitmap_allocator.xml: Same.
* doc/xml/manual/mt_allocator.xml: Same.
Populate image directory.
* doc/xml/images/(pbds_balls_and_bins.png,
pbds_binary_priority_queue_random_int_push_timing_test_local.pdf,
pbds_binary_priority_queue_random_int_push_timing_test_local.png,
pbds_binary_priority_queue_random_int_push_timing_test_local.svg,
pbds_cc_hash_random_int_find_timing_test_local.pdf,
pbds_cc_hash_random_int_find_timing_test_local.png,
pbds_cc_hash_random_int_find_timing_test_local.svg,
pbds_cc_hash_random_int_subscript_timing_test_find_local.pdf,
pbds_cc_hash_random_int_subscript_timing_test_find_local.png,
pbds_cc_hash_random_int_subscript_timing_test_find_local.svg,
pbds_cc_hash_random_int_subscript_timing_test_insert_local.pdf,
pbds_cc_hash_random_int_subscript_timing_test_insert_local.png,
pbds_cc_hash_random_int_subscript_timing_test_insert_local.svg,
pbds_container_tag_hierarchy.pdf,
pbds_container_tag_hierarchy.png,
pbds_container_tag_hierarchy.svg,
pbds_different_underlying_dss_1.png,
pbds_different_underlying_dss_2.png,
pbds_embedded_lists_1.png, pbds_embedded_lists_2.png,
pbds_embedded_lists_3.png, pbds_exception_hierarchy.pdf,
pbds_exception_hierarchy.png, pbds_exception_hierarchy.svg,
pbds_gp_hash_random_int_find_timing_test_local.pdf,
pbds_gp_hash_random_int_find_timing_test_local.png,
pbds_gp_hash_random_int_find_timing_test_local.svg,
pbds_gp_hash_random_int_subscript_timing_test_find_local.pdf,
pbds_gp_hash_random_int_subscript_timing_test_find_local.png,
pbds_gp_hash_random_int_subscript_timing_test_find_local.svg,
pbds_gp_hash_random_int_subscript_timing_test_insert_local.pdf,
pbds_gp_hash_random_int_subscript_timing_test_insert_local.png,
pbds_gp_hash_random_int_subscript_timing_test_insert_local.svg,
pbds_hash_policy_cd.png,
pbds_hash_random_int_erase_mem_usage_test_local.pdf,
pbds_hash_random_int_erase_mem_usage_test_local.png,
pbds_hash_random_int_erase_mem_usage_test_local.svg,
pbds_hash_ranged_hash_range_hashing_fns.png,
pbds_hash_range_hashing_seq_diagram2.png,
pbds_hash_range_hashing_seq_diagram.png,
pbds_hash_zlob_random_int_find_timing_test_local.pdf,
pbds_hash_zlob_random_int_find_timing_test_local.png,
pbds_hash_zlob_random_int_find_timing_test_local.svg,
pbds_insert_resize_sequence_diagram1.png,
pbds_insert_resize_sequence_diagram2.png,
pbds_insert_resize_sequence_diagram3.png,
pbds_invalidation_guarantee_erase.png,
pbds_invalidation_tag_hierarchy.pdf,
pbds_invalidation_tag_hierarchy.png,
pbds_invalidation_tag_hierarchy.svg, pbds_list_update.png,
pbds_multimap_text_find_timing_test_large_s2p_hash_local.pdf,
pbds_multimap_text_find_timing_test_large_s2p_hash_local.png,
pbds_multimap_text_find_timing_test_large_s2p_hash_local.svg,
pbds_multimap_text_find_timing_test_large_s2p_tree_local.pdf,
pbds_multimap_text_find_timing_test_large_s2p_tree_local.png,
pbds_multimap_text_find_timing_test_large_s2p_tree_local.svg,
pbds_multimap_text_find_timing_test_small_s2p_hash_local.pdf,
pbds_multimap_text_find_timing_test_small_s2p_hash_local.png,
pbds_multimap_text_find_timing_test_small_s2p_hash_local.svg,
pbds_multimap_text_find_timing_test_small_s2p_tree_local.pdf,
pbds_multimap_text_find_timing_test_small_s2p_tree_local.png,
pbds_multimap_text_find_timing_test_small_s2p_tree_local.svg,
pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.pdf,
pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.png,
pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.svg,
pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.pdf,
pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.png,
pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.svg,
pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.pdf,
pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.png,
pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.svg,
pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.pdf,
pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.png,
pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.svg,
pbds_multimap_text_insert_timing_test_large_s2p_hash_local.pdf,
pbds_multimap_text_insert_timing_test_large_s2p_hash_local.png,
pbds_multimap_text_insert_timing_test_large_s2p_hash_local.svg,
pbds_multimap_text_insert_timing_test_large_s2p_tree_local.pdf,
pbds_multimap_text_insert_timing_test_large_s2p_tree_local.png,
pbds_multimap_text_insert_timing_test_large_s2p_tree_local.svg,
pbds_multimap_text_insert_timing_test_small_s2p_hash_local.pdf,
pbds_multimap_text_insert_timing_test_small_s2p_hash_local.png,
pbds_multimap_text_insert_timing_test_small_s2p_hash_local.svg,
pbds_multimap_text_insert_timing_test_small_s2p_tree_local.pdf,
pbds_multimap_text_insert_timing_test_small_s2p_tree_local.png,
pbds_multimap_text_insert_timing_test_small_s2p_tree_local.svg,
pbds_node_invariants.png,
pbds_pairing_priority_queue_text_push_pop_timing_test_local.pdf,
pbds_pairing_priority_queue_text_push_pop_timing_test_local.png,
pbds_pairing_priority_queue_text_push_pop_timing_test_local.svg,
pbds_pairing_priority_queue_text_push_timing_test_local.pdf,
pbds_pairing_priority_queue_text_push_timing_test_local.png,
pbds_pairing_priority_queue_text_push_timing_test_local.svg,
pbds_pat_trie.png, pbds_point_iterator_hierarchy.png,
pbds_point_iterators_range_ops_1.png,
pbds_point_iterators_range_ops_2.png,
pbds_priority_queue_different_underlying_dss.png,
pbds_priority_queue_random_int_push_pop_timing_test_local.pdf,
pbds_priority_queue_random_int_push_pop_timing_test_local.png,
pbds_priority_queue_random_int_push_pop_timing_test_local.svg,
pbds_priority_queue_random_int_push_timing_test_local.pdf,
pbds_priority_queue_random_int_push_timing_test_local.png,
pbds_priority_queue_random_int_push_timing_test_local.svg,
pbds_priority_queue_tag_hierarchy.pdf,
pbds_priority_queue_tag_hierarchy.png,
pbds_priority_queue_tag_hierarchy.svg,
pbds_priority_queue_text_join_timing_test_local.pdf,
pbds_priority_queue_text_join_timing_test_local.png,
pbds_priority_queue_text_join_timing_test_local.svg,
pbds_priority_queue_text_modify_down_timing_test_local.pdf,
pbds_priority_queue_text_modify_down_timing_test_local.png,
pbds_priority_queue_text_modify_down_timing_test_local.svg,
pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.pdf,
pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.png,
pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.svg,
pbds_priority_queue_text_modify_up_timing_test_local.pdf,
pbds_priority_queue_text_modify_up_timing_test_local.png,
pbds_priority_queue_text_modify_up_timing_test_local.svg,
pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.pdf,
pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.png,
pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.svg,
pbds_priority_queue_text_pop_mem_usage_test_local.pdf,
pbds_priority_queue_text_pop_mem_usage_test_local.png,
pbds_priority_queue_text_pop_mem_usage_test_local.svg,
pbds_priority_queue_text_push_pop_timing_test_local.pdf,
pbds_priority_queue_text_push_pop_timing_test_local.png,
pbds_priority_queue_text_push_pop_timing_test_local.svg,
pbds_priority_queue_text_push_timing_test_local.pdf,
pbds_priority_queue_text_push_timing_test_local.png,
pbds_priority_queue_text_push_timing_test_local.svg,
pbds_rationale_null_node_updator.png,
pbds_resize_policy_cd.png, pbds_restoring_node_invariants.png,
pbds_simple_list.png,
pbds_text_find_timing_test_hash_local.pdf,
pbds_text_find_timing_test_hash_local.png,
pbds_text_find_timing_test_hash_local.svg,
pbds_text_find_timing_test_tree_like_local.pdf,
pbds_text_find_timing_test_tree_like_local.png,
pbds_text_find_timing_test_tree_like_local.svg,
pbds_tree_node_invalidations.png,
pbds_tree_node_invariants.png,
pbds_tree_node_updator_policy_cd.png,
pbds_tree_order_statistics_timing_test_local.pdf,
pbds_tree_order_statistics_timing_test_local.png,
pbds_tree_order_statistics_timing_test_local.svg,
pbds_tree_split_join_timing_test_local.pdf,
pbds_tree_split_join_timing_test_local.png,
pbds_tree_split_join_timing_test_local.svg,
pbds_tree_text_insert_timing_test_node_tree_local.pdf,
pbds_tree_text_insert_timing_test_node_tree_local.png,
pbds_tree_text_insert_timing_test_node_tree_local.svg,
pbds_tree_text_insert_timing_test_pat_trie_local.pdf,
pbds_tree_text_insert_timing_test_pat_trie_local.png,
pbds_tree_text_insert_timing_test_pat_trie_local.svg,
pbds_tree_text_insert_timing_test_vector_tree_local.pdf,
pbds_tree_text_insert_timing_test_vector_tree_local.png,
pbds_tree_text_insert_timing_test_vector_tree_local.svg,
pbds_tree_text_lor_find_timing_test_local.pdf,
pbds_tree_text_lor_find_timing_test_local.png,
pbds_tree_text_lor_find_timing_test_local.svg,
pbds_trie_node_updator_policy_cd.png,
pbds_update_seq_diagram.png): Add.
* doc/html/ext/pb_ds: Remove.
* doc/html/ext/pb_ds/(acks.html, assoc_container_tag_cd.png,
assoc_container_tag_cd.svg, assoc_container_traits.html,
assoc_design.html, assoc_examples.html,
associative_container_tag.html, assoc_performance_tests.html,
assoc_regression_tests.html, assoc_tests.html,
balls_and_bins.png, basic_hash_table.html,
basic_hash_tag.html, basic_invalidation_guarantee.html,
basic_tree_assoc_container_const_node_iterator.html,
basic_tree.html, basic_tree_tag.html, binary_heap_tag.html,
binary_priority_queue_random_int_push_timing_test_gcc.png,
binary_priority_queue_random_int_push_timing_test_local.png,
binary_priority_queue_random_int_push_timing_test_msvc.png,
binomial_heap_tag.html,
ccgp_hash_random_int_subscript_timing_test_insert_gcc.png,
ccgp_hash_random_int_subscript_timing_test_insert_local.png,
ccgp_hash_random_int_subscript_timing_test_insert_msvc.png,
cc_hash_max_collision_check_resize_trigger.html,
cc_hash_random_int_find_timing_test_gcc.png,
cc_hash_random_int_find_timing_test_local.png,
cc_hash_random_int_find_timing_test_msvc.png,
cc_hash_random_int_subscript_timing_test_find_gcc.png,
cc_hash_random_int_subscript_timing_test_find_local.png,
cc_hash_random_int_subscript_timing_test_find_msvc.png,
cc_hash_random_int_subscript_timing_test_insert_gcc.png,
cc_hash_random_int_subscript_timing_test_insert_local.png,
cc_hash_random_int_subscript_timing_test_insert_msvc.png,
cc_hash_table.html, cc_hash_tag.html, checked_by_tidy.gif
concepts.html, contact.html, container_base.html,
container_cd.png, container_cd.svg, container_tag.html,
counter_lu_policy.html, design.html,
different_underlying_dss.png, direct_mask_range_hashing.html,
direct_mod_range_hashing.html, disclaimer.html, ds_gen.html,
embedded_lists_1.png, embedded_lists_2.png,
embedded_lists_3.png, examples.html, exceptions.html,
gp_hash_random_int_find_timing_test_gcc.png,
gp_hash_random_int_find_timing_test_local.png,
gp_hash_random_int_find_timing_test_msvc.png,
gp_hash_random_int_subscript_timing_test_find_gcc.png,
gp_hash_random_int_subscript_timing_test_find_local.png,
gp_hash_random_int_subscript_timing_test_find_msvc.png,
gp_hash_random_int_subscript_timing_test_insert_gcc.png,
gp_hash_random_int_subscript_timing_test_insert_local.png,
gp_hash_random_int_subscript_timing_test_insert_msvc.png,
gp_hash_table.html, gp_hash_tag.html,
hash_based_containers.html, hash_exponential_size_policy.html,
hash_load_check_resize_trigger.html, hash_policy_cd.png,
hash_prime_size_policy.html,
hash_random_int_erase_mem_usage_test_gcc.png,
hash_random_int_erase_mem_usage_test.html,
hash_random_int_erase_mem_usage_test_local.png,
hash_random_int_erase_mem_usage_test_msvc.png,
hash_random_int_find_find_timing_test.html,
hash_random_int_subscript_find_timing_test.html,
hash_random_int_subscript_insert_timing_test.html,
hash_ranged_hash_range_hashing_fns.png,
hash_range_hashing_seq_diagram2.png,
hash_range_hashing_seq_diagram.png,
hash_standard_resize_policy.html,
hash_text_find_find_timing_test.html,
hash_zlob_random_int_find_find_timing_test.html,
hash_zlob_random_int_find_timing_test_gcc.png,
hash_zlob_random_int_find_timing_test_local.png,
hash_zlob_random_int_find_timing_test_msvc.png, index.html,
insert_error.html, insert_resize_sequence_diagram1.png,
insert_resize_sequence_diagram2.png,
insert_resize_sequence_diagram3.png, interface.html,
introduction.html, invalidation_guarantee_cd.png,
invalidation_guarantee_erase.png, join_error.html,
linear_probe_fn.html, list_update.html, list_update_tag.html,
lu_based_containers.html, lu.png, misc.html, motivation.html,
move_to_front_lu_policy.html,
multimap_text_find_timing_test_large.html,
multimap_text_find_timing_test_large_s2p_hash_gcc.png,
multimap_text_find_timing_test_large_s2p_hash_local.png,
multimap_text_find_timing_test_large_s2p_hash_msvc.png,
multimap_text_find_timing_test_large_s2p_tree_gcc.png,
multimap_text_find_timing_test_large_s2p_tree_local.png,
multimap_text_find_timing_test_large_s2p_tree_msvc.png,
multimap_text_find_timing_test_small.html,
multimap_text_find_timing_test_small_s2p_hash_gcc.png,
multimap_text_find_timing_test_small_s2p_hash_local.png,
multimap_text_find_timing_test_small_s2p_hash_msvc.png,
multimap_text_find_timing_test_small_s2p_tree_gcc.png,
multimap_text_find_timing_test_small_s2p_tree_local.png,
multimap_text_find_timing_test_small_s2p_tree_msvc.png,
multimap_text_insert_mem_usage_test_large.html,
multimap_text_insert_mem_usage_test_large_s2p_hash_gcc.png,
multimap_text_insert_mem_usage_test_large_s2p_hash_local.png,
multimap_text_insert_mem_usage_test_large_s2p_hash_msvc.png,
multimap_text_insert_mem_usage_test_large_s2p_tree_gcc.png,
multimap_text_insert_mem_usage_test_large_s2p_tree_local.png,
multimap_text_insert_mem_usage_test_large_s2p_tree_msvc.png,
multimap_text_insert_mem_usage_test_small.html,
multimap_text_insert_mem_usage_test_small_s2p_hash_gcc.png,
multimap_text_insert_mem_usage_test_small_s2p_hash_local.png,
multimap_text_insert_mem_usage_test_small_s2p_hash_msvc.png,
multimap_text_insert_mem_usage_test_small_s2p_tree_gcc.png,
multimap_text_insert_mem_usage_test_small_s2p_tree_local.png,
multimap_text_insert_mem_usage_test_small_s2p_tree_msvc.png,
multimap_text_insert_timing_test_large.html,
multimap_text_insert_timing_test_large_s2p_hash_gcc.png,
multimap_text_insert_timing_test_large_s2p_hash_local.png,
multimap_text_insert_timing_test_large_s2p_hash_msvc.png,
multimap_text_insert_timing_test_large_s2p_tree_gcc.png,
multimap_text_insert_timing_test_large_s2p_tree_local.png,
multimap_text_insert_timing_test_large_s2p_tree_msvc.png,
multimap_text_insert_timing_test_small.html,
multimap_text_insert_timing_test_small_s2p_hash_gcc.png,
multimap_text_insert_timing_test_small_s2p_hash_local.png,
multimap_text_insert_timing_test_small_s2p_hash_msvc.png,
multimap_text_insert_timing_test_small_s2p_tree_gcc.png,
multimap_text_insert_timing_test_small_s2p_tree_local.png,
multimap_text_insert_timing_test_small_s2p_tree_msvc.png,
node_invariant_invalidations.png, node_invariants.png,
null_hash_fn.html, null_lu_metadata.html,
null_mapped_type.html, null_probe_fn.html,
null_tree_node_update.html, null_trie_node_update.html,
ov_tree_tag.html, pairing_heap_tag.html,
pairing_priority_queue_text_push_pop_timing_test_gcc.png,
pairing_priority_queue_text_push_pop_timing_test_local.png,
pairing_priority_queue_text_push_pop_timing_test_msvc.png,
pairing_priority_queue_text_push_timing_test_gcc.png,
pairing_priority_queue_text_push_timing_test_local.png,
pairing_priority_queue_text_push_timing_test_msvc.png,
pat_trie.png, pat_trie_tag.html,
point_invalidation_guarantee.html, point_iterators_cd.png,
point_iterators_range_ops_1.png,
point_iterators_range_ops_2.png, pq_container_traits.html,
pq_design.html, pq_different_underlying_dss.png,
pq_examples.html, pq_performance_tests.html,
pq_regression_tests.html, pq_tests.html, prerequisites.html,
priority_queue.html,
priority_queue_random_int_push_pop_timing_test_gcc.png,
priority_queue_random_int_push_pop_timing_test.html,
priority_queue_random_int_push_pop_timing_test_local.png,
priority_queue_random_int_push_pop_timing_test_msvc.png,
priority_queue_random_int_push_timing_test_gcc.png,
priority_queue_random_int_push_timing_test.html,
priority_queue_random_int_push_timing_test_local.png,
priority_queue_random_int_push_timing_test_msvc.png,
priority_queue_tag_cd.png, priority_queue_tag_cd.svg,
priority_queue_tag.html,
priority_queue_text_join_timing_test_gcc.png,
priority_queue_text_join_timing_test.html,
priority_queue_text_join_timing_test_local.png,
priority_queue_text_join_timing_test_msvc.png,
priority_queue_text_modify_down_timing_test_gcc.png,
priority_queue_text_modify_down_timing_test.html,
priority_queue_text_modify_down_timing_test_local.png,
priority_queue_text_modify_down_timing_test_msvc.png,
priority_queue_text_modify_down_timing_test_pairing_thin_gcc.png,
priority_queue_text_modify_down_timing_test_pairing_thin_local.png,
priority_queue_text_modify_down_timing_test_pairing_thin_msvc.png,
priority_queue_text_modify_up_timing_test_gcc.png,
priority_queue_text_modify_up_timing_test.html,
priority_queue_text_modify_up_timing_test_local.png,
priority_queue_text_modify_up_timing_test_msvc.png,
priority_queue_text_modify_up_timing_test_pairing_thin_gcc.png,
priority_queue_text_modify_up_timing_test_pairing_thin_local.png,
priority_queue_text_modify_up_timing_test_pairing_thin_msvc.png,
priority_queue_text_pop_mem_usage_test_gcc.png,
priority_queue_text_pop_mem_usage_test.html,
priority_queue_text_pop_mem_usage_test_local.png,
priority_queue_text_pop_mem_usage_test_msvc.png,
priority_queue_text_push_pop_timing_test_gcc.png,
priority_queue_text_push_pop_timing_test.html,
priority_queue_text_push_pop_timing_test_local.png,
priority_queue_text_push_pop_timing_test_msvc.png,
priority_queue_text_push_timing_test_gcc.png,
priority_queue_text_push_timing_test.html,
priority_queue_text_push_timing_test_local.png,
priority_queue_text_push_timing_test_msvc.png,
PythonPoweredSmall.gif quadratic_probe_fn.html,
random_int_find_find_timing_test_tree_gcc.png,
random_int_find_find_timing_test_tree_local.png,
random_int_find_find_timing_test_tree_msvc.png,
range_invalidation_guarantee.html,
rationale_null_node_updator.png, rb_tree_tag.html,
rc_binomial_heap_tag.html, references.html, resize_error.html,
resize_policy_cd.png, restoring_node_invariants.png,
sample_probe_fn.html, sample_ranged_hash_fn.html,
sample_ranged_probe_fn.html, sample_range_hashing.html,
sample_resize_policy.html, sample_resize_trigger.html,
sample_size_policy.html, sample_tree_node_update.html,
sample_trie_access_traits.html, sample_trie_node_update.html,
sample_update_policy.html, simple_list.png,
splay_tree_tag.html, tests.html,
text_find_timing_test_hash_gcc.png,
text_find_timing_test_hash_local.png,
text_find_timing_test_hash_msvc.png,
text_find_timing_test_tree_like_gcc.png,
text_find_timing_test_tree_like_local.png,
text_find_timing_test_tree_like_msvc.png, thin_heap_tag.html,
tree_based_containers.html, tree.html,
tree_node_iterator.html, tree_node_updator_policy_cd.png,
tree_order_statistics_node_update.html,
tree_order_statistics_timing_test_gcc.png,
tree_order_statistics_timing_test.html,
tree_order_statistics_timing_test_local.png,
tree_order_statistics_timing_test_msvc.png,
tree_random_int_find_find_timing_test.html,
tree_split_join_timing_test_gcc.png,
tree_split_join_timing_test.html,
tree_split_join_timing_test_local.png,
tree_split_join_timing_test_msvc.png, tree_tag.html,
tree_text_find_find_timing_test.html,
tree_text_insert_timing_test.html,
tree_text_insert_timing_test_node_tree_gcc.png,
tree_text_insert_timing_test_node_tree_local.png,
tree_text_insert_timing_test_node_tree_msvc.png,
tree_text_insert_timing_test_pat_trie_gcc.png,
tree_text_insert_timing_test_pat_trie_local.png,
tree_text_insert_timing_test_pat_trie_msvc.png,
tree_text_insert_timing_test_vector_tree_gcc.png,
tree_text_insert_timing_test_vector_tree_local.png,
tree_text_insert_timing_test_vector_tree_msvc.png,
tree_text_lor_find_find_timing_test.html,
tree_text_lor_find_timing_test_gcc.png,
tree_text_lor_find_timing_test_local.png,
tree_text_lor_find_timing_test_msvc.png,
trie_based_containers.html, trie_const_node_iterator.html,
trie.html, trie_node_iterator.html,
trie_node_updator_policy_cd.png,
trie_order_statistics_node_update.html,
trie_prefix_search_node_update.html,
trie_string_access_traits.html, trie_tag.html,
trivial_iterator_tag.html, tutorial.html,
update_policy_cd.png, update_seq_diagram.png): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176952
138bc75d-0d04-0410-961f-
82ee72b054a4
+2011-07-29 Benjamin Kosnik <bkoz@redhat.com>
+
+ Docbook conversion of existing ext/pb_ds documentation.
+ * doc/Makefile.am (xml_sources_manual): Add
+ policy_data_structures.xml and
+ test_policy_data_structures.xml.
+ (stamp-html-copy): Remove special-case for ext/pb_ds directory.
+ (XSLTPROC_FLAGS): Split into XSLT_FLAGS and XSLT_PARAM, use.
+ * doc/Makefile.in: Regenerate.
+ * doc/xml/manual/policy_data_structures.xml: New, adapted from
+ previous html-only instance in doc/html/ext/pb_ds.
+ * doc/xml/manual/test_policy_data_structures.xml: New, same as above.
+
+ * doc/xml/spine.xml: Update copyright.
+ * doc/xml/manual/spine.xml: Same.
+ * doc/xml/manual/extensions.xml: Adjust set, chapter, sections.
+ * doc/xml/manual/bitmap_allocator.xml: Same.
+ * doc/xml/manual/mt_allocator.xml: Same.
+
+ Populate image directory.
+ * doc/xml/images/(pbds_balls_and_bins.png,
+ pbds_binary_priority_queue_random_int_push_timing_test_local.pdf,
+ pbds_binary_priority_queue_random_int_push_timing_test_local.png,
+ pbds_binary_priority_queue_random_int_push_timing_test_local.svg,
+ pbds_cc_hash_random_int_find_timing_test_local.pdf,
+ pbds_cc_hash_random_int_find_timing_test_local.png,
+ pbds_cc_hash_random_int_find_timing_test_local.svg,
+ pbds_cc_hash_random_int_subscript_timing_test_find_local.pdf,
+ pbds_cc_hash_random_int_subscript_timing_test_find_local.png,
+ pbds_cc_hash_random_int_subscript_timing_test_find_local.svg,
+ pbds_cc_hash_random_int_subscript_timing_test_insert_local.pdf,
+ pbds_cc_hash_random_int_subscript_timing_test_insert_local.png,
+ pbds_cc_hash_random_int_subscript_timing_test_insert_local.svg,
+ pbds_container_tag_hierarchy.pdf,
+ pbds_container_tag_hierarchy.png,
+ pbds_container_tag_hierarchy.svg,
+ pbds_different_underlying_dss_1.png,
+ pbds_different_underlying_dss_2.png,
+ pbds_embedded_lists_1.png, pbds_embedded_lists_2.png,
+ pbds_embedded_lists_3.png, pbds_exception_hierarchy.pdf,
+ pbds_exception_hierarchy.png, pbds_exception_hierarchy.svg,
+ pbds_gp_hash_random_int_find_timing_test_local.pdf,
+ pbds_gp_hash_random_int_find_timing_test_local.png,
+ pbds_gp_hash_random_int_find_timing_test_local.svg,
+ pbds_gp_hash_random_int_subscript_timing_test_find_local.pdf,
+ pbds_gp_hash_random_int_subscript_timing_test_find_local.png,
+ pbds_gp_hash_random_int_subscript_timing_test_find_local.svg,
+ pbds_gp_hash_random_int_subscript_timing_test_insert_local.pdf,
+ pbds_gp_hash_random_int_subscript_timing_test_insert_local.png,
+ pbds_gp_hash_random_int_subscript_timing_test_insert_local.svg,
+ pbds_hash_policy_cd.png,
+ pbds_hash_random_int_erase_mem_usage_test_local.pdf,
+ pbds_hash_random_int_erase_mem_usage_test_local.png,
+ pbds_hash_random_int_erase_mem_usage_test_local.svg,
+ pbds_hash_ranged_hash_range_hashing_fns.png,
+ pbds_hash_range_hashing_seq_diagram2.png,
+ pbds_hash_range_hashing_seq_diagram.png,
+ pbds_hash_zlob_random_int_find_timing_test_local.pdf,
+ pbds_hash_zlob_random_int_find_timing_test_local.png,
+ pbds_hash_zlob_random_int_find_timing_test_local.svg,
+ pbds_insert_resize_sequence_diagram1.png,
+ pbds_insert_resize_sequence_diagram2.png,
+ pbds_insert_resize_sequence_diagram3.png,
+ pbds_invalidation_guarantee_erase.png,
+ pbds_invalidation_tag_hierarchy.pdf,
+ pbds_invalidation_tag_hierarchy.png,
+ pbds_invalidation_tag_hierarchy.svg, pbds_list_update.png,
+ pbds_multimap_text_find_timing_test_large_s2p_hash_local.pdf,
+ pbds_multimap_text_find_timing_test_large_s2p_hash_local.png,
+ pbds_multimap_text_find_timing_test_large_s2p_hash_local.svg,
+ pbds_multimap_text_find_timing_test_large_s2p_tree_local.pdf,
+ pbds_multimap_text_find_timing_test_large_s2p_tree_local.png,
+ pbds_multimap_text_find_timing_test_large_s2p_tree_local.svg,
+ pbds_multimap_text_find_timing_test_small_s2p_hash_local.pdf,
+ pbds_multimap_text_find_timing_test_small_s2p_hash_local.png,
+ pbds_multimap_text_find_timing_test_small_s2p_hash_local.svg,
+ pbds_multimap_text_find_timing_test_small_s2p_tree_local.pdf,
+ pbds_multimap_text_find_timing_test_small_s2p_tree_local.png,
+ pbds_multimap_text_find_timing_test_small_s2p_tree_local.svg,
+ pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.pdf,
+ pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.png,
+ pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.svg,
+ pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.pdf,
+ pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.png,
+ pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.svg,
+ pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.pdf,
+ pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.png,
+ pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.svg,
+ pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.pdf,
+ pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.png,
+ pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.svg,
+ pbds_multimap_text_insert_timing_test_large_s2p_hash_local.pdf,
+ pbds_multimap_text_insert_timing_test_large_s2p_hash_local.png,
+ pbds_multimap_text_insert_timing_test_large_s2p_hash_local.svg,
+ pbds_multimap_text_insert_timing_test_large_s2p_tree_local.pdf,
+ pbds_multimap_text_insert_timing_test_large_s2p_tree_local.png,
+ pbds_multimap_text_insert_timing_test_large_s2p_tree_local.svg,
+ pbds_multimap_text_insert_timing_test_small_s2p_hash_local.pdf,
+ pbds_multimap_text_insert_timing_test_small_s2p_hash_local.png,
+ pbds_multimap_text_insert_timing_test_small_s2p_hash_local.svg,
+ pbds_multimap_text_insert_timing_test_small_s2p_tree_local.pdf,
+ pbds_multimap_text_insert_timing_test_small_s2p_tree_local.png,
+ pbds_multimap_text_insert_timing_test_small_s2p_tree_local.svg,
+ pbds_node_invariants.png,
+ pbds_pairing_priority_queue_text_push_pop_timing_test_local.pdf,
+ pbds_pairing_priority_queue_text_push_pop_timing_test_local.png,
+ pbds_pairing_priority_queue_text_push_pop_timing_test_local.svg,
+ pbds_pairing_priority_queue_text_push_timing_test_local.pdf,
+ pbds_pairing_priority_queue_text_push_timing_test_local.png,
+ pbds_pairing_priority_queue_text_push_timing_test_local.svg,
+ pbds_pat_trie.png, pbds_point_iterator_hierarchy.png,
+ pbds_point_iterators_range_ops_1.png,
+ pbds_point_iterators_range_ops_2.png,
+ pbds_priority_queue_different_underlying_dss.png,
+ pbds_priority_queue_random_int_push_pop_timing_test_local.pdf,
+ pbds_priority_queue_random_int_push_pop_timing_test_local.png,
+ pbds_priority_queue_random_int_push_pop_timing_test_local.svg,
+ pbds_priority_queue_random_int_push_timing_test_local.pdf,
+ pbds_priority_queue_random_int_push_timing_test_local.png,
+ pbds_priority_queue_random_int_push_timing_test_local.svg,
+ pbds_priority_queue_tag_hierarchy.pdf,
+ pbds_priority_queue_tag_hierarchy.png,
+ pbds_priority_queue_tag_hierarchy.svg,
+ pbds_priority_queue_text_join_timing_test_local.pdf,
+ pbds_priority_queue_text_join_timing_test_local.png,
+ pbds_priority_queue_text_join_timing_test_local.svg,
+ pbds_priority_queue_text_modify_down_timing_test_local.pdf,
+ pbds_priority_queue_text_modify_down_timing_test_local.png,
+ pbds_priority_queue_text_modify_down_timing_test_local.svg,
+ pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.pdf,
+ pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.png,
+ pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.svg,
+ pbds_priority_queue_text_modify_up_timing_test_local.pdf,
+ pbds_priority_queue_text_modify_up_timing_test_local.png,
+ pbds_priority_queue_text_modify_up_timing_test_local.svg,
+ pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.pdf,
+ pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.png,
+ pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.svg,
+ pbds_priority_queue_text_pop_mem_usage_test_local.pdf,
+ pbds_priority_queue_text_pop_mem_usage_test_local.png,
+ pbds_priority_queue_text_pop_mem_usage_test_local.svg,
+ pbds_priority_queue_text_push_pop_timing_test_local.pdf,
+ pbds_priority_queue_text_push_pop_timing_test_local.png,
+ pbds_priority_queue_text_push_pop_timing_test_local.svg,
+ pbds_priority_queue_text_push_timing_test_local.pdf,
+ pbds_priority_queue_text_push_timing_test_local.png,
+ pbds_priority_queue_text_push_timing_test_local.svg,
+ pbds_rationale_null_node_updator.png,
+ pbds_resize_policy_cd.png, pbds_restoring_node_invariants.png,
+ pbds_simple_list.png,
+ pbds_text_find_timing_test_hash_local.pdf,
+ pbds_text_find_timing_test_hash_local.png,
+ pbds_text_find_timing_test_hash_local.svg,
+ pbds_text_find_timing_test_tree_like_local.pdf,
+ pbds_text_find_timing_test_tree_like_local.png,
+ pbds_text_find_timing_test_tree_like_local.svg,
+ pbds_tree_node_invalidations.png,
+ pbds_tree_node_invariants.png,
+ pbds_tree_node_updator_policy_cd.png,
+ pbds_tree_order_statistics_timing_test_local.pdf,
+ pbds_tree_order_statistics_timing_test_local.png,
+ pbds_tree_order_statistics_timing_test_local.svg,
+ pbds_tree_split_join_timing_test_local.pdf,
+ pbds_tree_split_join_timing_test_local.png,
+ pbds_tree_split_join_timing_test_local.svg,
+ pbds_tree_text_insert_timing_test_node_tree_local.pdf,
+ pbds_tree_text_insert_timing_test_node_tree_local.png,
+ pbds_tree_text_insert_timing_test_node_tree_local.svg,
+ pbds_tree_text_insert_timing_test_pat_trie_local.pdf,
+ pbds_tree_text_insert_timing_test_pat_trie_local.png,
+ pbds_tree_text_insert_timing_test_pat_trie_local.svg,
+ pbds_tree_text_insert_timing_test_vector_tree_local.pdf,
+ pbds_tree_text_insert_timing_test_vector_tree_local.png,
+ pbds_tree_text_insert_timing_test_vector_tree_local.svg,
+ pbds_tree_text_lor_find_timing_test_local.pdf,
+ pbds_tree_text_lor_find_timing_test_local.png,
+ pbds_tree_text_lor_find_timing_test_local.svg,
+ pbds_trie_node_updator_policy_cd.png,
+ pbds_update_seq_diagram.png): Add.
+
+ * doc/html/ext/pb_ds: Remove.
+ * doc/html/ext/pb_ds/(acks.html, assoc_container_tag_cd.png,
+ assoc_container_tag_cd.svg, assoc_container_traits.html,
+ assoc_design.html, assoc_examples.html,
+ associative_container_tag.html, assoc_performance_tests.html,
+ assoc_regression_tests.html, assoc_tests.html,
+ balls_and_bins.png, basic_hash_table.html,
+ basic_hash_tag.html, basic_invalidation_guarantee.html,
+ basic_tree_assoc_container_const_node_iterator.html,
+ basic_tree.html, basic_tree_tag.html, binary_heap_tag.html,
+ binary_priority_queue_random_int_push_timing_test_gcc.png,
+ binary_priority_queue_random_int_push_timing_test_local.png,
+ binary_priority_queue_random_int_push_timing_test_msvc.png,
+ binomial_heap_tag.html,
+ ccgp_hash_random_int_subscript_timing_test_insert_gcc.png,
+ ccgp_hash_random_int_subscript_timing_test_insert_local.png,
+ ccgp_hash_random_int_subscript_timing_test_insert_msvc.png,
+ cc_hash_max_collision_check_resize_trigger.html,
+ cc_hash_random_int_find_timing_test_gcc.png,
+ cc_hash_random_int_find_timing_test_local.png,
+ cc_hash_random_int_find_timing_test_msvc.png,
+ cc_hash_random_int_subscript_timing_test_find_gcc.png,
+ cc_hash_random_int_subscript_timing_test_find_local.png,
+ cc_hash_random_int_subscript_timing_test_find_msvc.png,
+ cc_hash_random_int_subscript_timing_test_insert_gcc.png,
+ cc_hash_random_int_subscript_timing_test_insert_local.png,
+ cc_hash_random_int_subscript_timing_test_insert_msvc.png,
+ cc_hash_table.html, cc_hash_tag.html, checked_by_tidy.gif
+ concepts.html, contact.html, container_base.html,
+ container_cd.png, container_cd.svg, container_tag.html,
+ counter_lu_policy.html, design.html,
+ different_underlying_dss.png, direct_mask_range_hashing.html,
+ direct_mod_range_hashing.html, disclaimer.html, ds_gen.html,
+ embedded_lists_1.png, embedded_lists_2.png,
+ embedded_lists_3.png, examples.html, exceptions.html,
+ gp_hash_random_int_find_timing_test_gcc.png,
+ gp_hash_random_int_find_timing_test_local.png,
+ gp_hash_random_int_find_timing_test_msvc.png,
+ gp_hash_random_int_subscript_timing_test_find_gcc.png,
+ gp_hash_random_int_subscript_timing_test_find_local.png,
+ gp_hash_random_int_subscript_timing_test_find_msvc.png,
+ gp_hash_random_int_subscript_timing_test_insert_gcc.png,
+ gp_hash_random_int_subscript_timing_test_insert_local.png,
+ gp_hash_random_int_subscript_timing_test_insert_msvc.png,
+ gp_hash_table.html, gp_hash_tag.html,
+ hash_based_containers.html, hash_exponential_size_policy.html,
+ hash_load_check_resize_trigger.html, hash_policy_cd.png,
+ hash_prime_size_policy.html,
+ hash_random_int_erase_mem_usage_test_gcc.png,
+ hash_random_int_erase_mem_usage_test.html,
+ hash_random_int_erase_mem_usage_test_local.png,
+ hash_random_int_erase_mem_usage_test_msvc.png,
+ hash_random_int_find_find_timing_test.html,
+ hash_random_int_subscript_find_timing_test.html,
+ hash_random_int_subscript_insert_timing_test.html,
+ hash_ranged_hash_range_hashing_fns.png,
+ hash_range_hashing_seq_diagram2.png,
+ hash_range_hashing_seq_diagram.png,
+ hash_standard_resize_policy.html,
+ hash_text_find_find_timing_test.html,
+ hash_zlob_random_int_find_find_timing_test.html,
+ hash_zlob_random_int_find_timing_test_gcc.png,
+ hash_zlob_random_int_find_timing_test_local.png,
+ hash_zlob_random_int_find_timing_test_msvc.png, index.html,
+ insert_error.html, insert_resize_sequence_diagram1.png,
+ insert_resize_sequence_diagram2.png,
+ insert_resize_sequence_diagram3.png, interface.html,
+ introduction.html, invalidation_guarantee_cd.png,
+ invalidation_guarantee_erase.png, join_error.html,
+ linear_probe_fn.html, list_update.html, list_update_tag.html,
+ lu_based_containers.html, lu.png, misc.html, motivation.html,
+ move_to_front_lu_policy.html,
+ multimap_text_find_timing_test_large.html,
+ multimap_text_find_timing_test_large_s2p_hash_gcc.png,
+ multimap_text_find_timing_test_large_s2p_hash_local.png,
+ multimap_text_find_timing_test_large_s2p_hash_msvc.png,
+ multimap_text_find_timing_test_large_s2p_tree_gcc.png,
+ multimap_text_find_timing_test_large_s2p_tree_local.png,
+ multimap_text_find_timing_test_large_s2p_tree_msvc.png,
+ multimap_text_find_timing_test_small.html,
+ multimap_text_find_timing_test_small_s2p_hash_gcc.png,
+ multimap_text_find_timing_test_small_s2p_hash_local.png,
+ multimap_text_find_timing_test_small_s2p_hash_msvc.png,
+ multimap_text_find_timing_test_small_s2p_tree_gcc.png,
+ multimap_text_find_timing_test_small_s2p_tree_local.png,
+ multimap_text_find_timing_test_small_s2p_tree_msvc.png,
+ multimap_text_insert_mem_usage_test_large.html,
+ multimap_text_insert_mem_usage_test_large_s2p_hash_gcc.png,
+ multimap_text_insert_mem_usage_test_large_s2p_hash_local.png,
+ multimap_text_insert_mem_usage_test_large_s2p_hash_msvc.png,
+ multimap_text_insert_mem_usage_test_large_s2p_tree_gcc.png,
+ multimap_text_insert_mem_usage_test_large_s2p_tree_local.png,
+ multimap_text_insert_mem_usage_test_large_s2p_tree_msvc.png,
+ multimap_text_insert_mem_usage_test_small.html,
+ multimap_text_insert_mem_usage_test_small_s2p_hash_gcc.png,
+ multimap_text_insert_mem_usage_test_small_s2p_hash_local.png,
+ multimap_text_insert_mem_usage_test_small_s2p_hash_msvc.png,
+ multimap_text_insert_mem_usage_test_small_s2p_tree_gcc.png,
+ multimap_text_insert_mem_usage_test_small_s2p_tree_local.png,
+ multimap_text_insert_mem_usage_test_small_s2p_tree_msvc.png,
+ multimap_text_insert_timing_test_large.html,
+ multimap_text_insert_timing_test_large_s2p_hash_gcc.png,
+ multimap_text_insert_timing_test_large_s2p_hash_local.png,
+ multimap_text_insert_timing_test_large_s2p_hash_msvc.png,
+ multimap_text_insert_timing_test_large_s2p_tree_gcc.png,
+ multimap_text_insert_timing_test_large_s2p_tree_local.png,
+ multimap_text_insert_timing_test_large_s2p_tree_msvc.png,
+ multimap_text_insert_timing_test_small.html,
+ multimap_text_insert_timing_test_small_s2p_hash_gcc.png,
+ multimap_text_insert_timing_test_small_s2p_hash_local.png,
+ multimap_text_insert_timing_test_small_s2p_hash_msvc.png,
+ multimap_text_insert_timing_test_small_s2p_tree_gcc.png,
+ multimap_text_insert_timing_test_small_s2p_tree_local.png,
+ multimap_text_insert_timing_test_small_s2p_tree_msvc.png,
+ node_invariant_invalidations.png, node_invariants.png,
+ null_hash_fn.html, null_lu_metadata.html,
+ null_mapped_type.html, null_probe_fn.html,
+ null_tree_node_update.html, null_trie_node_update.html,
+ ov_tree_tag.html, pairing_heap_tag.html,
+ pairing_priority_queue_text_push_pop_timing_test_gcc.png,
+ pairing_priority_queue_text_push_pop_timing_test_local.png,
+ pairing_priority_queue_text_push_pop_timing_test_msvc.png,
+ pairing_priority_queue_text_push_timing_test_gcc.png,
+ pairing_priority_queue_text_push_timing_test_local.png,
+ pairing_priority_queue_text_push_timing_test_msvc.png,
+ pat_trie.png, pat_trie_tag.html,
+ point_invalidation_guarantee.html, point_iterators_cd.png,
+ point_iterators_range_ops_1.png,
+ point_iterators_range_ops_2.png, pq_container_traits.html,
+ pq_design.html, pq_different_underlying_dss.png,
+ pq_examples.html, pq_performance_tests.html,
+ pq_regression_tests.html, pq_tests.html, prerequisites.html,
+ priority_queue.html,
+ priority_queue_random_int_push_pop_timing_test_gcc.png,
+ priority_queue_random_int_push_pop_timing_test.html,
+ priority_queue_random_int_push_pop_timing_test_local.png,
+ priority_queue_random_int_push_pop_timing_test_msvc.png,
+ priority_queue_random_int_push_timing_test_gcc.png,
+ priority_queue_random_int_push_timing_test.html,
+ priority_queue_random_int_push_timing_test_local.png,
+ priority_queue_random_int_push_timing_test_msvc.png,
+ priority_queue_tag_cd.png, priority_queue_tag_cd.svg,
+ priority_queue_tag.html,
+ priority_queue_text_join_timing_test_gcc.png,
+ priority_queue_text_join_timing_test.html,
+ priority_queue_text_join_timing_test_local.png,
+ priority_queue_text_join_timing_test_msvc.png,
+ priority_queue_text_modify_down_timing_test_gcc.png,
+ priority_queue_text_modify_down_timing_test.html,
+ priority_queue_text_modify_down_timing_test_local.png,
+ priority_queue_text_modify_down_timing_test_msvc.png,
+ priority_queue_text_modify_down_timing_test_pairing_thin_gcc.png,
+ priority_queue_text_modify_down_timing_test_pairing_thin_local.png,
+ priority_queue_text_modify_down_timing_test_pairing_thin_msvc.png,
+ priority_queue_text_modify_up_timing_test_gcc.png,
+ priority_queue_text_modify_up_timing_test.html,
+ priority_queue_text_modify_up_timing_test_local.png,
+ priority_queue_text_modify_up_timing_test_msvc.png,
+ priority_queue_text_modify_up_timing_test_pairing_thin_gcc.png,
+ priority_queue_text_modify_up_timing_test_pairing_thin_local.png,
+ priority_queue_text_modify_up_timing_test_pairing_thin_msvc.png,
+ priority_queue_text_pop_mem_usage_test_gcc.png,
+ priority_queue_text_pop_mem_usage_test.html,
+ priority_queue_text_pop_mem_usage_test_local.png,
+ priority_queue_text_pop_mem_usage_test_msvc.png,
+ priority_queue_text_push_pop_timing_test_gcc.png,
+ priority_queue_text_push_pop_timing_test.html,
+ priority_queue_text_push_pop_timing_test_local.png,
+ priority_queue_text_push_pop_timing_test_msvc.png,
+ priority_queue_text_push_timing_test_gcc.png,
+ priority_queue_text_push_timing_test.html,
+ priority_queue_text_push_timing_test_local.png,
+ priority_queue_text_push_timing_test_msvc.png,
+ PythonPoweredSmall.gif quadratic_probe_fn.html,
+ random_int_find_find_timing_test_tree_gcc.png,
+ random_int_find_find_timing_test_tree_local.png,
+ random_int_find_find_timing_test_tree_msvc.png,
+ range_invalidation_guarantee.html,
+ rationale_null_node_updator.png, rb_tree_tag.html,
+ rc_binomial_heap_tag.html, references.html, resize_error.html,
+ resize_policy_cd.png, restoring_node_invariants.png,
+ sample_probe_fn.html, sample_ranged_hash_fn.html,
+ sample_ranged_probe_fn.html, sample_range_hashing.html,
+ sample_resize_policy.html, sample_resize_trigger.html,
+ sample_size_policy.html, sample_tree_node_update.html,
+ sample_trie_access_traits.html, sample_trie_node_update.html,
+ sample_update_policy.html, simple_list.png,
+ splay_tree_tag.html, tests.html,
+ text_find_timing_test_hash_gcc.png,
+ text_find_timing_test_hash_local.png,
+ text_find_timing_test_hash_msvc.png,
+ text_find_timing_test_tree_like_gcc.png,
+ text_find_timing_test_tree_like_local.png,
+ text_find_timing_test_tree_like_msvc.png, thin_heap_tag.html,
+ tree_based_containers.html, tree.html,
+ tree_node_iterator.html, tree_node_updator_policy_cd.png,
+ tree_order_statistics_node_update.html,
+ tree_order_statistics_timing_test_gcc.png,
+ tree_order_statistics_timing_test.html,
+ tree_order_statistics_timing_test_local.png,
+ tree_order_statistics_timing_test_msvc.png,
+ tree_random_int_find_find_timing_test.html,
+ tree_split_join_timing_test_gcc.png,
+ tree_split_join_timing_test.html,
+ tree_split_join_timing_test_local.png,
+ tree_split_join_timing_test_msvc.png, tree_tag.html,
+ tree_text_find_find_timing_test.html,
+ tree_text_insert_timing_test.html,
+ tree_text_insert_timing_test_node_tree_gcc.png,
+ tree_text_insert_timing_test_node_tree_local.png,
+ tree_text_insert_timing_test_node_tree_msvc.png,
+ tree_text_insert_timing_test_pat_trie_gcc.png,
+ tree_text_insert_timing_test_pat_trie_local.png,
+ tree_text_insert_timing_test_pat_trie_msvc.png,
+ tree_text_insert_timing_test_vector_tree_gcc.png,
+ tree_text_insert_timing_test_vector_tree_local.png,
+ tree_text_insert_timing_test_vector_tree_msvc.png,
+ tree_text_lor_find_find_timing_test.html,
+ tree_text_lor_find_timing_test_gcc.png,
+ tree_text_lor_find_timing_test_local.png,
+ tree_text_lor_find_timing_test_msvc.png,
+ trie_based_containers.html, trie_const_node_iterator.html,
+ trie.html, trie_node_iterator.html,
+ trie_node_updator_policy_cd.png,
+ trie_order_statistics_node_update.html,
+ trie_prefix_search_node_update.html,
+ trie_string_access_traits.html, trie_tag.html,
+ trivial_iterator_tag.html, tutorial.html,
+ update_policy_cd.png, update_seq_diagram.png): Remove.
+
2011-07-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/49813
cp -r ${top_srcdir}/doc/html/ext ${docbook_outdir}/html/manual/ext
cd ${docbook_outdir}/html/manual/ext
rm -rf ${docbook_outdir}/html/manual/ext/.svn
- rm -rf ${docbook_outdir}/html/manual/ext/pb_ds/.svn
$(STAMP) stamp-html-copy
doc-html: stamp-html
${xml_dir}/manual/mt_allocator.xml \
${xml_dir}/manual/numerics.xml \
${xml_dir}/manual/parallel_mode.xml \
+ ${xml_dir}/manual/policy_data_structures.xml \
${xml_dir}/manual/prerequisites.xml \
${xml_dir}/manual/profile_mode.xml \
${xml_dir}/manual/shared_ptr.xml \
${xml_dir}/manual/strings.xml \
${xml_dir}/manual/support.xml \
${xml_dir}/manual/test.xml \
+ ${xml_dir}/manual/test_policy_data_structures.xml \
${xml_dir}/manual/using.xml \
${xml_dir}/manual/using_exceptions.xml \
${xml_dir}/manual/utilities.xml \
${xml_dir}/images/confdeps.pdf
XSLTPROC = xsltproc
-XSLTPROC_FLAGS = --nonet --xinclude
+XSLT_FLAGS = --nonet --xinclude
+XSLT_PARAM = --param toc.section.depth 4
#XSL_STYLE_DIR = /usr/share/xml/docbook/stylesheet/docbook-xsl-ns
#XSL_STYLE_DIR = /usr/share/sgml/docbook/xsl-ns-stylesheets
XSL_FO_STYLE = $(XSL_STYLE_DIR)/fo/docbook.xsl
# HTML, index plus chapters
stamp-html-docbook: $(xml_sources) ${docbook_outdir}/html
@echo "Generating html files..."
- $(XSLTPROC) $(XSLTPROC_FLAGS) -o ${docbook_outdir}/html/ \
+ $(XSLTPROC) $(XSLT_PARAM) $(XSLT_FLAGS) -o ${docbook_outdir}/html/ \
$(XSL_HTML_STYLE) ${top_srcdir}/doc/xml/spine.xml
$(STAMP) stamp-html-docbook
manual_html = ${docbook_outdir}/html/libstdc++-manual-single.html
stamp-html-single-docbook: $(xml_sources) ${docbook_outdir}/html
@echo "Generating html single file..."
- $(XSLTPROC) $(XSLTPROC_FLAGS) -o ${manual_html} \
+ $(XSLTPROC) $(XSLT_PARAM) $(XSLT_FLAGS) -o ${manual_html} \
$(XSL_HTML_SINGLE_STYLE) ${top_srcdir}/doc/xml/spine.xml
$(STAMP) stamp-html-single-docbook
# FO
stamp-fo-docbook: $(xml_sources) ${docbook_outdir}/fo
@echo "Generating FO files..."
- $(XSLTPROC) $(XSLTPROC_FLAGS) -o ${docbook_outdir}/fo/spine.fo \
+ $(XSLTPROC) $(XSLT_FLAGS) -o ${docbook_outdir}/fo/spine.fo \
$(XSL_FO_STYLE) ${top_srcdir}/doc/xml/spine.xml
$(STAMP) stamp-fo-docbook
# Performance doc and graph configuration.
# Assumes pychart, beautiful soup installed.
# Generates the plots and graphs for performance testing.
+# XXX this needs to be re-worked to create only the SVG charts
doc_performance_script=${top_srcdir}/scripts/make_graphs.py
doc-html-performance:
-@(chmod + ${doc_performance_script}; \
${xml_dir}/manual/mt_allocator.xml \
${xml_dir}/manual/numerics.xml \
${xml_dir}/manual/parallel_mode.xml \
+ ${xml_dir}/manual/policy_data_structures.xml \
${xml_dir}/manual/prerequisites.xml \
${xml_dir}/manual/profile_mode.xml \
${xml_dir}/manual/shared_ptr.xml \
${xml_dir}/manual/strings.xml \
${xml_dir}/manual/support.xml \
${xml_dir}/manual/test.xml \
+ ${xml_dir}/manual/test_policy_data_structures.xml \
${xml_dir}/manual/using.xml \
${xml_dir}/manual/using_exceptions.xml \
${xml_dir}/manual/utilities.xml \
${xml_dir}/images/confdeps.png \
${xml_dir}/images/confdeps.pdf
-XSLTPROC_FLAGS = --nonet --xinclude
+XSLT_FLAGS = --nonet --xinclude
+XSLT_PARAM = --param toc.section.depth 4
#XSL_STYLE_DIR = /usr/share/xml/docbook/stylesheet/docbook-xsl-ns
#XSL_STYLE_DIR = /usr/share/sgml/docbook/xsl-ns-stylesheets
XSL_FO_STYLE = $(XSL_STYLE_DIR)/fo/docbook.xsl
# Performance doc and graph configuration.
# Assumes pychart, beautiful soup installed.
# Generates the plots and graphs for performance testing.
+# XXX this needs to be re-worked to create only the SVG charts
doc_performance_script = ${top_srcdir}/scripts/make_graphs.py
# By adding these files here, automake will remove them for 'make clean'
cp -r ${top_srcdir}/doc/html/ext ${docbook_outdir}/html/manual/ext
cd ${docbook_outdir}/html/manual/ext
rm -rf ${docbook_outdir}/html/manual/ext/.svn
- rm -rf ${docbook_outdir}/html/manual/ext/pb_ds/.svn
$(STAMP) stamp-html-copy
doc-html: stamp-html
# HTML, index plus chapters
stamp-html-docbook: $(xml_sources) ${docbook_outdir}/html
@echo "Generating html files..."
- $(XSLTPROC) $(XSLTPROC_FLAGS) -o ${docbook_outdir}/html/ \
+ $(XSLTPROC) $(XSLT_PARAM) $(XSLT_FLAGS) -o ${docbook_outdir}/html/ \
$(XSL_HTML_STYLE) ${top_srcdir}/doc/xml/spine.xml
$(STAMP) stamp-html-docbook
doc-html-docbook: stamp-html-docbook
stamp-html-single-docbook: $(xml_sources) ${docbook_outdir}/html
@echo "Generating html single file..."
- $(XSLTPROC) $(XSLTPROC_FLAGS) -o ${manual_html} \
+ $(XSLTPROC) $(XSLT_PARAM) $(XSLT_FLAGS) -o ${manual_html} \
$(XSL_HTML_SINGLE_STYLE) ${top_srcdir}/doc/xml/spine.xml
$(STAMP) stamp-html-single-docbook
# FO
stamp-fo-docbook: $(xml_sources) ${docbook_outdir}/fo
@echo "Generating FO files..."
- $(XSLTPROC) $(XSLTPROC_FLAGS) -o ${docbook_outdir}/fo/spine.fo \
+ $(XSLTPROC) $(XSLT_FLAGS) -o ${docbook_outdir}/fo/spine.fo \
$(XSL_FO_STYLE) ${top_srcdir}/doc/xml/spine.xml
$(STAMP) stamp-fo-docbook
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-
- <title>Acknowledgments</title>
- <meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
- </head>
-
-<body>
- <div id="page">
- <h1>Acknowledgments</h1>
-
- <ol>
- <li>This library was partially written at <a href=
- "http://www.haifa.il.ibm.com/">IBM's Haifa Research
- Labs</a>.</li>
-
- <li>The library is based heavily on policy-based design and
- uses many useful techniques from [<a href=
- "references.html#alexandrescu01modern">alexandrescu01modern</a>].</li>
-
- <li>Two ideas are borrowed from the SGI-STL implementation
- [<a href="references.html#sgi_stl">sgi_stl</a>]:
-
- <ol>
- <li>The prime-based resize policies use a list of primes
- taken from the SGI-STL implementation.</li>
-
- <li>The red-black trees contain both a root node and a
- header node (containing metadata), connected in a way
- that forward and reverse iteration can be performed
- efficiently.</li>
- </ol>
- </li>
-
- <li>Some test utilities borrow ideas from [<a href=
- "references.html#boost_timer">boost_timer</a>].</li>
-
- <li>We would like to thank Scott Meyers for useful comments
- (without attributing to him any flaws in the design or
- implementation of the library).</li>
-
- <li>Much of the documentation is <a href=
- "http://www.python.org/"><img src="PythonPoweredSmall.gif"
- align="middle" width="55" height="22" alt="[Python Powered]"
- border="0" /></a> (especially through <a href=
- "http://home.gna.org/pychart/">PyChart</a>, <a href=
- "http://www.crummy.com/software/BeautifulSoup/">Beautiful
- Soup</a>, and <a href=
- "http://starship.python.net/crew/aaron_watters/kjbuckets/">kjbuckets</a>)
- and uses <a href="http://tidy.sourceforge.net/"><img src=
- "checked_by_tidy.gif" align="middle" width="55" height="45"
- alt="[HTML tidy]" border="0" /></a>. The CSS-driven menus are
- slightly modified from <a href=
- "http://www.brothercake.com/scripts/navmeister/page.php">Brothercake</a>
- (hopefully without introducing errors).</li>
- </ol>
- </div>
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://web.resource.org/cc/"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="11in"
- height="8.5in"
- id="svg2"
- sodipodi:version="0.32"
- inkscape:version="0.43"
- version="1.0"
- sodipodi:docbase="/mnt/share/src/policy_based_data_structures/pb_ds_images"
- sodipodi:docname="assoc_tag_diagram_2.svg"
- inkscape:export-filename="/mnt/share/src/policy_based_data_structures/pb_ds_images/assoc_tag_diagram_2.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <defs
- id="defs4">
- <marker
- inkscape:stockid="Arrow1Mstart"
- orient="auto"
- refY="0.0"
- refX="0.0"
- id="Arrow1Mstart"
- style="overflow:visible">
- <path
- id="path3311"
- d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
- transform="scale(0.4)" />
- </marker>
- <marker
- inkscape:stockid="Arrow2Sstart"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow2Sstart"
- style="overflow:visible">
- <path
- id="path3319"
- style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
- d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
- transform="matrix(0.3,0,0,0.3,-1.5,0)" />
- </marker>
- <marker
- inkscape:stockid="Arrow1Sstart"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Sstart"
- style="overflow:visible">
- <path
- id="path3337"
- d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
- transform="scale(0.2,0.2)" />
- </marker>
- <marker
- inkscape:stockid="Arrow2Send"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow2Send"
- style="overflow:visible">
- <path
- id="path3316"
- style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
- d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
- transform="matrix(-0.3,0,0,-0.3,1.5,0)" />
- </marker>
- <marker
- inkscape:stockid="Arrow2Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow2Mend"
- style="overflow:visible">
- <path
- id="path3322"
- style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
- d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
- transform="matrix(-0.6,0,0,-0.6,3,0)" />
- </marker>
- <marker
- inkscape:stockid="Arrow1Lend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Lend"
- style="overflow:visible">
- <path
- id="path3346"
- d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
- transform="scale(-0.8,-0.8)" />
- </marker>
- <marker
- inkscape:stockid="Arrow2Lstart"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow2Lstart"
- style="overflow:visible">
- <path
- id="path3331"
- style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
- d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
- transform="matrix(1.1,0,0,1.1,-5.5,0)" />
- </marker>
- <marker
- inkscape:stockid="Arrow2Lend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow2Lend"
- style="overflow:visible">
- <path
- id="path3328"
- style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
- d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
- transform="matrix(-1.1,0,0,-1.1,5.5,0)" />
- </marker>
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="2"
- inkscape:cx="613.85775"
- inkscape:cy="310.05621"
- inkscape:document-units="in"
- inkscape:current-layer="layer1"
- showguides="true"
- inkscape:guide-bbox="true"
- inkscape:window-width="1278"
- inkscape:window-height="973"
- inkscape:window-x="0"
- inkscape:window-y="0"
- gridtolerance="0.125in"
- guidetolerance="0.125in">
- <sodipodi:guide
- orientation="horizontal"
- position="629"
- id="guide1307" />
- <sodipodi:guide
- orientation="horizontal"
- position="449"
- id="guide1309" />
- <sodipodi:guide
- orientation="horizontal"
- position="269"
- id="guide1311" />
- <sodipodi:guide
- orientation="vertical"
- position="496"
- id="guide1313" />
- <sodipodi:guide
- orientation="vertical"
- position="361"
- id="guide1315" />
- <sodipodi:guide
- orientation="vertical"
- position="226"
- id="guide1317" />
- <sodipodi:guide
- orientation="vertical"
- position="631"
- id="guide1319" />
- <sodipodi:guide
- orientation="vertical"
- position="766"
- id="guide1321" />
- <sodipodi:guide
- orientation="vertical"
- position="91"
- id="guide1345" />
- <sodipodi:guide
- orientation="vertical"
- position="901"
- id="guide1347" />
- <sodipodi:guide
- orientation="horizontal"
- position="539"
- id="guide3390" />
- <sodipodi:guide
- orientation="horizontal"
- position="359"
- id="guide3392" />
- <sodipodi:guide
- orientation="vertical"
- position="280.5"
- id="guide3324" />
- <sodipodi:guide
- orientation="vertical"
- position="172"
- id="guide3326" />
- <sodipodi:guide
- orientation="vertical"
- position="427"
- id="guide3328" />
- <sodipodi:guide
- orientation="vertical"
- position="711.5"
- id="guide3340" />
- <sodipodi:guide
- orientation="horizontal"
- position="179"
- id="guide1395" />
- </sodipodi:namedview>
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Benjamin Kosnik</dc:title>
- </cc:Agent>
- </dc:creator>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1">
- <rect
- y="562.32806"
- x="237.8916"
- height="23.200001"
- width="80.769417"
- id="rect1495"
- style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.94391561;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <rect
- style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.94391561;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect1497"
- width="80.769417"
- height="23.200001"
- x="132.8916"
- y="562.32806" />
- <rect
- style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.94391561;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect1493"
- width="80.769417"
- height="23.200001"
- x="21.891602"
- y="562.32806" />
- <rect
- style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect1425"
- width="141.64481"
- height="23.200001"
- x="209.57762"
- y="382.56177" />
- <rect
- style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect3378"
- width="141.64481"
- height="23.200001"
- x="640.77765"
- y="382.56177" />
- <text
- xml:space="preserve"
- style="font-size:9.60000038;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans;stroke-miterlimit:4;stroke-dasharray:none"
- x="710.40002"
- y="397.09772"
- id="use1337"
- sodipodi:linespacing="100%"><tspan
- sodipodi:role="line"
- id="tspan1391"
- x="710.40003"
- y="397.09772">basic_hash_table_tag</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:9.60000038;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="280"
- y="397.09772"
- id="text1339"
- sodipodi:linespacing="100%"><tspan
- sodipodi:role="line"
- id="tspan1385"
- x="280"
- y="397.09772">basic_tree_tag</tspan></text>
- <rect
- style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect3418"
- width="141.64481"
- height="23.200001"
- x="101.57762"
- y="472.5618" />
- <rect
- y="472.5618"
- x="317.57761"
- height="23.200001"
- width="141.64481"
- id="rect3420"
- style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <text
- xml:space="preserve"
- style="font-size:9.60000038;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="171.20001"
- y="486.29773"
- id="text3394"
- sodipodi:linespacing="100%"><tspan
- sodipodi:role="line"
- id="tspan1387"
- x="171.20001"
- y="486.29773">tree_tag</tspan></text>
- <text
- sodipodi:linespacing="100%"
- id="text3400"
- y="486.29773"
- x="388.39999"
- style="font-size:9.60000038px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- xml:space="preserve"><tspan
- sodipodi:role="line"
- id="tspan1389"
- x="388.39999"
- y="486.29773">trie_tag</tspan></text>
- <rect
- style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect3380"
- width="141.64481"
- height="23.200001"
- x="425.57764"
- y="292.56177" />
- <text
- xml:space="preserve"
- style="font-size:9.60000038;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.5625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="495.20001"
- y="307.09772"
- id="text1323"
- sodipodi:linespacing="100%"><tspan
- sodipodi:role="line"
- id="tspan1384"
- x="495.20001"
- y="307.09772">associative_container_tag</tspan></text>
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
- d="M 170.97058,472.5 L 170.97058,451 L 387.51871,450 L 387.51871,472.5"
- id="path2244" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 280.5,450.53297 L 280.5,410.62445"
- id="path3332" />
- <rect
- style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect3422"
- width="141.64481"
- height="23.200001"
- x="533.57764"
- y="472.5618" />
- <rect
- y="472.5618"
- x="748.77765"
- height="23.200001"
- width="141.64481"
- id="rect3424"
- style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <text
- sodipodi:linespacing="100%"
- id="text3406"
- y="486.29773"
- x="601.20001"
- style="font-size:9.60000038px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
- xml:space="preserve"><tspan
- sodipodi:role="line"
- id="tspan1393"
- x="601.20001"
- y="486.29773">cc_hash_table_tag</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:9.60000038px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="818"
- y="486.29773"
- id="text3412"
- sodipodi:linespacing="100%"><tspan
- sodipodi:role="line"
- id="tspan1395"
- x="818"
- y="486.29773">gp_hash_table_tag</tspan></text>
- <path
- id="path3353"
- d="M 601.47058,472.5 L 601.47058,451 L 818.01871,450 L 818.01871,472.5"
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
- <path
- id="path3355"
- d="M 711,450.53297 L 711,410.62445"
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- id="path3344"
- d="M 281.18218,383.28102 L 281.18218,361.78102 L 711.79281,360.78102 L 711.79281,383.28102"
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
- <rect
- y="383.1962"
- x="425.625"
- height="23.200001"
- width="141.64481"
- id="rect3376"
- style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <text
- sodipodi:linespacing="100%"
- id="use1329"
- y="397.73215"
- x="497.24741"
- style="font-size:9.60000038px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- xml:space="preserve"><tspan
- sodipodi:role="line"
- id="tspan1382"
- x="497.24741"
- y="397.73215">list_update_tag</tspan></text>
- <path
- id="path3347"
- d="M 497.79886,384.13056 L 497.79886,323.40547"
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <text
- xml:space="preserve"
- style="font-size:9.60000038px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="61.152512"
- y="577.07874"
- id="text1423"
- sodipodi:linespacing="100%"><tspan
- sodipodi:role="line"
- id="tspan1418"
- x="61.152512"
- y="577.07874">rb_tree_tag</tspan></text>
- <text
- sodipodi:linespacing="100%"
- id="text1427"
- y="577.07874"
- x="277.95251"
- style="font-size:9.60000038px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
- xml:space="preserve"><tspan
- sodipodi:role="line"
- id="tspan1414"
- x="277.95252"
- y="577.07874">splay_tree_tag</tspan></text>
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
- d="M 61.42308,563.28102 L 61.42308,541.78102 L 277.97121,540.78102 L 277.97121,563.28102"
- id="path1431" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 170.9525,561.5357 L 170.9525,503.81235"
- id="path1433" />
- <rect
- y="562.17499"
- x="347.8916"
- height="23.200001"
- width="80.769417"
- id="rect1469"
- style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.94391561;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <text
- sodipodi:linespacing="100%"
- id="text1471"
- y="576.71094"
- x="388.80002"
- style="font-size:9.60000038px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- xml:space="preserve"><tspan
- sodipodi:role="line"
- id="tspan1412"
- x="388.80002"
- y="576.71094">pat_trie_tag</tspan></text>
- <path
- id="path1475"
- d="M 389.35146,563.10936 L 389.35146,502.38427"
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <text
- xml:space="preserve"
- style="font-size:9.60000038px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="173.95251"
- y="577.07874"
- id="text1487"
- sodipodi:linespacing="100%"><tspan
- sodipodi:role="line"
- id="tspan1416"
- x="173.95251"
- y="577.07874">ov_tree_tag</tspan></text>
- </g>
-</svg>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-
- <title>container_traits Interface</title>
- <meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
- </head>
-
-<body>
- <div id="page">
- <h1><tt>container_traits</tt> Interface</h1>
-
- <p>Traits of an associative-container based on its underlying
- data structure.</p>
-
- <p>Defined in: <a href=
- "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p>
-
- <h2><a name="link1" id="link1">Template Parameters</a></h2>
-
- <table class="c1" width="100%" border="1" summary=
- "Template Parameters">
- <tr>
- <td width="20%" align="left"><b>Parameter</b></td>
-
- <td width="50%" align="left"><b>Description</b></td>
-
- <td width="30%" align="left"><b>Default Value</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Cntnr59189" id="Cntnr59189"><b>class</b> Cntnr</a>
-</pre>
- </td>
-
- <td>
- <p>Container type.</p>
- </td>
-
- <td>-</td>
- </tr>
- </table>
-
- <h2><a name="link2" id="link2">Public Types and
- Constants</a></h2>
-
- <h3><a name="link3" id="link3">Container Attributes</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Types">
- <tr>
- <td width="30%" align="left"><b>Type</b></td>
-
- <td width="55%" align="left"><b>Definition</b></td>
-
- <td width="15%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="invalidation_guarantee3793555937" id=
-"invalidation_guarantee3793555937">invalidation_guarantee</a>
-</pre>
- </td>
-
- <td>
- <pre>
-Invalidation guarantee.
-</pre>
- </td>
-
- <td>
- <p>Invalidation-guarantee type.</p>
-
- <p>This is either <a href=
- "basic_invalidation_guarantee.html"><span class=
- "c2"><tt>basic_invalidation_guarantee</tt></span></a>,
- <a href="point_invalidation_guarantee.html"><span class=
- "c2"><tt>point_invalidation_guarantee</tt></span></a>, or
- <a href="range_invalidation_guarantee.html"><span class=
- "c2"><tt>range_invalidation_guarantee</tt></span></a></p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="order_preserving1910229172" id=
-"order_preserving1910229172">order_preserving</a>
-</pre>
- </td>
-
- <td>
- <pre>
-True only if Cntnr objects guarantee storing keys by order.
-</pre>
- </td>
-
- <td>
- <p>Order-preserving indicator.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="erase_can_throw153323856" id=
-"erase_can_throw153323856">erase_can_throw</a>
-</pre>
- </td>
-
- <td>
- <pre>
-True only if erasing a key can throw.
-</pre>
- </td>
-
- <td>
- <p>Erase-throw indicator.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="reverse_iteration894617078" id=
-"reverse_iteration894617078">reverse_iteration</a>
-</pre>
- </td>
-
- <td>
- <pre>
-True only reverse iterators are supported.
-</pre>
- </td>
-
- <td>
- <p>Reverse iteration indicator.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="split_join_can_throw3200477759" id=
-"split_join_can_throw3200477759">split_join_can_throw</a>
-</pre>
- </td>
-
- <td>
- <pre>
-True only if split or join operations can throw.
-</pre>
- </td>
-
- <td>
- <p>Split-join throw indicator.</p>
- </td>
- </tr>
- </table>
- </div>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-
- <title>Associative Containers</title>
- <meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
- </head>
-
-<body>
- <div id="page">
- <h1>Associative-Container Design</h1>
-
- <ol>
- <li><a href="ds_gen.html">Data-Structure Genericity</a></li>
-
- <li class="c1">Genericity discusses generic manipulation of
- containers based on different underlying
- data structures.</li>
-
- <li class="c1">Genericity discusses generic manipulation of
- containers with different mapping semantics.</li>
-
- <li><a href="tree_based_containers.html">Tree-Based
- Containers</a> describes the design and policies of
- tree-based containers.</li>
-
- <li><a href="trie_based_containers.html">Trie-Based
- Containers</a> describes the design and policies of
- trie-based containers.</li>
-
- <li><a href="hash_based_containers.html">Hash-Based
- Containers</a> describes the design and policies of
- hash-based containers.</li>
-
- <li><a href="lu_based_containers.html">List-Based
- Containers</a> describes the design and policies of
- list-based containers with update policies.</li>
- </ol>
- </div>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-
- <title>Examples</title>
- <meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
- </head>
-
-<body>
- <div id="page">
- <h1>Associative-Container Examples</h1>
-
- <h2><a name="basic_usage" id="basic_usage">Basic Use</a></h2>
-
- <ol>
- <li>
- <a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/basic_map.cc"><tt>basic_map.cc</tt></a>
- Basic use of "maps".</li>
-
- <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/basic_set.cc"><tt>basic_set.cc</tt></a>
- Basic use of "sets".</li>
-
- <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/erase_if.cc"><tt>erase_if.cc</tt></a>
- Conditionally erasing values from a container object.</li>
- </ol>
-
- <h2><a name="generics" id="generics">Generics</a></h2>
-
- <ol>
- <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/assoc_container_traits.cc"><tt>assoc_container_traits.cc</tt></a>
- Using <a href=
- "assoc_container_traits.html"><tt>container_traits</tt></a> to query
- about underlying data structure behavior.</li>
-
- <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_find_neg.cc"><tt>hash_find_neg.cc</tt></a>
- A non-compiling example showing wrong use of finding keys in
- hash-based containers.</li>
- </ol>
-
- <h2><a name="hash_based" id="hash_based">Hash-Based
- Containers</a></h2>
-
-
- <h3><a name="resize_related" id="resize_related">Resize
- Related</a></h3>
-
-
- <ol>
- <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_initial_size.cc"><tt>hash_initial_size.cc</tt></a>
- Setting the initial size of a hash-based container
- object.</li>
-
- <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc"><tt>hash_resize_neg.cc</tt></a>
- A non-compiling example showing how not to resize a
- hash-based container object.</li>
-
- <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_resize.cc"><tt>hash_resize.cc</tt></a>
- Resizing the size of a hash-based container object.</li>
-
- <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_illegal_resize.cc"><tt>hash_illegal_resize.cc</tt></a>
- Showing an illegal resize of a hash-based container
- object.</li>
-
- <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_load_set_change.cc"><tt>hash_load_set_change.cc</tt></a>
- Changing the load factors of a hash-based container
- object.</li>
- </ol>
-
- <h3><a name="hash_related" id="hash_related">Hash-Function
- Related</a></h3>
-
-
- <ol>
- <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_mod.cc"><tt>hash_mod.cc</tt></a>
- Using a modulo range-hashing function for the case of an
- unknown skewed key distribution.</li>
-
- <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_shift_mask.cc"><tt>shift_mask.cc</tt></a>
- Writing a range-hashing functor for the case of a known
- skewed key distribution.</li>
-
- <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/store_hash.cc"><tt>store_hash.cc</tt></a>
- Storing the hash value along with each key.</li>
-
- <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/ranged_hash.cc"><tt>ranged_hash.cc</tt></a>
- Writing a ranged-hash functor.</li>
- </ol>
-
- <h2><a name="tree_like_based" id= "tree_like_based">Tree-Like Containers (Trees and
- Tries)</a></h2>
-
-
- <h3><a name="node_invariants" id=
- "node_invariants">Node-Invariants</a></h3>
-
-
- <ol>
- <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/tree_order_statistics.cc"><tt>tree_order_statistics.cc</tt></a>
- Using trees for order statistics.</li>
-
- <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/tree_intervals.cc"><tt>tree_intervals.cc</tt></a>
- Augmenting trees to support operations on line
- intervals.</li>
- </ol>
-
- <h3><a name="split_join" id="split_join">Split and
- Join</a></h3>
-
-
- <ol>
- <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/tree_join.cc"><tt>tree_join.cc</tt></a>
- Joining two tree-based container objects.</li>
-
- <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/trie_split.cc"><tt>trie_split.cc</tt></a>
- Splitting a PATRICIA trie container object.</li>
-
- <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/tree_order_statistics_join.cc"><tt>tree_order_statistics_join.cc</tt></a>
- Order statistics while joining two tree-based container
- objects.</li>
- </ol>
-
- <h2><a name="trie_based" id="trie_based">Trie-Based
- Containers</a></h2>
-
-
- <ol>
- <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/trie_dna.cc"><tt>trie_dna.cc</tt></a>
- Using a PATRICIA trie for DNA strings.</li>
-
- <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/trie_prefix_search.cc"><tt>trie_prefix_search.cc</tt></a>
- Using a PATRICIA trie for finding all entries whose key
- matches a given prefix.</li>
- </ol>
-
- <h2><a name="mmaps" id="mmaps">"Multimaps" and
- "Multisets".</a></h2>
- <ol>
- <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/basic_multimap.cc"><tt>basic_multimap.cc</tt></a>
- Basic use of "multimaps".</li>
-
- <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/basic_multiset.cc"><tt>basic_multiset.cc</tt></a>
- Basic use of "multisets".</li>
- </ol>
- </div>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-<title>Associative-Container Performance Tests</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1><a name="assoc" id="assoc">Associative-Container
- Performance Tests</a></h1>
-<h2><a name="settings" id="settings">Settings</a></h2>
-<p>This section describes performance tests and their results.
- In the following, <a href="#gcc"><u>g++</u></a>, <a href="#msvc"><u>msvc++</u></a>, and <a href="#local"><u>local</u></a> (the build used for generating this
- documentation) stand for three different builds:</p>
-<div id="gcc_settings_div">
-<div class="c1">
-<h3><a name="gcc" id="gcc"><u>g++</u></a></h3>
-<ul>
-<li>CPU speed - cpu MHz : 2660.644</li>
-<li>Memory - MemTotal: 484412 kB</li>
-<li>Platform -
- Linux-2.6.12-9-386-i686-with-debian-testing-unstable</li>
-<li>Compiler - g++ (GCC) 4.0.2 20050808 (prerelease)
- (Ubuntu 4.0.1-4ubuntu9) Copyright (C) 2005 Free Software
- Foundation, Inc. This is free software; see the source
- for copying conditions. There is NO warranty; not even
- for MERCHANTABILITY or FITNESS FOR A PARTICULAR
- PURPOSE.</li>
-</ul>
-</div>
-<div class="c2"></div>
-</div>
-<div id="msvc_settings_div">
-<div class="c1">
-<h3><a name="msvc" id="msvc"><u>msvc++</u></a></h3>
-<ul>
-<li>CPU speed - cpu MHz : 2660.554</li>
-<li>Memory - MemTotal: 484412 kB</li>
-<li>Platform - Windows XP Pro</li>
-<li>Compiler - Microsoft (R) 32-bit C/C++ Optimizing
- Compiler Version 13.10.3077 for 80x86 Copyright (C)
- Microsoft Corporation 1984-2002. All rights
- reserved.</li>
-</ul>
-</div>
-<div class="c2"></div>
-</div>
-<div id="local_settings_div"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h3><a name = "local"><u>local</u></a></h3><ul>
-<li>CPU speed - cpu MHz : 2250.000</li>
-<li>Memory - MemTotal: 2076248 kB</li>
-<li>Platform - Linux-2.6.16-1.2133_FC5-i686-with-redhat-5-Bordeaux</li>
-<li>Compiler - g++ (GCC) 4.1.1 20060525 (Red Hat 4.1.1-1)
-Copyright (C) 2006 Free Software Foundation, Inc.
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-</li>
-</ul>
-</div><div style = "width: 100%; height: 20px"></div></div>
-<h2><a name="assoc_tests" id="assoc_tests">Tests</a></h2>
-<h3><a name="hash_based" id="hash_based">Hash-Based
- Containers</a></h3>
-<ol>
-<li><a href="hash_text_find_find_timing_test.html">Hash-Based
- Text <tt>find</tt> Find Timing Test</a></li>
-<li><a href="hash_random_int_find_find_timing_test.html">Hash-Based
- Random-Integer <tt>find</tt> Find Timing Test</a></li>
-<li><a href="hash_random_int_subscript_find_timing_test.html">Hash-Based
- Random-Integer Subscript Find Timing Test</a></li>
-<li><a href="hash_random_int_subscript_insert_timing_test.html">Hash-Based
- Random-Integer Subscript Insert Timing Test</a></li>
-<li><a href="hash_zlob_random_int_find_find_timing_test.html">Hash-Based
- Skewed-Distribution Random-Integer <tt>find</tt> Find Timing
- Test</a></li>
-<li><a href="hash_random_int_erase_mem_usage_test.html">Hash-Based Erase
- Memory Use Test</a></li>
-</ol>
-<h3><a name="tree_like_based" id="tree_like_based">Tree-Like-Based Containers</a></h3>
-<ol>
-<li><a href="tree_text_insert_timing_test.html">Tree-Based
- and Trie-Based Text Insert Timing Test</a></li>
-<li><a href="tree_text_find_find_timing_test.html">Tree-Based
- and Trie-Based Text <tt>find</tt> Find Timing Test</a></li>
-<li><a href="tree_text_lor_find_find_timing_test.html">Tree-Based
- Locality-of-Reference Text <tt>find</tt> Find Timing
- Test</a></li>
-<li><a href="tree_random_int_find_find_timing_test.html">Tree-Based
- Random-Integer <tt>find</tt> Find Timing Test</a></li>
-<li><a href="tree_split_join_timing_test.html">Tree Split and
- Join Timing Test</a></li>
-<li><a href="tree_order_statistics_timing_test.html">Tree
- Order-Statistics Timing Test</a></li>
-</ol>
-<h3><a name="multimaps" id="multimaps">Multimaps</a></h3>
-<ol>
-<li><a href="multimap_text_find_timing_test_small.html">"Multimap"
- Text Find Timing Test with <u>Small</u> Average Secondary-Key
- to Primary-Key Ratio</a></li>
-<li><a href="multimap_text_find_timing_test_large.html">"Multimap"
- Text Find Timing Test with <u>Large</u> Average Secondary-Key
- to Primary-Key Ratio</a></li>
-<li><a href="multimap_text_insert_timing_test_small.html">"Multimap"
- Text Insert Timing Test with <u>Small</u> Average
- Secondary-Key to Primary-Key Ratio</a></li>
-<li><a href="multimap_text_insert_timing_test_large.html">"Multimap"
- Text Insert Timing Test with <u>Large</u> Average
- Secondary-Key to Primary-Key Ratio</a></li>
-<li><a href="multimap_text_insert_mem_usage_test_small.html">"Multimap"
- Text Insert Memory-Use Test with <u>Small</u> Average
- Secondary-Key to Primary-Key Ratio</a></li>
-<li><a href="multimap_text_insert_mem_usage_test_large.html">"Multimap"
- Text Insert Memory-Use Test with <u>Large</u> Average
- Secondary-Key to Primary-Key Ratio</a></li>
-</ol>
-<h2><a name="assoc_observations" id="assoc_observations">Observations</a></h2>
-<h3><a name="dss_family_choice" id="dss_family_choice">Underlying Data-Structure Families</a></h3>
-<p>In general, hash-based containers (see <a href="hash_based_containers.html">Design::Associative
- Containers::Hash-Based Containers</a>) have better timing
- performance than containers based on different underlying-data
- structures. The main reason to choose a tree-based (see
- <a href="tree_based_containers.html">Design::Associative
- Containers::Tree-Based Containers</a>) or trie-based container
- (see <a href="trie_based_containers.html">Design::Associative
- Containers::Trie-Based Containers</a>) is if a byproduct of the
- tree-like structure is required: either order-preservation, or
- the ability to utilize node invariants (see <a href="tree_based_containers.html#invariants">Design::Associative
- Containers::Tree-Based Containers::Node Invariants</a> and
- <a href="trie_based_containers.html#invariants">Design::Associative
- Containers::Trie-Based Containers::Node Invariants</a>). If
- memory-use is the major factor, an ordered-vector tree (see
- <a href="tree_based_containers.html">Design::Associative
- Containers::Tree-Based Containers</a>) gives optimal results
- (albeit with high modificiation costs), and a list-based
- container (see <a href="lu_based_containers.html">Design::Associative
- Containers::List-Based Containers</a>) gives reasonable
- results.</p>
-<h3><a name="hash_based_types" id="hash_based_types">Hash-Based
- Container Types</a></h3>
-<p>Hash-based containers are typically either collision
- chaining or probing (see <a href="hash_based_containers.html">Design::Associative
- Containers::Hash-Based Containers</a>). Collision-chaining
- containers are more flexible internally, and so offer better
- timing performance. Probing containers, if used for simple
- value-types, manage memory more efficiently (they perform far
- fewer allocation-related calls). In general, therefore, a
- collision-chaining table should be used. A probing container,
- conversely, might be used efficiently for operations such as
- eliminating duplicates in a sequence, or counting the number of
- occurrences within a sequence. Probing containers might be more
- useful also in multithreaded applications where each thread
- manipulates a hash-based container: in the STL, allocators have
- class-wise semantics (see [<a href="references.html#meyers96more">meyers96more</a>] - Item 10); a
- probing container might incur less contention in this case.</p>
-<h3><a name="hash_based_policies" id="hash_based_policies">Hash-Based Containers' Policies</a></h3>
-<p>In hash-based containers, the range-hashing scheme (see
- <a href="hash_based_containers.html#hash_policies">Design::Associative
- Containers::Hash-Based Containers::Hash Policies</a>) seems to
- affect performance more than other considerations. In most
- settings, a mask-based scheme works well (or can be made to
- work well). If the key-distribution can be estimated a-priori,
- a simple hash function can produce nearly uniform hash-value
- distribution. In many other cases (<i>e.g.</i>, text hashing,
- floating-point hashing), the hash function is powerful enough
- to generate hash values with good uniformity properties
- [<a href="references.html#knuth98sorting">knuth98sorting</a>];
- a modulo-based scheme, taking into account all bits of the hash
- value, appears to overlap the hash function in its effort.</p>
-<p>The range-hashing scheme determines many of the other
- policies (see <a href="hash_based_containers.html#policy_interaction">Design::Hash-Based
- Containers::Policy Interaction</a>). A mask-based scheme works
- well with an exponential-size policy (see <a href="hash_based_containers.html#resize_policies">Design::Associative
- Containers::Hash-Based Containers::Resize Policies</a>) ; for
- probing-based containers, it goes well with a linear-probe
- function (see <a href="hash_based_containers.html#hash_policies">Design::Associative
- Containers::Hash-Based Containers::Hash Policies</a>).</p>
-<p>An orthogonal consideration is the trigger policy (see
- <a href="hash_based_containers.html#resize_policies">Design::Associative
- Containers::Hash-Based Containers::Resize Policies</a>). This
- presents difficult tradeoffs. <i>E.g.</i>, different load
- factors in a load-check trigger policy yield a
- space/amortized-cost tradeoff.</p>
-<h3><a name="tree_like_based_types" id="tree_like_based_types">Tree-Like-Based Container
- Types</a></h3>
-<p>In general, there are several families of tree-based
- underlying data structures: balanced node-based trees
- (<i>e.g.</i>, red-black or AVL trees), high-probability
- balanced node-based trees (<i>e.g.</i>, random treaps or
- skip-lists), competitive node-based trees (<i>e.g.</i>, splay
- trees), vector-based "trees", and tries. (Additionally, there
- are disk-residing or network-residing trees, such as B-Trees
- and their numerous variants. An interface for this would have
- to deal with the execution model and ACID guarantees; this is
- out of the scope of this library.) Following are some
- observations on their application to different settings.</p>
-<p>Of the balanced node-based trees, this library includes a
- red-black tree (see <a href="tree_based_containers.html">Design::Associative
- Containers::Tree-Based Containers</a>), as does STL (in
- practice). This type of tree is the "workhorse" of tree-based
- containers: it offers both reasonable modification and
- reasonable lookup time. Unfortunately, this data structure
- stores a huge amount of metadata. Each node must contain,
- besides a value, three pointers and a boolean. This type might
- be avoided if space is at a premium [<a href="references.html#austern00noset">austern00noset</a>].</p>
-<p>High-probability balanced node-based trees suffer the
- drawbacks of deterministic balanced trees. Although they are
- fascinating data structures, preliminary tests with them showed
- their performance was worse than red-black trees. The library
- does not contain any such trees, therefore.</p>
-<p>Competitive node-based trees have two drawbacks. They are
- usually somewhat unbalanced, and they perform a large number of
- comparisons. Balanced trees perform one comparison per each
- node they encounter on a search path; a splay tree performs two
- comparisons. If the keys are complex objects, <i>e.g.</i>,
- <tt>std::string</tt>, this can increase the running time.
- Conversely, such trees do well when there is much locality of
- reference. It is difficult to determine in which case to prefer
- such trees over balanced trees. This library includes a splay
- tree (see <a href="tree_based_containers.html">Design::Associative
- Containers::Tree-Based Containers</a>).</p>
-<p>Ordered-vector trees (see <a href="tree_based_containers.html">Design::Associative
- Containers::Tree-Based Containers</a>) use very little space
- [<a href="references.html#austern00noset">austern00noset</a>].
- They do not have any other advantages (at least in this
- implementation).</p>
-<p>Large-fan-out PATRICIA tries (see <a href="trie_based_containers.html">Design::Associative
- Containers::Trie-Based Containers</a>) have excellent lookup
- performance, but they do so through maintaining, for each node,
- a miniature "hash-table". Their space efficiency is low, and
- their modification performance is bad. These tries might be
- used for semi-static settings, where order preservation is
- important. Alternatively, red-black trees cross-referenced with
- hash tables can be used. [<a href="references.html#okasaki98mereable">okasaki98mereable</a>]
- discusses small-fan-out PATRICIA tries for integers, but the
- cited results seem to indicate that the amortized cost of
- maintaining such trees is higher than that of balanced trees.
- Moderate-fan-out trees might be useful for sequences where each
- element has a limited number of choices, <i>e.g.</i>, DNA
- strings (see <a href="assoc_examples.html#trie_based">Examples::Associative
- Containers::Trie-Based Containers</a>).</p>
-<h3><a name="msc" id="msc">Mapping-Semantics
- Considerations</a></h3>
-<p>Different mapping semantics were discussed in <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative
- Containers::Alternative to Multiple Equivalent Keys</a> and
- <a href="tutorial.html#assoc_ms">Tutorial::Associative
- Containers::Associative Containers Others than Maps</a>. We
- will focus here on the case where a keys can be composed into
- primary keys and secondary keys. (In the case where some keys
- are completely identical, it is trivial that one should use an
- associative container mapping values to size types.) In this
- case there are (at least) five possibilities:</p>
-<ol>
-<li>Use an associative container that allows equivalent-key
- values (such as <tt>std::multimap</tt>)</li>
-<li>Use a unique-key value associative container that maps
- each primary key to some complex associative container of
- secondary keys, say a tree-based or hash-based container (see
- <a href="tree_based_containers.html">Design::Associative
- Containers::Tree-Based Containers</a> and <a href="hash_based_containers.html">Design::Associative
- Containers::Hash-Based Containers</a>)</li>
-<li>Use a unique-key value associative container that maps
- each primary key to some simple associative container of
- secondary keys, say a list-based container (see <a href="lu_based_containers.html">Design::Associative
- Containers::List-Based Containers</a>)</li>
-<li>Use a unique-key value associative container that maps
- each primary key to some non-associative container
- (<i>e.g.</i>, <tt>std::vector</tt>)</li>
-<li>Use a unique-key value associative container that takes
- into account both primary and secondary keys.</li>
-</ol>
-<p>We do not think there is a simple answer for this (excluding
- option 1, which we think should be avoided in all cases).</p>
-<p>If the expected ratio of secondary keys to primary keys is
- small, then 3 and 4 seem reasonable. Both types of secondary
- containers are relatively lightweight (in terms of memory use
- and construction time), and so creating an entire container
- object for each primary key is not too expensive. Option 4
- might be preferable to option 3 if changing the secondary key
- of some primary key is frequent - one cannot modify an
- associative container's key, and the only possibility,
- therefore, is erasing the secondary key and inserting another
- one instead; a non-associative container, conversely, can
- support in-place modification. The actual cost of erasing a
- secondary key and inserting another one depends also on the
- allocator used for secondary associative-containers (The tests
- above used the standard allocator, but in practice one might
- choose to use, <i>e.g.</i>, [<a href="references.html#boost_pool">boost_pool</a>]). Option 2 is
- definitely an overkill in this case. Option 1 loses out either
- immediately (when there is one secondary key per primary key)
- or almost immediately after that. Option 5 has the same
- drawbacks as option 2, but it has the additional drawback that
- finding all values whose primary key is equivalent to some key,
- might be linear in the total number of values stored (for
- example, if using a hash-based container).</p>
-<p>If the expected ratio of secondary keys to primary keys is
- large, then the answer is more complicated. It depends on the
- distribution of secondary keys to primary keys, the
- distribution of accesses according to primary keys, and the
- types of operations most frequent.</p>
-<p>To be more precise, assume there are <i>m</i> primary keys,
- primary key <i>i</i> is mapped to <i>n<sub>i</sub></i>
- secondary keys, and each primary key is mapped, on average, to
- <i>n</i> secondary keys (<i>i.e.</i>,
- <i><b>E</b>(n<sub>i</sub>) = n</i>).</p>
-<p>Suppose one wants to find a specific pair of primary and
- secondary keys. Using 1 with a tree based container
- (<tt>std::multimap</tt>), the expected cost is
- <i><b>E</b>(Θ(log(m) + n<sub>i</sub>)) = Θ(log(m) +
- n)</i>; using 1 with a hash-based container
- (<tt>std::tr1::unordered_multimap</tt>), the expected cost is
- <i>Θ(n)</i>. Using 2 with a primary hash-based container
- and secondary hash-based containers, the expected cost is
- <i>O(1)</i>; using 2 with a primary tree-based container and
- secondary tree-based containers, the expected cost is (using
- the Jensen inequality [<a href="references.html#motwani95random">motwani95random</a>])
- <i><b>E</b>(O(log(m) + log(n<sub>i</sub>)) = O(log(m)) +
- <b>E</b>(O(log(n<sub>i</sub>)) = O(log(m)) + O(log(n))</i>,
- assuming that primary keys are accessed equiprobably. 3 and 4
- are similar to 1, but with lower constants. Using 5 with a
- hash-based container, the expected cost is <i>O(1)</i>; using 5
- with a tree based container, the cost is
- <i><b>E</b>(Θ(log(mn))) = Θ(log(m) +
- log(n))</i>.</p>
-<p>Suppose one needs the values whose primary key matches some
- given key. Using 1 with a hash-based container, the expected
- cost is <i>Θ(n)</i>, but the values will not be ordered
- by secondary keys (which may or may not be required); using 1
- with a tree-based container, the expected cost is
- <i>Θ(log(m) + n)</i>, but with high constants; again the
- values will not be ordered by secondary keys. 2, 3, and 4 are
- similar to 1, but typically with lower constants (and,
- additionally, if one uses a tree-based container for secondary
- keys, they will be ordered). Using 5 with a hash-based
- container, the cost is <i>Θ(mn)</i>.</p>
-<p>Suppose one wants to assign to a primary key all secondary
- keys assigned to a different primary key. Using 1 with a
- hash-based container, the expected cost is <i>Θ(n)</i>,
- but with very high constants; using 1 with a tree-based
- container, the cost is <i>Θ(nlog(mn))</i>. Using 2, 3,
- and 4, the expected cost is <i>Θ(n)</i>, but typically
- with far lower costs than 1. 5 is similar to 1.</p>
-</div>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-
- <title>Associative-Container Regression Tests</title>
- <meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
-<base href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/regression/">
- </head>
-
-<body>
- <div id="page">
- <h1>Associative-Container Regression Tests</h1>
-
- <h2><a name="assoc_desc" id="assoc_desc">Description</a></h2>
-
- <p>The library contains a single comprehensive regression test.
- For a given container type in <tt>pb_ds</tt>, the test creates
- an object of the container type and an object of the
- corresponding STL type (<i>e.g.</i>, <tt>std::set</tt>). It
- then performs a random sequence of methods with random
- arguments (<i>e.g.</i>, inserts, erases, and so forth) on both
- objects. At each operation, the test checks the return value of
- the method, and optionally both compares <tt>pb_ds</tt>'s
- object with the STL's object as well as performing other
- consistency checks on <tt>pb_ds</tt>'s object (<i>e.g.</i>,
- order preservation, when applicable, or node invariants, when
- applicable).</p>
-
- <p>Additionally, the test integrally checks exception safety
- and resource leaks. This is done as follows. A special
- allocator type, written for the purpose of the test, both
- randomly throws an exceptions when allocations are performed,
- and tracks allocations and de-allocations. The exceptions thrown
- at allocations simulate memory-allocation failures; the
- tracking mechanism checks for memory-related bugs (<i>e.g.</i>,
- resource leaks and multiple de-allocations). Both
- <tt>pb_ds</tt>'s containers and the containers' value-types are
- configured to use this allocator.</p>
-
- <p>Due to compiler constraints, the test is split into the
- several sources, each checking only some containers.</p>
-
- <h2><a name="assoc_tests" id="assoc_tests">Tests</a></h2>
-
- <h3><a name="assoc_tests_set" id="assoc_tests_set">"Set"
- Tests</a></h3>
-
- <p>The following check all "set" types:</p>
-
- <ol>
- <li><a href=
- "hash_no_data_map_rand.cc"><tt>hash_no_data_map_rand.cc</tt></a>
- checks all hash-based "set" types.</li>
-
- <li><a href=
- "list_update_no_data_map_rand.cc"><tt>list_update_no_data_map_rand.cc</tt></a>
- checks all list-based "set" types.</li>
-
- <li><a href=
- "tree_no_data_map_rand.cc"><tt>tree_no_data_map_rand.cc</tt></a>
- checks all tree-based "set" types.</li>
-
- <li><a href=
- "trie_no_data_map_rand.cc"><tt>trie_no_data_map_rand.cc</tt></a>
- checks all PATRICIA-trie-based "set" types.</li>
- </ol>
-
- <h3><a name="assoc_tests_map" id="assoc_tests_map">"Map"
- Tests</a></h3>
-
- <p>The following check all "map" types:</p>
-
- <ol>
- <li><a href= "hash_data_map_rand.cc"><tt>hash_data_map_rand.cc</tt></a>
- checks all hash-based "map" types.</li>
-
- <li><a href= "list_update_data_map_rand.cc"><tt>list_update_data_map_rand.cc</tt></a>
- checks all list-based "map" types.</li>
-
- <li><a href= "tree_data_map_rand.cc"><tt>tree_data_map_rand.cc</tt></a>
- checks all tree-based "map" types.</li>
-
- <li><a href= "trie_data_map_rand.cc"><tt>trie_data_map_rand.cc</tt></a>
- checks all PATRICIA-trie-based "map" types.</li>
- </ol>
- </div>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-
- <title>Associative-Container Tests</title>
- <meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
- </head>
-
-<body>
- <div id="page">
- <h1>Associative-Container Tests</h1>
-
- <p><a href="assoc_regression_tests.html">Associative-Container
- Regression Tests</a> describes the regression tests; <a href=
- "assoc_performance_tests.html">Associative-Container
- Performance Tests</a> describes the performance tests.</p>
- </div>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-
- <title>associative_container_tag Interface</title>
- <meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
- </head>
-
-<body>
- <div id="page">
- <h1><tt>associative_container_tag</tt> Interface</h1>
-
- <p>Basic associative-container data structure tag.</p>
-
- <p>Defined in: <a href=
- "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p>
-
- <h2><a name="link1" id="link1">Base Classes</a></h2>
-
- <table class="c1" width="100%" border="1" summary="Bases">
- <tr>
- <td width="80%" align="left"><b>Class</b></td>
-
- <td width="20%" align="left"><b>Derivation Type</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="container_tag.html"><span class=
-"c2"><tt>container_tag</tt></span></a>
-</pre>
- </td>
-
- <td>
- <p>public</p>
- </td>
- </tr>
- </table>
- </div>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-
- <title>basic_hash_table Interface</title>
- <meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
- </head>
-
-<body>
- <div id="page">
- <h1><tt>basic_hash_table</tt> Interface</h1>
-
- <p>An abstract basic hash-based associative container.</p>
-
- <p>Defined in: <a href=
- "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/assoc_container.hpp"><tt>assoc_container.hpp</tt></a></p>
-
- <h2><a name="link1" id="link1">Template Parameters</a></h2>
-
- <table class="c1" width="100%" border="1" summary=
- "Template Parameters">
- <tr>
- <td width="20%" align="left"><b>Parameter</b></td>
-
- <td width="50%" align="left"><b>Description</b></td>
-
- <td width="30%" align="left"><b>Default Value</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Key2501" id="Key2501"><b>typename</b> Key</a>
-</pre>
- </td>
-
- <td>
- <p>Key type.</p>
- </td>
-
- <td>-</td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Mapped318655" id="Mapped318655"><b>typename</b> Mapped</a>
-</pre>
- </td>
-
- <td>
- <p>Mapped type.</p>
- </td>
-
- <td>-</td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Hash_Fn1515835" id=
-"Hash_Fn1515835"><b>class</b> Hash_Fn</a>
-</pre>
- </td>
-
- <td>
- <p>Hash functor.</p>
- </td>
-
- <td>-</td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Eq_Fn60085" id="Eq_Fn60085"><b>class</b> Eq_Fn</a>
-</pre>
- </td>
-
- <td>
- <p>Equivalence functor.</p>
- </td>
-
- <td>-</td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Resize_Policy566860465" id=
-"Resize_Policy566860465"><b>class</b> Resize_Policy</a>
-</pre>
- </td>
-
- <td>
- <p>Resize policy.</p>
- </td>
-
- <td>-</td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Store_Hash218262104" id=
-"Store_Hash218262104"><b>bool</b> Store_Hash</a>
-</pre>
- </td>
-
- <td>
- <p>Indicates whether the hash value will be stored along
- with each key.</p>
- </td>
-
- <td>-</td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Tag278938" id="Tag278938"><b>class</b> Tag</a>
-</pre>
- </td>
-
- <td>
- <p>Mapped-structure tag.</p>
- </td>
-
- <td>-</td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Allocator35940069" id=
-"Allocator35940069"><b>class</b> Allocator</a>
-</pre>
- </td>
-
- <td>
- <p>Allocator type.</p>
- </td>
-
- <td>-</td>
- </tr>
- </table>
-
- <h2><a name="link2" id="link2">Base Classes</a></h2>
-
- <table class="c1" width="100%" border="1" summary="Bases">
- <tr>
- <td width="80%" align="left"><b>Class</b></td>
-
- <td width="20%" align="left"><b>Derivation Type</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="#Resize_Policy566860465"><tt>Resize_Policy</tt></a>
-</pre>
- </td>
-
- <td>
- <p>public</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="container_base.html"><span class=
-"c2"><tt>container_base</tt></span></a>
-</pre>
- </td>
-
- <td>
- <p>public</p>
- </td>
- </tr>
- </table>
-
- <h2><a name="link3" id="link3">Public Types and
- Constants</a></h2>
-
- <h3><a name="link4" id="link4">Policy Definitions</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Types">
- <tr>
- <td width="30%" align="left"><b>Type</b></td>
-
- <td width="55%" align="left"><b>Definition</b></td>
-
- <td width="15%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="hash_fn2015995" id="hash_fn2015995">hash_fn</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<a href="#Hash_Fn1515835"><tt>Hash_Fn</tt></a>
-</pre>
- </td>
-
- <td>
- <p>Hash functor type.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="eq_fn80245" id="eq_fn80245">eq_fn</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<a href="#Eq_Fn60085"><tt>Eq_Fn</tt></a>
-</pre>
- </td>
-
- <td>
- <p>Equivalence functor type.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="resize_policy4084493169" id=
-"resize_policy4084493169">resize_policy</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<a href="#Resize_Policy566860465"><tt>Resize_Policy</tt></a>
-</pre>
- </td>
-
- <td>
- <p>Resize policy type.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="store_hash280766104" id=
-"store_hash280766104">store_hash</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<a href="#Store_Hash218262104"><tt>Store_Hash</tt></a>
-</pre>
- </td>
-
- <td>
- <p>Indicates whether a hash value is stored with each
- entry.</p>
- </td>
- </tr>
- </table>
-
- <h2><a name="link5" id="link5">Public Methods</a></h2>
-
- <h3><a name="link6" id="link6">Constructors, Destructor, and
- Related</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>virtual</b>
- ~basic_hash_table
- ()
-</pre>
- </td>
-
- <td>
- <p>Destructor.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link7" id="link7">Policy Access Methods</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="#hash_fn2015995"><tt>hash_fn</tt></a> &
- get_hash_fn
- ()
-</pre>
- </td>
-
- <td>
- <p>Access to the <a href=
- "#hash_fn2015995"><tt>hash_fn</tt></a> object.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>const</b> <a href="#hash_fn2015995"><tt>hash_fn</tt></a> &
- get_hash_fn
- () <b>const</b>
-</pre>
- </td>
-
- <td>
- <p>Const access to the <a href=
- "#hash_fn2015995"><tt>hash_fn</tt></a> object.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="#eq_fn80245"><tt>eq_fn</tt></a> &
- get_eq_fn
- ()
-</pre>
- </td>
-
- <td>
- <p>Access to the <a href="#eq_fn80245"><tt>eq_fn</tt></a>
- object.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>const</b> <a href="#eq_fn80245"><tt>eq_fn</tt></a> &
- get_eq_fn
- () <b>const</b>
-</pre>
- </td>
-
- <td>
- <p>Const access to the <a href=
- "#eq_fn80245"><tt>eq_fn</tt></a> object.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="#resize_policy4084493169"><tt>resize_policy</tt></a> &
- get_resize_policy
- ()
-</pre>
- </td>
-
- <td>
- <p>Access to the <a href=
- "#resize_policy4084493169"><tt>resize_policy</tt></a>
- object.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>const</b> <a href=
-"#resize_policy4084493169"><tt>resize_policy</tt></a> &
- get_resize_policy
- () <b>const</b>
-</pre>
- </td>
-
- <td>
- <p>Const access to the <a href=
- "#resize_policy4084493169"><tt>resize_policy</tt></a>
- object.</p>
- </td>
- </tr>
- </table>
-
- <h2><a name="link8" id="link8">Private Methods</a></h2>
-
- <h3><a name="link9" id="link9">Resize Methods</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>virtual</b> <b>void</b>
- do_resize
- (size_type new_size)
-</pre>
- </td>
-
- <td>
- <p>Resizes the container object to <span class=
- "c1"><tt>new_size</tt></span>.</p>
- </td>
- </tr>
- </table>
- </div>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-
- <title>basic_hash_tag Interface</title>
- <meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
- </head>
-
-<body>
- <div id="page">
- <h1><tt>basic_hash_tag</tt> Interface</h1>
-
- <p>Basic hash data structure tag.</p>
-
- <p>Defined in: <a href=
- "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p>
-
- <h2><a name="link1" id="link1">Base Classes</a></h2>
-
- <table class="c1" width="100%" border="1" summary="Bases">
- <tr>
- <td width="80%" align="left"><b>Class</b></td>
-
- <td width="20%" align="left"><b>Derivation Type</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="associative_container_tag.html"><span class=
-"c2"><tt>associative_container_tag</tt></span></a>
-</pre>
- </td>
-
- <td>
- <p>public</p>
- </td>
- </tr>
- </table>
- </div>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-
- <title>basic_invalidation_guarantee Interface</title>
- <meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
- </head>
-
-<body>
- <div id="page">
- <h1><tt>basic_invalidation_guarantee</tt> Interface</h1>
-
- <p>Signifies a basic invalidation guarantee that any iterator,
- pointer, or reference to a container object's mapped value type
- is valid as long as the container is not modified.</p>
-
- <p>Defined in: <a href=
- "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p>
- </div>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-
- <title>basic_tree Interface</title>
- <meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
- </head>
-
-<body>
- <div id="page">
- <h1><tt>basic_tree</tt> Interface</h1>
-
- <p>An abstract basic tree-like-based associative container.</p>
-
- <p>Defined in: <a href=
- "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/assoc_container.hpp"><tt>assoc_container.hpp</tt></a></p>
-
- <h2><a name="link1" id="link1">Template Parameters</a></h2>
-
- <table class="c1" width="100%" border="1" summary=
- "Template Parameters">
- <tr>
- <td width="20%" align="left"><b>Parameter</b></td>
-
- <td width="50%" align="left"><b>Description</b></td>
-
- <td width="30%" align="left"><b>Default Value</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Key2501" id="Key2501"><b>typename</b> Key</a>
-</pre>
- </td>
-
- <td>
- <p>Key type.</p>
- </td>
-
- <td>-</td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Mapped318655" id="Mapped318655"><b>typename</b> Mapped</a>
-</pre>
- </td>
-
- <td>
- <p>Mapped type.</p>
- </td>
-
- <td>-</td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Tag278938" id="Tag278938"><b>class</b> Tag</a>
-</pre>
- </td>
-
- <td>
- <p>Mapped-structure tag.</p>
- </td>
-
- <td>-</td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Node_Update841554648" id=
-"Node_Update841554648"><b>class</b> Node_Update</a>
-</pre>
- </td>
-
- <td>
- <p>Node updater.</p>
-
- <p>Restores node-invariants when invalidated.</p>
- </td>
-
- <td>-</td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Policy_Tl42017403" id=
-"Policy_Tl42017403"><b>class</b> Policy_Tl</a>
-</pre>
- </td>
-
- <td>
- <p>Policy typelist.</p>
-
- <p>Contains subclasses' policies.</p>
- </td>
-
- <td>-</td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Allocator35940069" id=
-"Allocator35940069"><b>class</b> Allocator</a>
-</pre>
- </td>
-
- <td>
- <p>Allocator type.</p>
- </td>
-
- <td>-</td>
- </tr>
- </table>
-
- <h2><a name="link2" id="link2">Base Classes</a></h2>
-
- <table class="c1" width="100%" border="1" summary="Bases">
- <tr>
- <td width="80%" align="left"><b>Class</b></td>
-
- <td width="20%" align="left"><b>Derivation Type</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="#Node_Update841554648"><tt>Node_Update</tt></a>
-</pre>
- </td>
-
- <td>
- <p>public</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="container_base.html"><span class=
-"c2"><tt>container_base</tt></span></a>
-</pre>
- </td>
-
- <td>
- <p>public</p>
- </td>
- </tr>
- </table>
-
- <h2><a name="link3" id="link3">Public Types and
- Constants</a></h2>
-
- <h3><a name="link4" id="link4">Key-Type Definitions</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Types">
- <tr>
- <td width="30%" align="left"><b>Type</b></td>
-
- <td width="55%" align="left"><b>Definition</b></td>
-
- <td width="15%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="const_key_reference3185471705" id=
-"const_key_reference3185471705">const_key_reference</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<b>typename</b> <a href="container_base.html"><span class=
-"c2"><tt>container_base</tt></span></a>::const_key_reference
-</pre>
- </td>
-
- <td>
- <p>Const key reference type.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link5" id="link5">Policy Definitions</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Types">
- <tr>
- <td width="30%" align="left"><b>Type</b></td>
-
- <td width="55%" align="left"><b>Definition</b></td>
-
- <td width="15%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="node_update2404554648" id=
-"node_update2404554648">node_update</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<a href="#Node_Update841554648"><tt>Node_Update</tt></a>
-</pre>
- </td>
-
- <td>
- <p>Node updater type.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link6" id="link6">Iterator Definitions</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Types">
- <tr>
- <td width="30%" align="left"><b>Type</b></td>
-
- <td width="55%" align="left"><b>Definition</b></td>
-
- <td width="15%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="const_iterator98626788" id=
-"const_iterator98626788">const_iterator</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<b>typename</b> <a href="container_base.html"><span class=
-"c2"><tt>container_base</tt></span></a>::const_iterator
-</pre>
- </td>
-
- <td>
- <p>Const range-type iterator.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="iterator10418194" id="iterator10418194">iterator</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<b>typename</b> <a href="container_base.html"><span class=
-"c2"><tt>container_base</tt></span></a>::iterator
-</pre>
- </td>
-
- <td>
- <p>Range-type iterator.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="const_reverse_iterator4151293083" id=
-"const_reverse_iterator4151293083">const_reverse_iterator</a>
-</pre>
- </td>
-
- <td>
- <pre>
-Const reverse range-type iterator.
-</pre>
- </td>
-
- <td>
- <p>Const reverse range-type <a href=
- "#iterator10418194"><tt>iterator</tt></a>.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="reverse_iterator1896910345" id=
-"reverse_iterator1896910345">reverse_iterator</a>
-</pre>
- </td>
-
- <td>
- <pre>
-Reverse range-type iterator.<br />
-If <a href="#Mapped318655"><tt>Mapped</tt></a> is <a href=
-"null_mapped_type.html"><span class=
-"c2"><tt>null_mapped_type</tt></span></a>, then this is synonymous to <a href="#const_reverse_iterator4151293083"><tt>const_reverse_iterator</tt></a>
-</pre>
- </td>
-
- <td>
- <p>Reverse range-type <a href=
- "#iterator10418194"><tt>iterator</tt></a>.</p>
- </td>
- </tr>
- </table>
-
- <h2><a name="link7" id="link7">Public Methods</a></h2>
-
- <h3><a name="link8" id="link8">Constructors, Destructor, and
- Related</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>virtual</b>
- ~basic_tree
- ()
-</pre>
- </td>
-
- <td>
- <p>Destructor.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link9" id="link9">Policy Access Methods</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="#node_update2404554648"><tt>node_update</tt></a> &
- get_node_update
- ()
-</pre>
- </td>
-
- <td>
- <p>Access to the <a href=
- "#node_update2404554648"><tt>node_update</tt></a>
- object.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>const</b> <a href=
-"#node_update2404554648"><tt>node_update</tt></a> &
- get_node_update
- () <b>const</b>
-</pre>
- </td>
-
- <td>
- <p>Const access to the <a href=
- "#node_update2404554648"><tt>node_update</tt></a>
- object.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link10" id="link10">Find Methods</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="#iterator10418194"><tt>iterator</tt></a>
- lower_bound
- (<a href=
-"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key)
-</pre>
- </td>
-
- <td>
- <p>Returns an <a href=
- "#iterator10418194"><tt>iterator</tt></a> corresponding
- to the entry whose key is the smallest one at least as
- large as <span class="c1"><tt>r_key</tt></span>.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="#const_iterator98626788"><tt>const_iterator</tt></a>
- lower_bound
- (<a href=
-"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) <b>const</b>
-</pre>
- </td>
-
- <td>
- <p>Returns a <tt><b>const</b></tt> <a href=
- "#iterator10418194"><tt>iterator</tt></a> corresponding
- to the entry whose key is the smallest one at least as
- large as <span class="c1"><tt>r_key</tt></span>.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="#iterator10418194"><tt>iterator</tt></a>
- upper_bound
- (<a href=
-"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key)
-</pre>
- </td>
-
- <td>
- <p>Returns an <a href=
- "#iterator10418194"><tt>iterator</tt></a> corresponding
- to the entry whose key is the smallest one larger than
- <span class="c1"><tt>r_key</tt></span>.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="#const_iterator98626788"><tt>const_iterator</tt></a>
- upper_bound
- (<a href=
-"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) <b>const</b>
-</pre>
- </td>
-
- <td>
- <p>Returns a <a href=
- "#const_iterator98626788"><tt>const_iterator</tt></a>
- corresponding to the entry whose key is the smallest one
- larger than <span class="c1"><tt>r_key</tt></span>.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link11" id="link11">Erase Methods</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="#iterator10418194"><tt>iterator</tt></a>
- erase
- (<a href="#iterator10418194"><tt>iterator</tt></a> it)
-</pre>
- </td>
-
- <td>
- <p>Erases the value_type corresponding to the <a href=
- "#iterator10418194"><tt>iterator</tt></a> <span class=
- "c1"><tt>it</tt></span>. Returns the <a href=
- "#iterator10418194"><tt>iterator</tt></a> corresponding
- to the next value_type.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="#reverse_iterator1896910345"><tt>reverse_iterator</tt></a>
- erase
- (<a href=
-"#reverse_iterator1896910345"><tt>reverse_iterator</tt></a> it)
-</pre>
- </td>
-
- <td>
- <p>Erases the value_type corresponding to the <a href=
- "#reverse_iterator1896910345"><tt>reverse_iterator</tt></a>
- <span class="c1"><tt>it</tt></span>. Returns the <a href=
- "#reverse_iterator1896910345"><tt>reverse_iterator</tt></a>
- corresponding to the previous value_type.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link12" id="link12">Iteration Methods</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="#reverse_iterator1896910345"><tt>reverse_iterator</tt></a>
- rbegin
- ()
-</pre>
- </td>
-
- <td>
- <p>Returns a <a href=
- "#reverse_iterator1896910345"><tt>reverse_iterator</tt></a>
- corresponding to the last value_type in the
- container.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href=
-"#const_reverse_iterator4151293083"><tt>const_reverse_iterator</tt></a>
- rbegin
- () <b>const</b>
-</pre>
- </td>
-
- <td>
- <p>Returns a <a href=
- "#const_reverse_iterator4151293083"><tt>const_reverse_iterator</tt></a>
- corresponding to the last value_type in the
- container.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="#reverse_iterator1896910345"><tt>reverse_iterator</tt></a>
- rend
- ()
-</pre>
- </td>
-
- <td>
- <p>Returns a <a href=
- "#reverse_iterator1896910345"><tt>reverse_iterator</tt></a>
- corresponding to the just-before-first value_type in the
- container.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href=
-"#const_reverse_iterator4151293083"><tt>const_reverse_iterator</tt></a>
- rend
- () <b>const</b>
-</pre>
- </td>
-
- <td>
- <p>Returns a <a href=
- "#const_reverse_iterator4151293083"><tt>const_reverse_iterator</tt></a>
- corresponding to the just-before-first value_type in the
- container.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link13" id="link13">Split and join
- Methods</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>void</b>
- join
- (<span class=
-"c2"><tt>basic_tree</tt></span> &other)
-</pre>
- </td>
-
- <td>
- <p>Joins two trees. When this function returns,
- <span class="c1"><tt>other</tt></span> will be
- empty.</p>
-
- <p>When calling this method, <span class=
- "c1"><tt>other</tt></span>'s keys must be all larger or
- all smaller than this object's keys, and <span class=
- "c1"><tt>other</tt></span>'s policies must be
- equivalent to this object's policies.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>void</b>
- split
- (<a href=
-"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key,
- <span class=
-"c2"><tt>basic_tree</tt></span> &other)
-</pre>
- </td>
-
- <td>
- <p>Splits into two trees. When this function returns,
- <span class="c1"><tt>other</tt></span> will contain
- only keys larger than <span class=
- "c1"><tt>r_key</tt></span>.</p>
-
- <p>When calling this method, <span class=
- "c1"><tt>other</tt></span>'s policies must be
- equivalent to this object's policies.</p>
- </td>
- </tr>
- </table>
- </div>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-
- <title>tree::const_node_iterator
- Interface</title>
- <meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
- </head>
-
-<body>
- <div id="page">
- <h1><tt><span class=
- "c2"><tt>tree</tt></span>::const_node_iterator</tt>
- Interface</h1>
-
- <p>Const node iterator.</p>
-
- <p>This is an &qout;iterator to an iterator&qout; - it
- iterates over nodes, and de-referencing it returns one of the
- tree's iterators</p>
-
- <h2><a name="link1" id="link1">Public Types and
- Constants</a></h2>
-
- <h3><a name="link2" id="link2">Iterator Definitions</a></h3>
-
- <table class="c2" width="100%" border="1" summary="Types">
- <tr>
- <td width="30%" align="left"><b>Type</b></td>
-
- <td width="55%" align="left"><b>Definition</b></td>
-
- <td width="15%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="iterator_category2821876439" id=
-"iterator_category2821876439">iterator_category</a>
-</pre>
- </td>
-
- <td>
- <pre>
-trivial_iterator_tag
-</pre>
- </td>
-
- <td>
- <p>Category.</p>
-
- <p>This tag identifies that the iterator has none of the
- STL's iterators' movement abilities.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="difference_type868028452" id=
-"difference_type868028452">difference_type</a>
-</pre>
- </td>
-
- <td>
- <pre class="c1">
-void
-</pre>
- </td>
-
- <td>
- <p>Difference type.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link3" id="link3">Value-Type Definitions</a></h3>
-
- <p>Note that a node iterator's value type is actually a tree
- iterator.</p>
-
- <table class="c2" width="100%" border="1" summary="Types">
- <tr>
- <td width="30%" align="left"><b>Type</b></td>
-
- <td width="55%" align="left"><b>Definition</b></td>
-
- <td width="15%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="value_type279018186" id=
-"value_type279018186">value_type</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<a href=
-"container_base.html#const_iterator98626788"><span class="c2"><tt>container_base</tt></span>::const_iterator</a>
-</pre>
- </td>
-
- <td>
- <p>Iterator's value type.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="reference54418471" id="reference54418471">reference</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<a href=
-"container_base.html#const_iterator98626788"><span class="c2"><tt>container_base</tt></span>::const_iterator</a>
-</pre>
- </td>
-
- <td>
- <p>Iterator's reference type.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="const_reference495461441" id=
-"const_reference495461441">const_reference</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<a href=
-"container_base.html#const_iterator98626788"><span class="c2"><tt>container_base</tt></span>::const_iterator</a>
-</pre>
- </td>
-
- <td>
- <p>Iterator's const <a href=
- "#reference54418471"><tt>reference</tt></a> type.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link4" id="link4">Metadata Definitions</a></h3>
-
- <p>These are only defined if <a href=
- "basic_tree.html#Node_Update841554648"><span class="c2">
- <tt>basic_tree</tt></span>::Node_Update</a>
- is not <a href="null_tree_node_update.html"><span class=
- "c2"><tt>null_tree_node_update</tt></span></a></p>
-
- <table class="c2" width="100%" border="1" summary="Types">
- <tr>
- <td width="30%" align="left"><b>Type</b></td>
-
- <td width="55%" align="left"><b>Definition</b></td>
-
- <td width="15%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="metadata_type2849297114" id=
-"metadata_type2849297114">metadata_type</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<tt><b>typename</b></tt> <a href=
-"basic_tree.html#Node_Update841554648"><span class="c2"><tt>basic_tree</tt></span>::Node_Update</a><tt>::metadata_type</tt>
-</pre>
- </td>
-
- <td>
- <p>Metadata type.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="const_metadata_reference1108857465" id=
-"const_metadata_reference1108857465">const_metadata_reference</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<b>typename</b> Allocator::<b>template</b> rebind<
- <a href=
-"#metadata_type2849297114"><tt>metadata_type</tt></a>>::other::<a href="#const_reference495461441"><tt>const_reference</tt></a>
-</pre>
- </td>
-
- <td>
- <p>Const metadata <a href=
- "#reference54418471"><tt>reference</tt></a> type.</p>
- </td>
- </tr>
- </table>
-
- <h2><a name="link5" id="link5">Public Methods</a></h2>
-
- <h3><a name="link6" id="link6">Constructors, Destructor, and
- Related</a></h3>
-
- <table class="c2" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>inline</b>
- const_node_iterator
- ()
-</pre>
- </td>
-
- <td>
- <p>Default constructor.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link7" id="link7">Access Methods</a></h3>
-
- <table class="c2" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>inline</b> <a href=
-"#const_reference495461441"><tt>const_reference</tt></a>
- <b>operator</b>*
- () <b>const</b>
-</pre>
- </td>
-
- <td>
- <p>Access.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link8" id="link8">Metadata Access Methods</a></h3>
-
- <p>These are only defined if <a href=
- "basic_tree.html#Node_Update841554648"><span class="c2">
- <tt>basic_tree</tt></span>::Node_Update</a>
- is not <a href="null_tree_node_update.html"><span class=
- "c2"><tt>null_tree_node_update</tt></span></a></p>
-
- <table class="c2" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>inline</b> <a href=
-"#const_metadata_reference1108857465"><tt>const_metadata_reference</tt></a>
- get_metadata
- () <b>const</b>
-</pre>
- </td>
-
- <td>
- <p>Metadata access.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link9" id="link9">Movement Methods</a></h3>
-
- <table class="c2" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>inline</b> <span class="c2"><tt>const_node_iterator</tt></span>
- get_l_child
- () <b>const</b>
-</pre>
- </td>
-
- <td>
- <p>Returns the const node iterator associated with the
- left node.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>inline</b> <span class="c2"><tt>const_node_iterator</tt></span>
- get_r_child
- () <b>const</b>
-</pre>
- </td>
-
- <td>
- <p>Returns the const node iterator associated with the
- right node.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link10" id="link10">Comparison Methods</a></h3>
-
- <table class="c2" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>inline</b> <b>bool</b>
- <b>operator</b>==
- (<b>const</b> <span class=
-"c2"><tt>const_node_iterator</tt></span> &other) <b>const</b>
-</pre>
- </td>
-
- <td>
- <p>Compares to a different iterator object.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>inline</b> <b>bool</b>
- <b>operator</b>!=
- (<b>const</b> <span class=
-"c2"><tt>const_node_iterator</tt></span> &other) <b>const</b>
-</pre>
- </td>
-
- <td>
- <p>Compares (negatively) to a different iterator
- object.</p>
- </td>
- </tr>
- </table>
- </div>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-
- <title>basic_tree_tag Interface</title>
- <meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
- </head>
-
-<body>
- <div id="page">
- <h1><tt>basic_tree_tag</tt> Interface</h1>
-
- <p>Basic tree-like data structure tag.</p>
-
- <p>Defined in: <a href=
- "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p>
-
- <h2><a name="link1" id="link1">Base Classes</a></h2>
-
- <table class="c1" width="100%" border="1" summary="Bases">
- <tr>
- <td width="80%" align="left"><b>Class</b></td>
-
- <td width="20%" align="left"><b>Derivation Type</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="associative_container_tag.html"><span class=
-"c2"><tt>associative_container_tag</tt></span></a>
-</pre>
- </td>
-
- <td>
- <p>public</p>
- </td>
- </tr>
- </table>
- </div>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-
- <title>binary_heap_tag Interface</title>
- <meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
- </head>
-
-<body>
- <div id="page">
- <h1><tt>binary_heap_tag</tt> Interface</h1>
-
- <p>Binary-heap (array-based) data structure tag.</p>
-
- <p>Defined in: <a href=
- "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p>
-
- <h2><a name="link1" id="link1">Base Classes</a></h2>
-
- <table class="c1" width="100%" border="1" summary="Bases">
- <tr>
- <td width="80%" align="left"><b>Class</b></td>
-
- <td width="20%" align="left"><b>Derivation Type</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="priority_queue_tag.html"><span class=
-"c2"><tt>priority_queue_tag</tt></span></a>
-</pre>
- </td>
-
- <td>
- <p>public</p>
- </td>
- </tr>
- </table>
- </div>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-
- <title>binomial_heap_tag Interface</title>
- <meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
- </head>
-
-<body>
- <div id="page">
- <h1><tt>binomial_heap_tag</tt> Interface</h1>
-
- <p>Binomial-heap data structure tag.</p>
-
- <p>Defined in: <a href=
- "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p>
-
- <h2><a name="link1" id="link1">Base Classes</a></h2>
-
- <table class="c1" width="100%" border="1" summary="Bases">
- <tr>
- <td width="80%" align="left"><b>Class</b></td>
-
- <td width="20%" align="left"><b>Derivation Type</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="priority_queue_tag.html"><span class=
-"c2"><tt>priority_queue_tag</tt></span></a>
-</pre>
- </td>
-
- <td>
- <p>public</p>
- </td>
- </tr>
- </table>
- </div>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-
- <title>cc_hash_max_collision_check_resize_trigger
- Interface</title>
- <meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
- </head>
-
-<body>
- <div id="page">
- <h1><tt>cc_hash_max_collision_check_resize_trigger</tt>
- Interface</h1>
-
- <p>A resize trigger policy based on collision checks. It keeps
- the simulated load factor lower than some given load
- factor.</p>
-
- <p>Defined in: <a href=
- "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/hash_policy.hpp"><tt>hash_policy.hpp</tt></a></p>
-
- <h2><a name="link1" id="link1">Template Parameters</a></h2>
-
- <table class="c1" width="100%" border="1" summary=
- "Template Parameters">
- <tr>
- <td width="20%" align="left"><b>Parameter</b></td>
-
- <td width="50%" align="left"><b>Description</b></td>
-
- <td width="30%" align="left"><b>Default Value</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="External_Load_Access1313998607" id=
-"External_Load_Access1313998607"><b>bool</b> External_Load_Access </a>
-</pre>
- </td>
-
- <td>
- <p>Specifies whether the load factor can be accessed
- externally. The two options have different trade-offs in
- terms of flexibility, genericity, and encapsulation.</p>
- </td>
-
- <td><tt><b>false</b></tt></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Size_Type42920436" id=
-"Size_Type42920436"><b>typename</b> Size_Type </a>
-</pre>
- </td>
-
- <td>
- <p>Size type.</p>
- </td>
-
- <td>size_t</td>
- </tr>
- </table>
-
- <h2><a name="link2" id="link2">Public Types and
- Constants</a></h2>
-
- <h3><a name="link3" id="link3">General Definitions</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Types">
- <tr>
- <td width="30%" align="left"><b>Type</b></td>
-
- <td width="55%" align="left"><b>Definition</b></td>
-
- <td width="15%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="size_type55424436" id="size_type55424436">size_type</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<a href="#Size_Type42920436"><tt>Size_Type</tt></a>
-</pre>
- </td>
-
- <td>
- <p>Size type.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="external_load_access3976598639" id=
-"external_load_access3976598639">external_load_access</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<a href=
-"#External_Load_Access1313998607"><tt>External_Load_Access</tt></a>
-</pre>
- </td>
-
- <td>
- <p>Indicates whether loads can be accessed externally</p>
- </td>
- </tr>
- </table>
-
- <h2><a name="link4" id="link4">Public Methods</a></h2>
-
- <h3><a name="link5" id="link5">Constructors, Destructor, and
- Related</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
- cc_hash_max_collision_check_resize_trigger
- (float load = 0.5)
-</pre>
- </td>
-
- <td>
- <p>Default constructor, or constructor taking
- <span class="c1"><tt>load</tt></span>, a load factor
- which it will attempt to maintain.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>void</b>
- swap
- (<span class=
-"c2"><tt>cc_hash_max_collision_check_resize_trigger</tt></span> &other)
-</pre>
- </td>
-
- <td>
- <p>Swaps content.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link6" id="link6">Load Access Methods</a></h3>
-
- <p>These methods are only available if the external access
- parameter is set.</p>
-
- <table class="c1" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>inline</b> float
- get_load
- () <b>const</b>
-</pre>
- </td>
-
- <td>
- <p>Returns the current load.</p>
-
- <p>Calling this method will not compile when <a href=
- "#External_Load_Access1313998607"><tt>External_Load_Access</tt></a>
- == <tt><b>false</b></tt>.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>void</b>
- set_load
- (float load)
-</pre>
- </td>
-
- <td>
- <p>Sets the <span class="c1"><tt>load</tt></span>; does
- not resize the container.</p>
-
- <p>It is the responsibility of the user to pass an
- appropriate <span class="c1"><tt>load</tt></span> to this
- function. Calling this method will not compile when
- <a href=
- "#External_Load_Access1313998607"><tt>External_Load_Access</tt></a>
- == <tt><b>false</b></tt>.</p>
- </td>
- </tr>
- </table>
-
- <h2><a name="link7" id="link7">Protected Methods</a></h2>
-
- <h3><a name="link8" id="link8">Insert Search
- Notifications.</a></h3>
-
- <p>Notifications called during an insert operation.</p>
-
- <table class="c1" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>inline</b> <b>void</b>
- notify_insert_search_start
- ()
-</pre>
- </td>
-
- <td>
- <p>Notifies a search started.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>inline</b> <b>void</b>
- notify_insert_search_collision
- ()
-</pre>
- </td>
-
- <td>
- <p>Notifies a search encountered a collision.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>inline</b> <b>void</b>
- notify_insert_search_end
- ()
-</pre>
- </td>
-
- <td>
- <p>Notifies a search ended.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link9" id="link9">Find Search
- Notifications.</a></h3>
-
- <p>Notifications called during a find operation.</p>
-
- <table class="c1" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>inline</b> <b>void</b>
- notify_find_search_start
- ()
-</pre>
- </td>
-
- <td>
- <p>Notifies a search started.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>inline</b> <b>void</b>
- notify_find_search_collision
- ()
-</pre>
- </td>
-
- <td>
- <p>Notifies a search encountered a collision.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>inline</b> <b>void</b>
- notify_find_search_end
- ()
-</pre>
- </td>
-
- <td>
- <p>Notifies a search ended.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link10" id="link10">Erase Search
- Notifications.</a></h3>
-
- <p>Notifications called during an insert operation.</p>
-
- <table class="c1" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>inline</b> <b>void</b>
- notify_erase_search_start
- ()
-</pre>
- </td>
-
- <td>
- <p>Notifies a search started.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>inline</b> <b>void</b>
- notify_erase_search_collision
- ()
-</pre>
- </td>
-
- <td>
- <p>Notifies a search encountered a collision.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>inline</b> <b>void</b>
- notify_erase_search_end
- ()
-</pre>
- </td>
-
- <td>
- <p>Notifies a search ended.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link11" id="link11">Content Change
- Notifications</a></h3>
-
- <p>Notifications called when the content of the table changes
- in a way that can affect the resize policy.</p>
-
- <table class="c1" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>inline</b> <b>void</b>
- notify_inserted
- (<a href="#size_type55424436"><tt>size_type</tt></a> num_entries)
-</pre>
- </td>
-
- <td>
- <p>Notifies an element was inserted.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>inline</b> <b>void</b>
- notify_erased
- (<a href="#size_type55424436"><tt>size_type</tt></a> num_entries)
-</pre>
- </td>
-
- <td>
- <p>Notifies an element was erased.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>void</b>
- notify_cleared
- ()
-</pre>
- </td>
-
- <td>
- <p>Notifies the table was cleared.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link12" id="link12">Size Change
- Notifications</a></h3>
-
- <p>Notifications called when the table changes size.</p>
-
- <table class="c1" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>void</b>
- notify_resized
- (<a href="#size_type55424436"><tt>size_type</tt></a> new_size)
-</pre>
- </td>
-
- <td>
- <p>Notifies the table was resized as a result of this
- object's signifying that a resize is needed.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>void</b>
- notify_externally_resized
- (<a href="#size_type55424436"><tt>size_type</tt></a> new_size)
-</pre>
- </td>
-
- <td>
- <p>Notifies the table was resized externally.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link13" id="link13">Queries</a></h3>
-
- <p>Called to query whether/how to resize.</p>
-
- <table class="c1" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>inline</b> <b>bool</b>
- is_resize_needed
- () <b>const</b>
-</pre>
- </td>
-
- <td>
- <p>Queries whether a resize is needed.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>inline</b> <b>bool</b>
- is_grow_needed
- (<a href=
-"#size_type55424436"><tt>size_type</tt></a> size, <a href=
-"#size_type55424436"><tt>size_type</tt></a> num_entries) <b>const</b>
-</pre>
- </td>
-
- <td>
- <p>Queries whether a grow is needed.</p>
-
- <p>This method is called only if this object indicated is
- needed.</p>
- </td>
- </tr>
- </table>
- </div>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-
- <title>cc_hash_table Interface</title>
- <meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
- </head>
-
-<body>
- <div id="page">
- <h1><tt>cc_hash_table</tt> Interface</h1>
-
- <p>A concrete collision-chaining hash-based associative
- container.</p>
-
- <p>Defined in: <a href=
- "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/assoc_container.hpp"><tt>assoc_container.hpp</tt></a></p>
-
- <h2><a name="link1" id="link1">Template Parameters</a></h2>
-
- <table class="c1" width="100%" border="1" summary=
- "Template Parameters">
- <tr>
- <td width="20%" align="left"><b>Parameter</b></td>
-
- <td width="50%" align="left"><b>Description</b></td>
-
- <td width="30%" align="left"><b>Default Value</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Key2501" id="Key2501"><b>typename</b> Key</a>
-</pre>
- </td>
-
- <td>
- <p>Key type.</p>
- </td>
-
- <td>-</td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Mapped318655" id="Mapped318655"><b>typename</b> Mapped</a>
-</pre>
- </td>
-
- <td>
- <p>Mapped type.</p>
- </td>
-
- <td>-</td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Hash_Fn1515835" id=
-"Hash_Fn1515835"><b>class</b> Hash_Fn </a>
-</pre>
- </td>
-
- <td>
- <p>Hash functor.</p>
- </td>
-
- <td>
- <pre>
-__gnu_cxx::hash<<a href="#Key2501"><tt>Key</tt></a>>
-</pre>if using gcc;
- <pre>
-stdext::hash_value<<a href="#Key2501"><tt>Key</tt></a>>
-</pre>if using Visual C++ .net
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Eq_Fn60085" id="Eq_Fn60085"><b>class</b> Eq_Fn </a>
-</pre>
- </td>
-
- <td>
- <p>Equivalence functor.</p>
- </td>
-
- <td>
- <pre>
-std::equal_to<<a href="#Key2501"><tt>Key</tt></a>>
-</pre>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Comb_Hash_Fn320611039" id=
-"Comb_Hash_Fn320611039"><b>class</b> Comb_Hash_Fn </a>
-</pre>
- </td>
-
- <td>
- <p>Combining hash functor.</p>
-
- <p>If <a href="#Hash_Fn1515835"><tt>Hash_Fn</tt></a> is
- not <a href="null_hash_fn.html"><span class=
- "c2"><tt>null_hash_fn</tt></span></a>, then this is the
- ranged-hash functor; otherwise, this is the range-hashing
- functor.</p>
-
- <p>(See <a href=
- "hash_based_containers.html#hash_policies">Design::Hash-Based
- Containers::Hash Policies</a>.)</p>
- </td>
-
- <td>
- <pre>
-<a href="direct_mask_range_hashing.html"><span class=
-"c2"><tt>direct_mask_range_hashing</tt></span></a>
-</pre>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Resize_Policy566860465" id=
-"Resize_Policy566860465"><b>class</b> Resize_Policy </a>
-</pre>
- </td>
-
- <td>
- <p>Resize policy.</p>
- </td>
-
- <td>
- If <tt><a href=
- "#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn</tt></a></tt>
- is <tt><a href=
- "direct_mask_range_hashing.html"><span class=
- "c2"><tt>direct_mask_range_hashing</tt></span></a></tt>,
- then
- <pre>
-<a href="hash_standard_resize_policy.html"><span class=
-"c2"><tt>hash_standard_resize_policy</tt></span></a><
- <a href="hash_exponential_size_policy.html"><span class=
-"c2"><tt>hash_exponential_size_policy</tt></span></a><
- <b>typename</b> <a href=
-"#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn</tt></a>::size_type>,
- <a href="hash_load_check_resize_trigger.html"><span class=
-"c2"><tt>hash_load_check_resize_trigger</tt></span></a><
- <b>typename</b> <a href=
-"#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn</tt></a>::size_type>,
- <b>false</b>,
- <b>typename</b> <a href=
-"#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn</tt></a>::size_type>
-</pre>otherwise,
- <pre>
-<a href="hash_standard_resize_policy.html"><span class=
-"c2"><tt>hash_standard_resize_policy</tt></span></a><
- <a href="hash_exponential_size_policy.html"><span class=
-"c2"><tt>hash_exponential_size_policy</tt></span></a><
- <b>typename</b> <a href=
-"#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn</tt></a>::size_type>,
- <a href="hash_load_check_resize_trigger.html"><span class=
-"c2"><tt>hash_load_check_resize_trigger</tt></span></a><
- <b>typename</b> <a href=
-"#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn</tt></a>::size_type>,
- <b>false</b>,
- <b>typename</b> <a href=
-"#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn</tt></a>::size_type>
-</pre>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Store_Hash218262104" id=
-"Store_Hash218262104"><b>bool</b> Store_Hash </a>
-</pre>
- </td>
-
- <td>
- <p>Indicates whether the hash value will be stored along
- with each key.</p>
-
- <p>If <tt><a href=
- "#hash_fn2015995"><tt>hash_fn</tt></a></tt> is <a href=
- "null_hash_fn.html"><span class=
- "c2"><tt>null_hash_fn</tt></span></a>, then the container
- will not compile if this value is
- <tt><b>true</b></tt></p>
- </td>
-
- <td>
- <pre>
-<tt><b>false</b></tt>
-</pre>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Allocator35940069" id=
-"Allocator35940069"><b>class</b> Allocator </a>
-</pre>
- </td>
-
- <td>
- <p>Allocator type.</p>
- </td>
-
- <td>
- <pre>
-std::allocator<<b>char</b>>
-</pre>
- </td>
- </tr>
- </table>
-
- <h2><a name="link2" id="link2">Base Classes</a></h2>
-
- <table class="c1" width="100%" border="1" summary="Bases">
- <tr>
- <td width="80%" align="left"><b>Class</b></td>
-
- <td width="20%" align="left"><b>Derivation Type</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="basic_hash_table.html"><span class=
-"c2"><tt>basic_hash_table</tt></span></a>
-</pre>
- </td>
-
- <td>
- <p>public</p>
- </td>
- </tr>
- </table>
-
- <h2><a name="link3" id="link3">Public Types and
- Constants</a></h2>
-
- <h3><a name="link4" id="link4">Policy Definitions</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Types">
- <tr>
- <td width="30%" align="left"><b>Type</b></td>
-
- <td width="55%" align="left"><b>Definition</b></td>
-
- <td width="15%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="hash_fn2015995" id="hash_fn2015995">hash_fn</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<a href="#Hash_Fn1515835"><tt>Hash_Fn</tt></a>
-</pre>
- </td>
-
- <td>
- <p>Hash functor type.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="eq_fn80245" id="eq_fn80245">eq_fn</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<a href="#Eq_Fn60085"><tt>Eq_Fn</tt></a>
-</pre>
- </td>
-
- <td>
- <p>Equivalence functor type.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="resize_policy4084493169" id=
-"resize_policy4084493169">resize_policy</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<a href="#Resize_Policy566860465"><tt>Resize_Policy</tt></a>
-</pre>
- </td>
-
- <td>
- <p>Resize policy type.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="comb_hash_fn1883611199" id=
-"comb_hash_fn1883611199">comb_hash_fn</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<a href="#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn</tt></a>
-</pre>
- </td>
-
- <td>
- <p>Combining hash functor type.</p>
- </td>
- </tr>
- </table>
-
- <h2><a name="link5" id="link5">Public Methods</a></h2>
-
- <h3><a name="link6" id="link6">Constructors, Destructor, and
- Related</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
- cc_hash_table
- ()
-</pre>
- </td>
-
- <td>
- <p>Default constructor.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
- cc_hash_table
- (<b>const</b> <a href=
-"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn)
-</pre>
- </td>
-
- <td>
- <p>Constructor taking some policy objects. <span class=
- "c1"><tt>r_hash_fn</tt></span> will be copied by the
- <a href="#Hash_Fn1515835"><tt>Hash_Fn</tt></a> object of
- the container object.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
- cc_hash_table
- (<b>const</b> <a href=
-"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn,
- <b>const</b> <a href=
-"#eq_fn80245"><tt>eq_fn</tt></a> &r_eq_fn)
-</pre>
- </td>
-
- <td>
- <p>Constructor taking some policy objects. <span class=
- "c1"><tt>r_hash_fn</tt></span> will be copied by the
- <a href="#hash_fn2015995"><tt>hash_fn</tt></a> object of
- the container object, and <span class=
- "c1"><tt>r_eq_fn</tt></span> will be copied by the
- <a href="#eq_fn80245"><tt>eq_fn</tt></a> object of the
- container object.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
- cc_hash_table
- (<b>const</b> <a href=
-"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn,
- <b>const</b> <a href=
-"#eq_fn80245"><tt>eq_fn</tt></a> &r_eq_fn,
- <b>const</b> <a href=
-"#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a> &r_comb_hash_fn)
-</pre>
- </td>
-
- <td>
- <p>Constructor taking some policy objects. <span class=
- "c1"><tt>r_hash_fn</tt></span> will be copied by the
- <a href="#hash_fn2015995"><tt>hash_fn</tt></a> object of
- the container object, <span class=
- "c1"><tt>r_eq_fn</tt></span> will be copied by the
- <a href="#eq_fn80245"><tt>eq_fn</tt></a> object of the
- container object, and <span class=
- "c1"><tt>r_comb_hash_fn</tt></span> will be copied by the
- <a href=
- "#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a>
- object of the container object.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
- cc_hash_table
- (<b>const</b> <a href=
-"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn,
- <b>const</b> <a href=
-"#eq_fn80245"><tt>eq_fn</tt></a> &r_eq_fn,
- <b>const</b> <a href=
-"#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a> &r_comb_hash_fn,
- <b>const</b> <a href=
-"#resize_policy4084493169"><tt>resize_policy</tt></a> &r_resize_policy)
-</pre>
- </td>
-
- <td>
- <p>Constructor taking some policy objects. <span class=
- "c1"><tt>r_hash_fn</tt></span> will be copied by the
- <a href="#hash_fn2015995"><tt>hash_fn</tt></a> object of
- the container object, <span class=
- "c1"><tt>r_eq_fn</tt></span> will be copied by the
- <a href="#eq_fn80245"><tt>eq_fn</tt></a> object of the
- container object, <span class=
- "c1"><tt>r_comb_hash_fn</tt></span> will be copied by the
- <a href=
- "#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a>
- object of the container object, and <span class=
- "c1"><tt>r_resize_policy</tt></span> will be copied by
- the <a href=
- "#resize_policy4084493169"><tt>resize_policy</tt></a>
- object of the container object.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>template</b><
- <b>class</b> It>
- cc_hash_table
- (It first_it,
- It last_it)
-</pre>
- </td>
-
- <td>
- <p>Constructor taking iterators to a range of
- value_types. The value_types between <span class=
- "c1"><tt>first_it</tt></span> and <span class=
- "c1"><tt>last_it</tt></span> will be inserted into the
- container object.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>template</b><
- <b>class</b> It>
- cc_hash_table
- (It first_it,
- It last_it,
- <b>const</b> <a href=
-"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn)
-</pre>
- </td>
-
- <td>
- <p>Constructor taking iterators to a range of value_types
- and some policy objects. The value_types between
- <span class="c1"><tt>first_it</tt></span> and
- <span class="c1"><tt>last_it</tt></span> will be inserted
- into the container object.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>template</b><
- <b>class</b> It>
- cc_hash_table
- (It first_it,
- It last_it,
- <b>const</b> <a href=
-"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn,
- <b>const</b> <a href=
-"#eq_fn80245"><tt>eq_fn</tt></a> &r_eq_fn)
-</pre>
- </td>
-
- <td>
- <p>Constructor taking iterators to a range of value_types
- and some policy objects The value_types between
- <span class="c1"><tt>first_it</tt></span> and
- <span class="c1"><tt>last_it</tt></span> will be inserted
- into the container object. <span class=
- "c1"><tt>r_hash_fn</tt></span> will be copied by the
- <a href="#hash_fn2015995"><tt>hash_fn</tt></a> object of
- the container object, and <span class=
- "c1"><tt>r_eq_fn</tt></span> will be copied by the
- <a href="#eq_fn80245"><tt>eq_fn</tt></a> object of the
- container object.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>template</b><
- <b>class</b> It>
- cc_hash_table
- (It first_it,
- It last_it,
- <b>const</b> <a href=
-"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn,
- <b>const</b> <a href=
-"#eq_fn80245"><tt>eq_fn</tt></a> &r_eq_fn,
- <b>const</b> <a href=
-"#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a> &r_comb_hash_fn)
-</pre>
- </td>
-
- <td>
- <p>Constructor taking iterators to a range of value_types
- and some policy objects The value_types between
- <span class="c1"><tt>first_it</tt></span> and
- <span class="c1"><tt>last_it</tt></span> will be inserted
- into the container object. <span class=
- "c1"><tt>r_hash_fn</tt></span> will be copied by the
- <a href="#hash_fn2015995"><tt>hash_fn</tt></a> object of
- the container object, <span class=
- "c1"><tt>r_eq_fn</tt></span> will be copied by the
- <a href="#eq_fn80245"><tt>eq_fn</tt></a> object of the
- container object, and <span class=
- "c1"><tt>r_comb_hash_fn</tt></span> will be copied by the
- <a href=
- "#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a>
- object of the container object.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>template</b><
- <b>class</b> It>
- cc_hash_table
- (It first_it,
- It last_it,
- <b>const</b> <a href=
-"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn,
- <b>const</b> <a href=
-"#eq_fn80245"><tt>eq_fn</tt></a> &r_eq_fn,
- <b>const</b> <a href=
-"#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a> &r_comb_hash_fn,
- <b>const</b> <a href=
-"#resize_policy4084493169"><tt>resize_policy</tt></a> &r_resize_policy)
-</pre>
- </td>
-
- <td>
- <p>Constructor taking iterators to a range of value_types
- and some policy objects The value_types between
- <span class="c1"><tt>first_it</tt></span> and
- <span class="c1"><tt>last_it</tt></span> will be inserted
- into the container object. <span class=
- "c1"><tt>r_hash_fn</tt></span> will be copied by the
- <a href="#hash_fn2015995"><tt>hash_fn</tt></a> object of
- the container object, <span class=
- "c1"><tt>r_eq_fn</tt></span> will be copied by the
- <a href="#eq_fn80245"><tt>eq_fn</tt></a> object of the
- container object, <span class=
- "c1"><tt>r_comb_hash_fn</tt></span> will be copied by the
- <a href=
- "#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a>
- object of the container object, and <span class=
- "c1"><tt>r_resize_policy</tt></span> will be copied by
- the <a href=
- "#resize_policy4084493169"><tt>resize_policy</tt></a>
- object of the container object.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
- cc_hash_table
- (<b>const</b> <span class=
-"c2"><tt>cc_hash_table</tt></span> &other)
-</pre>
- </td>
-
- <td>
- <p>Copy constructor.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>virtual</b>
- ~cc_hash_table
- ()
-</pre>
- </td>
-
- <td>
- <p>Destructor.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<span class="c2"><tt>cc_hash_table</tt></span> &
- <b>operator</b>=
- (<b>const</b> <span class=
-"c2"><tt>cc_hash_table</tt></span> &other)
-</pre>
- </td>
-
- <td>
- <p>Assignment operator.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>void</b>
- swap
- (<span class=
-"c2"><tt>cc_hash_table</tt></span> &other)
-</pre>
- </td>
-
- <td>
- <p>Swaps content.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link7" id="link7">Policy Access Methods</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Methods">
- <tr>
- <td width="45%" align="left"><b>Method</b></td>
-
- <td width="55%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a> &
- get_comb_hash_fn
- ()
-</pre>
- </td>
-
- <td>
- <p>Access to the <a href=
- "#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a>
- object.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<b>const</b> <a href=
-"#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a> &
- get_comb_hash_fn
- () <b>const</b>
-</pre>
- </td>
-
- <td>
- <p>Const access to the <a href=
- "#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a>
- object.</p>
- </td>
- </tr>
- </table>
- </div>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-
- <title>cc_hash_tag Interface</title>
- <meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
- </head>
-
-<body>
- <div id="page">
- <h1><tt>cc_hash_tag</tt> Interface</h1>
-
- <p>Collision-chaining hash data structure tag.</p>
-
- <p>Defined in: <a href=
- "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p>
-
- <h2><a name="link1" id="link1">Base Classes</a></h2>
-
- <table class="c1" width="100%" border="1" summary="Bases">
- <tr>
- <td width="80%" align="left"><b>Class</b></td>
-
- <td width="20%" align="left"><b>Derivation Type</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a href="basic_hash_tag.html"><span class=
-"c2"><tt>basic_hash_tag</tt></span></a>
-</pre>
- </td>
-
- <td>
- <p>public</p>
- </td>
- </tr>
- </table>
- </div>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-
- <title>Concepts</title>
- <meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
- </head>
-
-<body>
- <div id="page">
- <h1>Concepts</h1>
-
- <h2><a name="concepts_find_and_range_iterators" id=
- "concepts_find_and_range_iterators">Point and Range Methods and
- Iterators</a></h2>
-
- <p>A point-type iterator is an iterator that refers to a
- specific element, <i>e.g.</i> as returned through an
- associative-container's <tt>find</tt> method; a range-type
- iterator is an iterator that is used to go over a sequence of
- elements, <i>e.g.</i>, as returned by a container's
- <tt>find</tt> method. A point-type method is a method that
- returns a point-type iterator; a range-type method is a method
- that returns a range-type iterator.</p>
-
- <p>For most containers, these types are synonymous; for
- self-organizing containers, such as hash-based containers or
- priority queues, these are inherently different (in any
- implementation, including that of the STL), but in
- <tt>pb_ds</tt> this is made explicit - they are distinct
- types.</p>
-
-
- <h2><a name="invalidation_guarantees" id=
- "invalidation_guarantees">Invalidation Guarantees</a></h2>
-
- <p>If one manipulates a container object, then iterators
- previously obtained from it can be invalidated. In some cases a
- previously-obtained iterator cannot be de-referenced; in other
- cases, the iterator's next or previous element might have
- changed unpredictably. This corresponds exactly to the question
- whether a point-type or range-type iterator (see previous
- concept) is valid or not. In <tt>pb_ds</tt> one can query a
- container (in compile time) what are its invalidation
- guarantees.</p>
-
- <h2><a name="prm_sec" id="prm_sec">Primary and Secondary Keys
- and Associative Containers</a></h2>
-
- <p>In <tt>pb_ds</tt> there are no associative containers which
- allow multiple values with equivalent keys (such as the STL's
- <tt>std::multimap</tt>, for example). Instead, one maps the
- unique part of a key - the primary key, into an
- associative-container of the (originally) non-unique parts of
- the key - the secondary key. A primary associative-container is
- an associative container of primary keys; a secondary
- associative-container is an associative container of secondary
- keys.</p>
-
-
- <h2><a name="concepts_null_policies" id=
- "concepts_null_policies">Null Policy Classes</a></h2>
-
- <p>Associative containers are typically parametrized by
- various policies. For example, a hash-based associative
- container is parametrized by a hash-functor, transforming each
- key into an non-negative numerical type. Each such value is
- then further mapped into a position within the table. The
- mapping of a key into a position within the table is therefore
- a two-step process.</p>
-
- <p>In some cases, instantiations are <i>redundant</i>. For
- example, when the keys are integers, it is possible to use a
- <i>redundant</i> hash policy, which transforms each key into
- its value.</p>
-
- <p>In some other cases, these policies are <i>irrelevant</i>.
- For example, a hash-based associative container might transform
- keys into positions within a table by a different method than
- the two-step method described above. In such a case, the hash
- functor is simply irrelevant.</p>
-
- <p><tt>pb_ds</tt> uses special pre-defined "null policies"
- classes for these cases. Some null policies in <tt>pb_ds</tt>
- are:</p>
-
- <ol>
- <li><a href=
- "null_mapped_type.html"><tt>null_mapped_type</tt></a></li>
-
- <li><a href=
- "null_tree_node_update.html"><tt>null_tree_node_update</tt></a></li>
-
- <li><a href=
- "null_trie_node_update.html"><tt>null_trie_node_update</tt></a></li>
-
- <li><a href=
- "null_hash_fn.html"><tt>null_hash_fn</tt></a></li>
-
- <li><a href=
- "null_probe_fn.html"><tt>null_probe_fn</tt></a></li>
- </ol>
-
- <p>A "set" in <tt>pb_ds</tt>, for example, is an associative
- container with its <tt>Data_Parameter</tt> instantiated by
- <a href="null_mapped_type.html"><tt>null_mapped_type</tt></a>.
- <a href=
- "tree_based_containers.html#invariants">Design::Tree-Based
- Containers::Node Invariants</a> explains another case where a
- null policy is needed.</p>
- </div>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-
- <title>Contact</title>
- <meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
- </head>
-
-<body>
- <div id="page">
- <h1>Contact</h1>
-
- <p>For anything relevant, please write to <a href=
- "mailto:pbassoc@gmail.com">pbassoc@gmail.com</a></p>
- </div>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-
- <title>container_base Interface</title>
- <meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
- </head>
-
-<body>
- <div id="page">
- <h1><tt>container_base</tt> Interface</h1>
-
- <p>An abstract basic associative container.</p>
-
- <p>Defined in: <a href=
- "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/assoc_container.hpp"><tt>assoc_container.hpp</tt></a></p>
-
- <h2><a name="link1" id="link1">Template Parameters</a></h2>
-
- <table class="c1" width="100%" border="1" summary=
- "Template Parameters">
- <tr>
- <td width="20%" align="left"><b>Parameter</b></td>
-
- <td width="50%" align="left"><b>Description</b></td>
-
- <td width="30%" align="left"><b>Default Value</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Key2501" id="Key2501"><b>typename</b> Key</a>
-</pre>
- </td>
-
- <td>
- <p>Key type.</p>
- </td>
-
- <td>-</td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Mapped318655" id="Mapped318655"><b>typename</b> Mapped</a>
-</pre>
- </td>
-
- <td>
- <p>Mapped type.</p>
- </td>
-
- <td>-</td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Tag278938" id="Tag278938"><b>class</b> Tag</a>
-</pre>
- </td>
-
- <td>
- <p>Data structure tag.</p>
- </td>
-
- <td>-</td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Policy_Tl42017403" id=
-"Policy_Tl42017403"><b>class</b> Policy_Tl</a>
-</pre>
- </td>
-
- <td>
- <p>Policy typelist.</p>
-
- <p>Contains subclasses' policies.</p>
- </td>
-
- <td>-</td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="Allocator35940069" id=
-"Allocator35940069"><b>class</b> Allocator</a>
-</pre>
- </td>
-
- <td>
- <p>Allocator type.</p>
- </td>
-
- <td>-</td>
- </tr>
- </table>
-
- <h2><a name="link2" id="link2">Public Types and
- Constants</a></h2>
-
- <h3><a name="link3" id="link3">General Container
- Definitions</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Types">
- <tr>
- <td width="30%" align="left"><b>Type</b></td>
-
- <td width="55%" align="left"><b>Definition</b></td>
-
- <td width="15%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="size_type55424436" id="size_type55424436">size_type</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<b>typename</b> <a href=
-"#Allocator35940069"><tt>Allocator</tt></a>::size_type
-</pre>
- </td>
-
- <td>
- <p>Size type.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="difference_type868028452" id=
-"difference_type868028452">difference_type</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<b>typename</b> <a href=
-"#Allocator35940069"><tt>Allocator</tt></a>::difference_type
-</pre>
- </td>
-
- <td>
- <p>Difference type.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link4" id="link4">Categories</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Types">
- <tr>
- <td width="30%" align="left"><b>Type</b></td>
-
- <td width="55%" align="left"><b>Definition</b></td>
-
- <td width="15%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="container_category1247973216" id=
-"container_category1247973216">container_category</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<a href="#Tag278938"><tt>Tag</tt></a>
-</pre>
- </td>
-
- <td>
- <p>The underlying mapped-structure tag of the
- container.</p>
-
- <p>This is one of:</p>
-
- <ol>
- <li><a href="cc_hash_tag.html"><span class=
- "c2"><tt>cc_hash_tag</tt></span></a></li>
-
- <li><a href="gp_hash_tag.html"><span class=
- "c2"><tt>gp_hash_tag</tt></span></a></li>
-
- <li><a href="rb_tree_tag.html"><span class=
- "c2"><tt>rb_tree_tag</tt></span></a></li>
-
- <li><a href="ov_tree_tag.html"><span class=
- "c2"><tt>ov_tree_tag</tt></span></a></li>
-
- <li><a href="splay_tree_tag.html"><span class=
- "c2"><tt>splay_tree_tag</tt></span></a></li>
-
- <li><a href="pat_trie_tag.html"><span class=
- "c2"><tt>pat_trie_tag</tt></span></a></li>
-
- <li><a href="list_update_tag.html"><span class=
- "c2"><tt>list_update_tag</tt></span></a></li>
- </ol>
- </td>
- </tr>
- </table>
-
- <h3><a name="link5" id="link5">Policy Definitions</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Types">
- <tr>
- <td width="30%" align="left"><b>Type</b></td>
-
- <td width="55%" align="left"><b>Definition</b></td>
-
- <td width="15%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="allocator48440069" id="allocator48440069">allocator</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<a href="#Allocator35940069"><tt>Allocator</tt></a>
-</pre>
- </td>
-
- <td>
- <p><a href="#Allocator35940069"><tt>Allocator</tt></a>
- type.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link6" id="link6">Key-Type Definitions</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Types">
- <tr>
- <td width="30%" align="left"><b>Type</b></td>
-
- <td width="55%" align="left"><b>Definition</b></td>
-
- <td width="15%" align="left"><b>Description</b></td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="key_type10393186" id="key_type10393186">key_type</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<b>typename</b> <a href=
-"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind<
- <a href="#Key2501"><tt>Key</tt></a>>::other::value_type
-</pre>
- </td>
-
- <td>
- <p><a href="#Key2501"><tt>Key</tt></a> type.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="key_reference2411522399" id=
-"key_reference2411522399">key_reference</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<b>typename</b> <a href=
-"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind<
- <a href=
-"#key_type10393186"><tt>key_type</tt></a>>::other::reference
-</pre>
- </td>
-
- <td>
- <p><a href="#Key2501"><tt>Key</tt></a> reference
- type.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="const_key_reference3185471705" id=
-"const_key_reference3185471705">const_key_reference</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<b>typename</b> <a href=
-"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind<
- <a href=
-"#key_type10393186"><tt>key_type</tt></a>>::other::const_reference
-</pre>
- </td>
-
- <td>
- <p>Const key reference type.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="key_pointer1299054769" id=
-"key_pointer1299054769">key_pointer</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<b>typename</b> <a href=
-"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind<
- <a href=
-"#key_type10393186"><tt>key_type</tt></a>>::other::pointer
-</pre>
- </td>
-
- <td>
- <p><a href="#Key2501"><tt>Key</tt></a> pointer type.</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <pre>
-<a name="const_key_pointer3735194427" id=
-"const_key_pointer3735194427">const_key_pointer</a>
-</pre>
- </td>
-
- <td>
- <pre>
-<b>typename</b> <a href=
-"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind<
- <a href=
-"#key_type10393186"><tt>key_type</tt></a>>::other::const_pointer
-</pre>
- </td>
-
- <td>
- <p>Const key pointer type.</p>
- </td>
- </tr>
- </table>
-
- <h3><a name="link7" id="link7">Mapped-Type Definitions</a></h3>
-
- <table class="c1" width="100%" border="1" summary="Types">
- <tr>
- <td width="30%" align="left"><b>Type</b></td>
-
- <td width="55%" align="left"><b>Definition</b></td>
-
- <td width="15%" align="left"><b>