Docbook conversion of existing ext/pb_ds documentation.
authorBenjamin Kosnik <bkoz@redhat.com>
Fri, 29 Jul 2011 22:31:30 +0000 (22:31 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Fri, 29 Jul 2011 22:31:30 +0000 (22:31 +0000)
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.

From-SVN: r176952

472 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/doc/Makefile.am
libstdc++-v3/doc/Makefile.in
libstdc++-v3/doc/html/ext/pb_ds/PythonPoweredSmall.gif [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/acks.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/assoc_container_tag_cd.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/assoc_container_tag_cd.svg [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/assoc_container_traits.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/assoc_design.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/assoc_examples.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/assoc_performance_tests.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/assoc_regression_tests.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/assoc_tests.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/associative_container_tag.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/balls_and_bins.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/basic_hash_table.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/basic_hash_tag.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/basic_invalidation_guarantee.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/basic_tree.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/basic_tree_assoc_container_const_node_iterator.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/basic_tree_tag.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/binary_heap_tag.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/binomial_heap_tag.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/cc_hash_max_collision_check_resize_trigger.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_find_timing_test_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_find_timing_test_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_find_timing_test_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/cc_hash_table.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/cc_hash_tag.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/checked_by_tidy.gif [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/concepts.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/contact.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/container_base.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/container_cd.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/container_cd.svg [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/container_tag.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/counter_lu_policy.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/design.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/different_underlying_dss.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/direct_mask_range_hashing.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/direct_mod_range_hashing.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/disclaimer.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/ds_gen.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/embedded_lists_1.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/embedded_lists_2.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/embedded_lists_3.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/examples.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/exceptions.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_find_timing_test_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_find_timing_test_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_find_timing_test_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/gp_hash_table.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/gp_hash_tag.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/hash_based_containers.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/hash_exponential_size_policy.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/hash_load_check_resize_trigger.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/hash_policy_cd.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/hash_prime_size_policy.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_find_find_timing_test.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_subscript_find_timing_test.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_subscript_insert_timing_test.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/hash_range_hashing_seq_diagram.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/hash_range_hashing_seq_diagram2.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/hash_ranged_hash_range_hashing_fns.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/hash_standard_resize_policy.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/hash_text_find_find_timing_test.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_find_timing_test.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/index.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/insert_error.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/insert_resize_sequence_diagram1.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/insert_resize_sequence_diagram2.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/insert_resize_sequence_diagram3.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/interface.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/introduction.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/invalidation_guarantee_cd.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/invalidation_guarantee_erase.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/join_error.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/linear_probe_fn.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/list_update.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/list_update_tag.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/lu.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/lu_based_containers.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/misc.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/motivation.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/move_to_front_lu_policy.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/node_invariant_invalidations.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/node_invariants.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/null_hash_fn.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/null_lu_metadata.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/null_mapped_type.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/null_probe_fn.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/null_tree_node_update.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/null_trie_node_update.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/ov_tree_tag.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/pairing_heap_tag.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/pat_trie.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/pat_trie_tag.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/point_invalidation_guarantee.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/point_iterators_cd.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/point_iterators_range_ops_1.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/point_iterators_range_ops_2.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/pq_container_traits.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/pq_design.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/pq_different_underlying_dss.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/pq_examples.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/pq_performance_tests.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/pq_regression_tests.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/pq_tests.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/prerequisites.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_tag.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_tag_cd.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_tag_cd.svg [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/quadratic_probe_fn.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/random_int_find_find_timing_test_tree_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/random_int_find_find_timing_test_tree_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/random_int_find_find_timing_test_tree_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/range_invalidation_guarantee.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/rationale_null_node_updator.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/rb_tree_tag.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/rc_binomial_heap_tag.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/references.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/resize_error.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/resize_policy_cd.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/restoring_node_invariants.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/sample_probe_fn.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/sample_range_hashing.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/sample_ranged_hash_fn.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/sample_ranged_probe_fn.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/sample_resize_policy.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/sample_resize_trigger.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/sample_size_policy.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/sample_tree_node_update.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/sample_trie_access_traits.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/sample_trie_node_update.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/sample_update_policy.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/simple_list.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/splay_tree_tag.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tests.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_hash_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_hash_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_hash_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_tree_like_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_tree_like_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_tree_like_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/thin_heap_tag.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_based_containers.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_node_iterator.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_node_updator_policy_cd.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_node_update.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_random_int_find_find_timing_test.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_tag.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_text_find_find_timing_test.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_find_timing_test.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_timing_test_gcc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_timing_test_local.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_timing_test_msvc.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/trie.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/trie_based_containers.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/trie_const_node_iterator.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/trie_node_iterator.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/trie_node_updator_policy_cd.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/trie_order_statistics_node_update.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/trie_prefix_search_node_update.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/trie_string_access_traits.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/trie_tag.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/trivial_iterator_tag.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/tutorial.html [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/update_policy_cd.png [deleted file]
libstdc++-v3/doc/html/ext/pb_ds/update_seq_diagram.png [deleted file]
libstdc++-v3/doc/xml/images/pbds_balls_and_bins.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_binary_priority_queue_random_int_push_timing_test_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_binary_priority_queue_random_int_push_timing_test_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_binary_priority_queue_random_int_push_timing_test_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_find_timing_test_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_find_timing_test_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_find_timing_test_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_find_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_find_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_find_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_insert_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_insert_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_insert_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_container_tag_hierarchy.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_container_tag_hierarchy.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_container_tag_hierarchy.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_different_underlying_dss_1.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_different_underlying_dss_2.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_embedded_lists_1.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_embedded_lists_2.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_embedded_lists_3.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_exception_hierarchy.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_exception_hierarchy.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_exception_hierarchy.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_find_timing_test_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_find_timing_test_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_find_timing_test_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_find_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_find_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_find_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_insert_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_insert_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_insert_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_hash_policy_cd.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_hash_random_int_erase_mem_usage_test_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_hash_random_int_erase_mem_usage_test_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_hash_random_int_erase_mem_usage_test_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_hash_range_hashing_seq_diagram.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_hash_range_hashing_seq_diagram2.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_hash_ranged_hash_range_hashing_fns.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_hash_zlob_random_int_find_timing_test_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_hash_zlob_random_int_find_timing_test_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_hash_zlob_random_int_find_timing_test_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_insert_resize_sequence_diagram1.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_insert_resize_sequence_diagram2.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_insert_resize_sequence_diagram3.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_invalidation_guarantee_erase.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_invalidation_tag_hierarchy.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_invalidation_tag_hierarchy.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_invalidation_tag_hierarchy.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_list_update.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_hash_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_hash_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_hash_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_tree_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_tree_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_tree_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_hash_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_hash_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_hash_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_tree_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_tree_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_tree_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_hash_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_hash_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_hash_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_tree_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_tree_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_tree_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_hash_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_hash_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_hash_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_tree_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_tree_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_tree_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_node_invariants.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_pairing_priority_queue_text_push_pop_timing_test_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_pairing_priority_queue_text_push_pop_timing_test_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_pairing_priority_queue_text_push_pop_timing_test_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_pairing_priority_queue_text_push_timing_test_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_pairing_priority_queue_text_push_timing_test_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_pairing_priority_queue_text_push_timing_test_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_pat_trie.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_point_iterator_hierarchy.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_point_iterators_range_ops_1.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_point_iterators_range_ops_2.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_different_underlying_dss.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_pop_timing_test_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_pop_timing_test_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_pop_timing_test_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_timing_test_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_timing_test_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_timing_test_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_tag_hierarchy.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_tag_hierarchy.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_tag_hierarchy.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_join_timing_test_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_join_timing_test_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_join_timing_test_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_pop_mem_usage_test_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_pop_mem_usage_test_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_pop_mem_usage_test_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_pop_timing_test_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_pop_timing_test_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_pop_timing_test_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_timing_test_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_timing_test_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_timing_test_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_rationale_null_node_updator.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_resize_policy_cd.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_restoring_node_invariants.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_simple_list.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_hash_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_hash_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_hash_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_tree_like_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_tree_like_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_tree_like_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_tree_node_invalidations.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_tree_node_invariants.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_tree_node_updator_policy_cd.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_tree_order_statistics_timing_test_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_tree_order_statistics_timing_test_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_tree_order_statistics_timing_test_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_tree_split_join_timing_test_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_tree_split_join_timing_test_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_tree_split_join_timing_test_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_node_tree_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_node_tree_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_node_tree_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_pat_trie_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_pat_trie_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_pat_trie_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_vector_tree_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_vector_tree_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_vector_tree_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_tree_text_lor_find_timing_test_local.pdf [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_tree_text_lor_find_timing_test_local.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_tree_text_lor_find_timing_test_local.svg [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_trie_node_updator_policy_cd.png [new file with mode: 0644]
libstdc++-v3/doc/xml/images/pbds_update_seq_diagram.png [new file with mode: 0644]
libstdc++-v3/doc/xml/manual/bitmap_allocator.xml
libstdc++-v3/doc/xml/manual/extensions.xml
libstdc++-v3/doc/xml/manual/mt_allocator.xml
libstdc++-v3/doc/xml/manual/policy_data_structures.xml [new file with mode: 0644]
libstdc++-v3/doc/xml/manual/spine.xml
libstdc++-v3/doc/xml/manual/test_policy_data_structures.xml [new file with mode: 0644]
libstdc++-v3/doc/xml/spine.xml

index 32f895d2254dacb8f93974173f89681ef6aeab1c..3a24ca4bc6f65ef9664dbeb4306dc9a5cd38fc6a 100644 (file)
@@ -1,3 +1,413 @@
+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
index 7e75cc71d21a9ea00c94765016de738737b04a8f..e9df245968306cecc81dc5b68c3c68a0967e01d7 100644 (file)
@@ -144,7 +144,6 @@ stamp-html-copy: stamp-html-docbook
        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
@@ -339,6 +338,7 @@ xml_sources_manual = \
        ${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 \
@@ -350,6 +350,7 @@ xml_sources_manual = \
        ${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 \
@@ -375,7 +376,8 @@ xml_noinst = \
        ${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
@@ -433,7 +435,7 @@ doc-xml-single-docbook: stamp-xml-single-docbook
 # 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
 
@@ -443,7 +445,7 @@ doc-html-docbook: 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
 
@@ -452,7 +454,7 @@ doc-html-single-docbook: 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
 
@@ -506,6 +508,7 @@ doc-epub-docbook: stamp-epub-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}; \
index 40f00994249d28c13e53e18dc5b798c82cf72002..503a304dfa2a6fe66553e9cc93a6554dffc54f94 100644 (file)
@@ -385,6 +385,7 @@ xml_sources_manual = \
        ${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 \
@@ -396,6 +397,7 @@ xml_sources_manual = \
        ${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 \
@@ -420,7 +422,8 @@ xml_noinst = \
        ${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
@@ -463,6 +466,7 @@ manual_epub = ${docbook_outdir}/epub/libstdc++-manual.epub
 # 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'
@@ -657,7 +661,6 @@ stamp-html-copy: stamp-html-docbook
        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
@@ -818,14 +821,14 @@ doc-xml-single-docbook: stamp-xml-single-docbook
 # 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
 
@@ -834,7 +837,7 @@ doc-html-single-docbook: 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
 
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/PythonPoweredSmall.gif b/libstdc++-v3/doc/html/ext/pb_ds/PythonPoweredSmall.gif
deleted file mode 100644 (file)
index 2689807..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/PythonPoweredSmall.gif and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/acks.html b/libstdc++-v3/doc/html/ext/pb_ds/acks.html
deleted file mode 100644 (file)
index 6612a4a..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-<!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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/assoc_container_tag_cd.png b/libstdc++-v3/doc/html/ext/pb_ds/assoc_container_tag_cd.png
deleted file mode 100644 (file)
index 16cc6da..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/assoc_container_tag_cd.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/assoc_container_tag_cd.svg b/libstdc++-v3/doc/html/ext/pb_ds/assoc_container_tag_cd.svg
deleted file mode 100644 (file)
index 02be624..0000000
+++ /dev/null
@@ -1,491 +0,0 @@
-<?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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/assoc_container_traits.html b/libstdc++-v3/doc/html/ext/pb_ds/assoc_container_traits.html
deleted file mode 100644 (file)
index 7814712..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-<!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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/assoc_design.html b/libstdc++-v3/doc/html/ext/pb_ds/assoc_design.html
deleted file mode 100644 (file)
index 6c501e2..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-<!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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/assoc_examples.html b/libstdc++-v3/doc/html/ext/pb_ds/assoc_examples.html
deleted file mode 100644 (file)
index b64c747..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-<!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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/assoc_performance_tests.html b/libstdc++-v3/doc/html/ext/pb_ds/assoc_performance_tests.html
deleted file mode 100644 (file)
index 642f848..0000000
+++ /dev/null
@@ -1,345 +0,0 @@
-<!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>(&Theta;(log(m) + n<sub>i</sub>)) = &Theta;(log(m) +
-    n)</i>; using 1 with a hash-based container
-    (<tt>std::tr1::unordered_multimap</tt>), the expected cost is
-    <i>&Theta;(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>(&Theta;(log(mn))) = &Theta;(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>&Theta;(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>&Theta;(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>&Theta;(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>&Theta;(n)</i>,
-    but with very high constants; using 1 with a tree-based
-    container, the cost is <i>&Theta;(nlog(mn))</i>. Using 2, 3,
-    and 4, the expected cost is <i>&Theta;(n)</i>, but typically
-    with far lower costs than 1. 5 is similar to 1.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/assoc_regression_tests.html b/libstdc++-v3/doc/html/ext/pb_ds/assoc_regression_tests.html
deleted file mode 100644 (file)
index 9b6b6b8..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-<!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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/assoc_tests.html b/libstdc++-v3/doc/html/ext/pb_ds/assoc_tests.html
deleted file mode 100644 (file)
index 6e44749..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<!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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/associative_container_tag.html b/libstdc++-v3/doc/html/ext/pb_ds/associative_container_tag.html
deleted file mode 100644 (file)
index ceb91cd..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<!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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/balls_and_bins.png b/libstdc++-v3/doc/html/ext/pb_ds/balls_and_bins.png
deleted file mode 100644 (file)
index 529c3ae..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/balls_and_bins.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/basic_hash_table.html b/libstdc++-v3/doc/html/ext/pb_ds/basic_hash_table.html
deleted file mode 100644 (file)
index 668e681..0000000
+++ /dev/null
@@ -1,436 +0,0 @@
-<!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> &amp;
-  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> &amp;
-  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> &amp;
-  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> &amp;
-  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> &amp;
-  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> &amp;
-  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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/basic_hash_tag.html b/libstdc++-v3/doc/html/ext/pb_ds/basic_hash_tag.html
deleted file mode 100644 (file)
index 9dc5e6d..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<!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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/basic_invalidation_guarantee.html b/libstdc++-v3/doc/html/ext/pb_ds/basic_invalidation_guarantee.html
deleted file mode 100644 (file)
index d4a0df2..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/basic_tree.html b/libstdc++-v3/doc/html/ext/pb_ds/basic_tree.html
deleted file mode 100644 (file)
index 3811707..0000000
+++ /dev/null
@@ -1,660 +0,0 @@
-<!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> &amp;
-  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> &amp;
-  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> &amp;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> &amp;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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/basic_tree_assoc_container_const_node_iterator.html b/libstdc++-v3/doc/html/ext/pb_ds/basic_tree_assoc_container_const_node_iterator.html
deleted file mode 100644 (file)
index 5647f55..0000000
+++ /dev/null
@@ -1,383 +0,0 @@
-<!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 &amp;qout;iterator to an iterator&amp;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&lt;
-    <a href=
-"#metadata_type2849297114"><tt>metadata_type</tt></a>&gt;::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> &amp;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> &amp;other) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Compares (negatively) to a different iterator
-          object.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/basic_tree_tag.html b/libstdc++-v3/doc/html/ext/pb_ds/basic_tree_tag.html
deleted file mode 100644 (file)
index 8eca2a8..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<!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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/binary_heap_tag.html b/libstdc++-v3/doc/html/ext/pb_ds/binary_heap_tag.html
deleted file mode 100644 (file)
index 47873b1..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<!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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_gcc.png
deleted file mode 100644 (file)
index 07f0953..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_local.png b/libstdc++-v3/doc/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_local.png
deleted file mode 100644 (file)
index c69cf1e..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_msvc.png
deleted file mode 100644 (file)
index b8a3b23..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/binomial_heap_tag.html b/libstdc++-v3/doc/html/ext/pb_ds/binomial_heap_tag.html
deleted file mode 100644 (file)
index fde6a91..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<!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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_max_collision_check_resize_trigger.html b/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_max_collision_check_resize_trigger.html
deleted file mode 100644 (file)
index a6b512b..0000000
+++ /dev/null
@@ -1,532 +0,0 @@
-<!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> &amp;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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_find_timing_test_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_find_timing_test_gcc.png
deleted file mode 100644 (file)
index 85b9eca..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_find_timing_test_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_find_timing_test_local.png b/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_find_timing_test_local.png
deleted file mode 100644 (file)
index 40404c8..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_find_timing_test_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_find_timing_test_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_find_timing_test_msvc.png
deleted file mode 100644 (file)
index d1234aa..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_find_timing_test_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_gcc.png
deleted file mode 100644 (file)
index 1db2cc0..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_local.png b/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_local.png
deleted file mode 100644 (file)
index bb5f30b..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_msvc.png
deleted file mode 100644 (file)
index 0b51d94..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_gcc.png
deleted file mode 100644 (file)
index 6e49403..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_local.png b/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_local.png
deleted file mode 100644 (file)
index 8dc7735..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_msvc.png
deleted file mode 100644 (file)
index 39c96ad..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_table.html b/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_table.html
deleted file mode 100644 (file)
index 0557732..0000000
+++ /dev/null
@@ -1,724 +0,0 @@
-<!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&lt;<a href="#Key2501"><tt>Key</tt></a>&gt;
-</pre>if using gcc;
-          <pre>
-stdext::hash_value&lt;<a href="#Key2501"><tt>Key</tt></a>&gt;
-</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&lt;<a href="#Key2501"><tt>Key</tt></a>&gt;
-</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>&lt;
-  <a href="hash_exponential_size_policy.html"><span class=
-"c2"><tt>hash_exponential_size_policy</tt></span></a>&lt;
-    <b>typename</b> <a href=
-"#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn</tt></a>::size_type&gt;,
-  <a href="hash_load_check_resize_trigger.html"><span class=
-"c2"><tt>hash_load_check_resize_trigger</tt></span></a>&lt;
-    <b>typename</b> <a href=
-"#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn</tt></a>::size_type&gt;,
-  <b>false</b>,
-  <b>typename</b> <a href=
-"#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn</tt></a>::size_type&gt;
-</pre>otherwise,
-          <pre>
-<a href="hash_standard_resize_policy.html"><span class=
-"c2"><tt>hash_standard_resize_policy</tt></span></a>&lt;
-  <a href="hash_exponential_size_policy.html"><span class=
-"c2"><tt>hash_exponential_size_policy</tt></span></a>&lt;
-    <b>typename</b> <a href=
-"#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn</tt></a>::size_type&gt;,
-  <a href="hash_load_check_resize_trigger.html"><span class=
-"c2"><tt>hash_load_check_resize_trigger</tt></span></a>&lt;
-    <b>typename</b> <a href=
-"#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn</tt></a>::size_type&gt;,
-  <b>false</b>,
-  <b>typename</b> <a href=
-"#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn</tt></a>::size_type&gt;
-</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&lt;<b>char</b>&gt;
-</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> &amp;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> &amp;r_hash_fn, 
-    <b>const</b> <a href=
-"#eq_fn80245"><tt>eq_fn</tt></a> &amp;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> &amp;r_hash_fn, 
-    <b>const</b> <a href=
-"#eq_fn80245"><tt>eq_fn</tt></a> &amp;r_eq_fn, 
-    <b>const</b> <a href=
-"#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a> &amp;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> &amp;r_hash_fn, 
-    <b>const</b> <a href=
-"#eq_fn80245"><tt>eq_fn</tt></a> &amp;r_eq_fn, 
-    <b>const</b> <a href=
-"#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a> &amp;r_comb_hash_fn, 
-    <b>const</b> <a href=
-"#resize_policy4084493169"><tt>resize_policy</tt></a> &amp;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>&lt;
-    <b>class</b> It&gt;
-  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>&lt;
-    <b>class</b> It&gt;
-  cc_hash_table
-  (It first_it, 
-    It last_it,
-    <b>const</b> <a href=
-"#hash_fn2015995"><tt>hash_fn</tt></a> &amp;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>&lt;
-    <b>class</b> It&gt;
-  cc_hash_table
-  (It first_it, 
-    It last_it,
-    <b>const</b> <a href=
-"#hash_fn2015995"><tt>hash_fn</tt></a> &amp;r_hash_fn, 
-    <b>const</b> <a href=
-"#eq_fn80245"><tt>eq_fn</tt></a> &amp;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>&lt;
-    <b>class</b> It&gt;
-  cc_hash_table
-  (It first_it, 
-    It last_it,
-    <b>const</b> <a href=
-"#hash_fn2015995"><tt>hash_fn</tt></a> &amp;r_hash_fn, 
-    <b>const</b> <a href=
-"#eq_fn80245"><tt>eq_fn</tt></a> &amp;r_eq_fn, 
-    <b>const</b> <a href=
-"#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a> &amp;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>&lt;
-    <b>class</b> It&gt;
-  cc_hash_table
-  (It first_it, 
-    It last_it,
-    <b>const</b> <a href=
-"#hash_fn2015995"><tt>hash_fn</tt></a> &amp;r_hash_fn, 
-    <b>const</b> <a href=
-"#eq_fn80245"><tt>eq_fn</tt></a> &amp;r_eq_fn, 
-    <b>const</b> <a href=
-"#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a> &amp;r_comb_hash_fn, 
-    <b>const</b> <a href=
-"#resize_policy4084493169"><tt>resize_policy</tt></a> &amp;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> &amp;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> &amp;
-  <b>operator</b>=
-  (<b>const</b> <span class=
-"c2"><tt>cc_hash_table</tt></span> &amp;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> &amp;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> &amp;
-  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> &amp;
-  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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_tag.html b/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_tag.html
deleted file mode 100644 (file)
index 1923e20..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<!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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_gcc.png
deleted file mode 100644 (file)
index fde6b41..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_local.png b/libstdc++-v3/doc/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_local.png
deleted file mode 100644 (file)
index 2b8c0e7..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_msvc.png
deleted file mode 100644 (file)
index 11dca77..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/checked_by_tidy.gif b/libstdc++-v3/doc/html/ext/pb_ds/checked_by_tidy.gif
deleted file mode 100644 (file)
index 47c2c48..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/checked_by_tidy.gif and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/concepts.html b/libstdc++-v3/doc/html/ext/pb_ds/concepts.html
deleted file mode 100644 (file)
index 9f6c224..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-<!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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/contact.html b/libstdc++-v3/doc/html/ext/pb_ds/contact.html
deleted file mode 100644 (file)
index 3d506c9..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<!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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/container_base.html b/libstdc++-v3/doc/html/ext/pb_ds/container_base.html
deleted file mode 100644 (file)
index 359e024..0000000
+++ /dev/null
@@ -1,1063 +0,0 @@
-<!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&lt;
-    <a href="#Key2501"><tt>Key</tt></a>&gt;::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&lt;
-    <a href=
-"#key_type10393186"><tt>key_type</tt></a>&gt;::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&lt;
-    <a href=
-"#key_type10393186"><tt>key_type</tt></a>&gt;::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&lt;
-    <a href=
-"#key_type10393186"><tt>key_type</tt></a>&gt;::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&lt;
-    <a href=
-"#key_type10393186"><tt>key_type</tt></a>&gt;::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>Description</b></td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="mapped_type1308374436" id=
-"mapped_type1308374436">mapped_type</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#Mapped318655"><tt>Mapped</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p><a href="#Mapped318655"><tt>Mapped</tt></a> type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="mapped_reference4153801225" id=
-"mapped_reference4153801225">mapped_reference</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind&lt;
-    <a href=
-"#mapped_type1308374436"><tt>mapped_type</tt></a>&gt;::other::reference
-</pre>
-        </td>
-
-        <td>
-          <p><a href="#Mapped318655"><tt>Mapped</tt></a> reference
-          type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="const_mapped_reference2113216667" id=
-"const_mapped_reference2113216667">const_mapped_reference</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind&lt;
-    <a href=
-"#mapped_type1308374436"><tt>mapped_type</tt></a>&gt;::other::const_reference
-</pre>
-        </td>
-
-        <td>
-          <p>Const mapped reference type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="mapped_pointer337953771" id=
-"mapped_pointer337953771">mapped_pointer</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind&lt;
-    <a href=
-"#mapped_type1308374436"><tt>mapped_type</tt></a>&gt;::other::pointer
-</pre>
-        </td>
-
-        <td>
-          <p><a href="#Mapped318655"><tt>Mapped</tt></a> pointer
-          type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="const_mapped_pointer4207700301" id=
-"const_mapped_pointer4207700301">const_mapped_pointer</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind&lt;
-    <a href=
-"#mapped_type1308374436"><tt>mapped_type</tt></a>&gt;::other::const_pointer
-</pre>
-        </td>
-
-        <td>
-          <p>Const mapped pointer type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link8" id="link8">Value-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="value_type279018186" id=
-"value_type279018186">value_type</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<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 <a href=
-"#Key2501"><tt>Key</tt></a><br />
-Otherwise, <a href="#Mapped318655"><tt>Mapped</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Value type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="reference54418471" id="reference54418471">reference</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind&lt;
-    <a href=
-"#value_type279018186"><tt>value_type</tt></a>&gt;::other::reference
-</pre>
-        </td>
-
-        <td>
-          <p>Value reference type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="const_reference495461441" id=
-"const_reference495461441">const_reference</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind&lt;
-    <a href=
-"#value_type279018186"><tt>value_type</tt></a>&gt;::other::const_reference
-</pre>
-        </td>
-
-        <td>
-          <p>Const value <a href=
-          "#reference54418471"><tt>reference</tt></a> type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="pointer2179769" id="pointer2179769">pointer</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind&lt;
-    <a href=
-"#value_type279018186"><tt>value_type</tt></a>&gt;::other::pointer
-</pre>
-        </td>
-
-        <td>
-          <p>Value pointer type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="const_pointer878814947" id=
-"const_pointer878814947">const_pointer</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind&lt;
-    <a href=
-"#value_type279018186"><tt>value_type</tt></a>&gt;::other::const_pointer
-</pre>
-        </td>
-
-        <td>
-          <p>Const Value <a href=
-          "#pointer2179769"><tt>pointer</tt></a> type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link9" id="link9">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_point_iterator2364676009" id=
-"const_point_iterator2364676009">const_point_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-Const point-type iterator.
-</pre>
-        </td>
-
-        <td>
-          <p>Const point-type iterator.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="point_iterator2789896775" id=
-"point_iterator2789896775">point_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<br />
-Point-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_point_iterator2364676009"><tt>const_point_iterator</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Point-type iterator.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="const_iterator98626788" id=
-"const_iterator98626788">const_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-Const range-type 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>
-<br />
-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_iterator98626788"><tt>const_iterator</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Range-type iterator.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link10" id="link10">Public Methods</a></h2>
-
-    <h3><a name="link11" id="link11">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> 
-  ~container_base
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Destructor.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link12" id="link12">Information 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>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a>
-  size
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the number of distinct <a href=
-          "#value_type279018186"><tt>value_type</tt></a> objects
-          the container object is storing.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a>
-  max_size
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns an upper bound on the number of distinct
-          <a href="#value_type279018186"><tt>value_type</tt></a>
-          objects this container can store.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <b>bool</b>
-  empty
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns whether the container object is not storing
-          any <a href=
-          "#value_type279018186"><tt>value_type</tt></a>
-          objects.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link13" id="link13">Insert 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>
-std::pair&lt;<a href=
-"#point_iterator2789896775"><tt>point_iterator</tt></a>, <b>bool</b>&gt;
-  insert
-  (<a href=
-"#const_reference495461441"><tt>const_reference</tt></a> r_val)
-</pre>
-        </td>
-
-        <td>
-          <p>Inserts a <a href=
-          "#value_type279018186"><tt>value_type</tt></a> object. If
-          no <a href="#value_type279018186"><tt>value_type</tt></a>
-          with <span class="c1"><tt>r_val</tt></span>'s key was in
-          the container object, inserts and returns (<a href=
-          "#point_iterator2789896775"><tt>point_iterator</tt></a>
-          object associated with <span class=
-          "c1"><tt>r_val</tt></span>, <tt><b>true</b></tt>);
-          otherwise just returns (<a href=
-          "#point_iterator2789896775"><tt>point_iterator</tt></a>
-          object associated with <span class=
-          "c1"><tt>r_val</tt></span>'s key,
-          <tt><b>false</b></tt>).</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a href="#mapped_reference4153801225"><tt>mapped_reference</tt></a>
-  <b>operator</b>[]
-  (<a href=
-"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key)
-</pre>
-        </td>
-
-        <td>
-          <p>Subscript operator.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link14" id="link14">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="#point_iterator2789896775"><tt>point_iterator</tt></a> 
-  find
-  (<a href=
-"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key)
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the <a href=
-          "#point_iterator2789896775"><tt>point_iterator</tt></a>
-          corresponding to the <a href=
-          "#value_type279018186"><tt>value_type</tt></a> with
-          <span class="c1"><tt>r_key</tt></span> as its key, or the
-          <a href=
-          "#point_iterator2789896775"><tt>point_iterator</tt></a>
-          corresponding to the just-after-last entry if no such
-          <a href=
-          "#value_type279018186"><tt>value_type</tt></a>.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a href=
-"#const_point_iterator2364676009"><tt>const_point_iterator</tt></a> 
-  find
-  (<a href=
-"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the <a href=
-          "#const_point_iterator2364676009"><tt>const_point_iterator</tt></a>
-          corresponding to the <a href=
-          "#value_type279018186"><tt>value_type</tt></a> with
-          <span class="c1"><tt>r_key</tt></span> as its key, or the
-          <a href=
-          "#const_point_iterator2364676009"><tt>const_point_iterator</tt></a>
-          corresponding to the just-after-last entry if no such
-          <a href=
-          "#value_type279018186"><tt>value_type</tt></a>.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link15" id="link15">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>
-<b>bool</b>
-  erase
-  (<a href=
-"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key)
-</pre>
-        </td>
-
-        <td>
-          <p>Erases the <a href=
-          "#value_type279018186"><tt>value_type</tt></a> associated
-          with <span class="c1"><tt>r_key</tt></span>. returns
-          <tt><b>false</b></tt> iff <span class=
-          "c1"><tt>r_key</tt></span> was not contained.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>template</b>&lt;
-  <b>class</b> Pred&gt;
-<a href="#size_type55424436"><tt>size_type</tt></a> 
-  erase_if
-  (Pred prd)
-</pre>
-        </td>
-
-        <td>
-          <p>Erases any <a href=
-          "#value_type279018186"><tt>value_type</tt></a> satisfying
-          the predicate <span class="c1"><tt>prd</tt></span> (this
-          is transactional, either all matching <a href=
-          "#value_type279018186"><tt>value_type</tt></a>s are
-          erased, or, if an exception is thrown (for types whose
-          erase can throw an exception) none); returns the number
-          of <a href=
-          "#value_type279018186"><tt>value_type</tt></a>s
-          erased.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>void</b> 
-  clear
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Clears the container object.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link16" id="link16">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="#iterator10418194"><tt>iterator</tt></a>
-  begin
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Returns an <a href=
-          "#iterator10418194"><tt>iterator</tt></a> corresponding
-          to the first <a href=
-          "#value_type279018186"><tt>value_type</tt></a> in the
-          container.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a href="#const_iterator98626788"><tt>const_iterator</tt></a>
-  begin
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns a <a href=
-          "#const_iterator98626788"><tt>const_iterator</tt></a>
-          corresponding to the first <a href=
-          "#value_type279018186"><tt>value_type</tt></a> in the
-          container.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a href="#iterator10418194"><tt>iterator</tt></a>
-  end
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Returns an <a href=
-          "#iterator10418194"><tt>iterator</tt></a> corresponding
-          to the just-after-last <a href=
-          "#value_type279018186"><tt>value_type</tt></a> in the
-          container.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a href="#const_iterator98626788"><tt>const_iterator</tt></a>
-  end
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns a <a href=
-          "#const_iterator98626788"><tt>const_iterator</tt></a>
-          corresponding to the just-after-last <a href=
-          "#value_type279018186"><tt>value_type</tt></a> in the
-          container.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/container_cd.png b/libstdc++-v3/doc/html/ext/pb_ds/container_cd.png
deleted file mode 100644 (file)
index 5255327..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/container_cd.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/container_cd.svg b/libstdc++-v3/doc/html/ext/pb_ds/container_cd.svg
deleted file mode 100644 (file)
index 3b5a981..0000000
+++ /dev/null
@@ -1,418 +0,0 @@
-<?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/current/pb_ds/doc"
-   sodipodi:docname="container_cd.svg"
-   inkscape:export-filename="/mnt/share/src/policy_based_data_structures/current/pb_ds/doc/container_cd.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="396.81316"
-     inkscape:cy="280"
-     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="388"
-       id="guide3328" />
-    <sodipodi:guide
-       orientation="vertical"
-       position="711.5"
-       id="guide3340" />
-  </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
-       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
-       y="382.56177"
-       x="425.57761"
-       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" />
-    <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
-       sodipodi:linespacing="100%"
-       id="use1329"
-       y="397.09772"
-       x="497.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:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
-       xml:space="preserve"><tspan
-         sodipodi:role="line"
-         id="tspan1703"
-         x="497.20001"
-         y="397.09772">list_update</tspan><tspan
-         sodipodi:role="line"
-         id="tspan1705"
-         x="497.20001"
-         y="406.69772" /></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="712.40002"
-       y="397.09772"
-       id="use1337"
-       sodipodi:linespacing="100%"><tspan
-         sodipodi:role="line"
-         id="tspan1707"
-         x="712.40002"
-         y="397.09772">basic_hash_table</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:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
-       x="282"
-       y="397.09772"
-       id="text1339"
-       sodipodi:linespacing="100%"><tspan
-         sodipodi:role="line"
-         id="tspan1701"
-         x="282"
-         y="397.09772">basic_tree</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" />
-    <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
-       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="tspan1715"
-         x="171.20001"
-         y="486.29773">tree</tspan><tspan
-         sodipodi:role="line"
-         id="tspan1717"
-         x="171.20001"
-         y="495.89773" /></text>
-    <text
-       sodipodi:linespacing="100%"
-       id="text3400"
-       y="486.29773"
-       x="386.39999"
-       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"
-       xml:space="preserve"><tspan
-         sodipodi:role="line"
-         id="tspan1709"
-         x="386.39999"
-         y="486.29773">trie</tspan><tspan
-         sodipodi:role="line"
-         id="tspan1711"
-         x="386.39999"
-         y="495.89773" /></text>
-    <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="tspan1713"
-         x="601.20001"
-         y="486.29773">cc_hash_table</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: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="tspan1719"
-         x="818"
-         y="486.29773">gp_hash_table</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="497.20001"
-       y="307.09772"
-       id="text1323"
-       sodipodi:linespacing="100%"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90"
-       inkscape:export-filename="/mnt/share/src/policy_based_data_structures/pb_ds_images/container_diagram.png"><tspan
-         sodipodi:role="line"
-         id="tspan1369"
-         x="497.20001"
-         y="307.09772">container_base</tspan></text>
-    <path
-       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:0.97031623px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       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" />
-    <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:0.97031623px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
-    <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.3682909px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
-    <path
-       id="path3347"
-       d="M 497.75146,383.49616 L 497.75146,322.77107"
-       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" />
-  </g>
-</svg>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/container_tag.html b/libstdc++-v3/doc/html/ext/pb_ds/container_tag.html
deleted file mode 100644 (file)
index de187a9..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<!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>container _tag Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>container _tag</tt> Interface</h1>
-
-    <p>Basic 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>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/counter_lu_policy.html b/libstdc++-v3/doc/html/ext/pb_ds/counter_lu_policy.html
deleted file mode 100644 (file)
index d9d5112..0000000
+++ /dev/null
@@ -1,259 +0,0 @@
-<!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>counter_lu_policy Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>counter_lu_policy</tt> Interface</h1>
-
-    <p>A list-update policy that moves elements to the front of the
-    list based on the counter algorithm.</p>
-
-    <p>Defined in: <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/list_update_policy.hpp"><tt>list_update_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="Max_Count39887466" id=
-"Max_Count39887466">size_t Max_Count </a>
-</pre>
-        </td>
-
-        <td>
-          <p>Maximum count.</p>
-
-          <p>When some element is accessed this number of times, it
-          will be moved to the front of the list.</p>
-        </td>
-
-        <td>5</td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="Allocator35940069" id=
-"Allocator35940069"><b>class</b> Allocator </a>
-</pre>
-        </td>
-
-        <td>
-          <p>Allocator type.</p>
-
-          <p>This is used only for definitions, e.g., the size
-          type.</p>
-        </td>
-
-        <td>
-          <pre>
-std::allocator&lt;<b>char</b>&gt;
-</pre>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link2" id="link2">Public Types and
-    Constants</a></h2>
-
-    <h3><a name="link3" id="link3">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>
-
-      <tr>
-        <td>
-          <pre>
-<a name="max_count52407466" id="max_count52407466">max_count</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#Max_Count39887466"><tt>Max_Count</tt></a>
-}
-</pre>
-        </td>
-
-        <td>
-          <p>Maximum count.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link4" id="link4">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>
-<b>typename</b> <a href=
-"#allocator48440069"><tt>allocator</tt></a>::size_type
-</pre>
-        </td>
-
-        <td>
-          <p>Size type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link5" id="link5">Metadata-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="metadata_type2849297114" id=
-"metadata_type2849297114">metadata_type</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-Some class containing a counter.
-</pre>
-        </td>
-
-        <td>
-          <p>Metadata on which this functor operates.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="metadata_reference583863863" id=
-"metadata_reference583863863">metadata_reference</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#Allocator35940069"><tt>Allocator</tt></a>::<b>template</b> rebind&lt;
-    <a href=
-"#metadata_type2849297114"><tt>metadata_type</tt></a>&gt;::other::reference
-</pre>
-        </td>
-
-        <td>
-          <p>Reference to metadata on which this functor
-          operates.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link6" id="link6">Public Methods</a></h2>
-
-    <h3><a name="link7" id="link7">Metadata 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="#metadata_type2849297114"><tt>metadata_type</tt></a>
-  <b>operator</b>()
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Creates a metadata object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>bool</b> 
-  <b>operator</b>()
-  (<a href=
-"#metadata_reference583863863"><tt>metadata_reference</tt></a> r_metadata) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Decides whether a metadata object should be moved to
-          the front of the list.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/design.html b/libstdc++-v3/doc/html/ext/pb_ds/design.html
deleted file mode 100644 (file)
index e83bd4d..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-<!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>Design</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1>Design</h1>
-
-    <p>The <tt>pb_ds</tt> namespace contains:</p>
-
-    <ol>
-      <li>Exception classes (see <a href=
-      "interface.html#exceptions_common">Interface::Exceptions::Common</a>)</li>
-
-      <li>Invalidation-guarantee tags (see <a href=
-      "ds_gen.html#inv_guar">Design::Invalidation Guarantees</a>
-      and <a href=
-      "interface.html#ds_inv_tag">Interface::Data-Structure Tags
-      and Traits::Invalidation-Guarantee Tags</a>).</li>
-
-      <li>Associative Containers (see <a href=
-      "tree_based_containers.html">Design::Associative
-      Containers::Tree-Based Containers</a>, <a href=
-      "trie_based_containers.html">Design::Associative
-      Containers::Trie-Based Containers</a>, <a href=
-      "hash_based_containers.html">Design::Associative
-      Containers::Hash-Based Containers</a>, and <a href=
-      "lu_based_containers.html">Design::Associative
-      Containers::List-Based Containers</a>, and <a href=
-      "interface.html#containers_assoc">Interface::Containers::Associative
-      Containers</a>).</li>
-
-      <li>Associative Container tags and traits
-      (see <a href="ds_gen.html">Design::Associative
-      Containers::Data-Structure Genericity</a>, <a href=
-      "interface.html#ds_ts_assoc">Interface::Data-Structure Tags
-      and Traits::Data-Structure Tags::Associative-Containers</a>,
-      and <a href=
-      "interface.html#container_traits">Interface::Data-Structure Tags and
-      Traits::Data-Structure
-      Traits::Associative-Containers</a>).</li>
-
-     <li>Associative Container policies (see
-      <a href="tree_based_containers.html">Design::Associative
-      Containers::Tree-Based Containers</a>, <a href=
-      "trie_based_containers.html">Design::Associative
-      Containers::Trie-Based Containers</a>, <a href=
-      "hash_based_containers.html">Design::Associative
-      Containers::Hash-Based Containers</a>, and <a href=
-      "lu_based_containers.html">Design::Associative
-      Containers::List-Based Containers</a>, and <a href=
-      "interface.html#ds_policy_classes">Interface::Container
-      Policy Classes</a>).</li>
-
-
-      <li>Mapped types for setting the mapping semantics of
-      associative containers (see <a href=
-      "tutorial.html#assoc_ms">Tutorial::Associative
-      Containers::Associative Containers Others than Maps</a> and
-      <a href="interface.html#ds_pol">Interface::Mapped-Type
-      Policies</a>).</li>
-
-
-      <li>Priority Queues (see <a href="pq_design.html">Design::Priority
-      Queues</a> and <a href=
-      "interface.html#containers_pq">Interface::Containers::Priority
-      Queues</a>).</li>
-
-      <li>Priority Queue tags and traits
-      (see <a href="pq_design.html#pq_traits">Design::Priority
-      Queues::Traits</a>, <a href=
-      "interface.html#ds_ts_pq">Interface::Data-Structure Tags and
-      Traits::Data-Structure Tags::Priority Queues</a>, and
-      <a href="interface.html#container_traits">Interface::Data-Structure
-      Tags and Traits::Data-Structure Traits::Priority
-      Queues</a>).</li>
-   </ol>
-
-
-    <p><a href="assoc_design.html">Associative-Container Design</a>
-    describes associative-container design.</p>
-
-    <p><a href="pq_design.html">Priority-Queue Design</a> describes
-    priority-queue design.</p>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/different_underlying_dss.png b/libstdc++-v3/doc/html/ext/pb_ds/different_underlying_dss.png
deleted file mode 100644 (file)
index adee126..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/different_underlying_dss.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/direct_mask_range_hashing.html b/libstdc++-v3/doc/html/ext/pb_ds/direct_mask_range_hashing.html
deleted file mode 100644 (file)
index 19f8621..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-<!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>direct_mask_range_hashing Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>direct_mask_range_hashing</tt> Interface</h1>
-
-    <p>A mask range-hashing class (uses a bit-mask).</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="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>
-    </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>
-<b>void</b>
-  swap
-  (<span class=
-"c2"><tt>direct_mask_range_hashing</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Swaps content.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link6" id="link6">Protected Methods</a></h2>
-
-    <h3><a name="link7" id="link7">Notification 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> 
-  notify_resized
-  (<a href="#size_type55424436"><tt>size_type</tt></a> size)
-</pre>
-        </td>
-
-        <td>
-          <p>Notifies the policy object that the container's size
-          has changed to <span class="c1"><tt>size</tt></span>.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link8" id="link8">Operators.</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>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a>
-  <b>operator</b>()
-  (<a href=
-"#size_type55424436"><tt>size_type</tt></a> hash) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Transforms the hash value <span class=
-          "c1"><tt>hash</tt></span> into a ranged-hash value (using
-          a bit-mask).</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/direct_mod_range_hashing.html b/libstdc++-v3/doc/html/ext/pb_ds/direct_mod_range_hashing.html
deleted file mode 100644 (file)
index f3f9295..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-<!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>direct_mod_range_hashing Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>direct_mod_range_hashing</tt> Interface</h1>
-
-    <p>A mod range-hashing class (uses the modulo function).</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="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>
-    </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>
-<b>void</b>
-  swap
-  (<span class=
-"c2"><tt>direct_mod_range_hashing</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Swaps content.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link6" id="link6">Protected Methods</a></h2>
-
-    <h3><a name="link7" id="link7">Notification Methods</a></h3>
-
-    <h3><a name="link8" id="link8">Operators.</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>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a>
-  <b>operator</b>()
-  (<a href=
-"#size_type55424436"><tt>size_type</tt></a> hash) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Transforms the hash value <span class=
-          "c1"><tt>hash</tt></span> into a ranged-hash value (using
-          a modulo operation).</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/disclaimer.html b/libstdc++-v3/doc/html/ext/pb_ds/disclaimer.html
deleted file mode 100644 (file)
index 681af4e..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<!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>What, me worry?</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h2>Disclaimer and Copyright</h2>
-
-    <p>Revised 16 February, 2004</p>&copy; Copyright Ami Tavory and
-    Vladimir Dreizin, IBM-HRL, 2004, and Benjamin Kosnik, Red Hat,
-    2004.
-
-    <p>Permission to use, copy, modify, sell, and distribute this
-    software is hereby granted without fee, provided that the above
-    copyright notice appears in all copies, and that both that
-    copyright notice and this permission notice appear in
-    supporting documentation.</p>
-
-    <p>None of the above authors, nor IBM Haifa Research
-    Laboratories, Red Hat, or both, make any representation about
-    the suitability of this software for any purpose. It is
-    provided "as is" without express or implied warranty.</p>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/ds_gen.html b/libstdc++-v3/doc/html/ext/pb_ds/ds_gen.html
deleted file mode 100644 (file)
index ec99c4d..0000000
+++ /dev/null
@@ -1,344 +0,0 @@
-<!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>Data-Structure Genericity</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1>Data-Structure Genericity</h1>
-
-    <h2><a name="problem" id="problem">The Basic Problem</a></h2>
-
-    <p>The design attempts to address the following problem. When
-    writing a function manipulating a generic container object,
-    what is the behavior of the object? <i>E.g.</i>, suppose one
-    writes</p>
-    <pre>
-<b>template</b>&lt;<b>typename</b> Cntnr&gt;
-<b>void</b>
-some_op_sequence(Cntnr &amp;r_container)
-{
-    ...
-}
-</pre>then one needs to address the following questions in the body
-of <tt>some_op_sequence</tt>:
-
-    <ol>
-      <li>Which types and methods does <tt>Cntnr</tt> support?
-      Containers based on hash tables can be queries for the
-      hash-functor type and object; this is meaningless for
-      tree-based containers. Containers based on trees can be
-      split, joined, or can erase iterators and return the
-      following iterator; this cannot be done by hash-based
-      containers.</li>
-
-      <li>What are the guarantees of <tt>Cntnr</tt>? A container
-      based on a probing hash-table invalidates all iterators when
-      it is modified; this is not the case for containers based on
-      node-based trees. Containers based on a node-based tree can
-      be split or joined without exceptions; this is not the case
-      for containers based on vector-based trees.</li>
-
-      <li>How does the container maintain its elements? Tree-based
-      and Trie-based containers store elements by key order;
-      others, typically, do not. A container based on a splay trees
-      or lists with update policies "cache" "frequently accessed"
-      elements; containers based on most other underlying
-      data structures do not.</li>
-    </ol>
-
-    <p>The remainder of this section deals with these issues.</p>
-
-    <h2><a name="ds_hierarchy" id="ds_hierarchy">Container
-    Hierarchy</a></h2>
-
-    <p>Figure <a href="#cd">Container class hierarchy</a> shows the
-    container hierarchy.</p>
-
-    <h6 class="c1"><a name="cd" id="cd"><img src="container_cd.png" alt=
-    "no image" /></a></h6>
-
-    <h6 class="c1">Container class hierarchy.</h6>
-
-    <ol>
-      <li><a href=
-      "container_base.html"><tt>container_base</tt></a> is an
-      abstract base class for associative containers.</li>
-
-      <li>Tree-Like-Based Associative-Containers:
-
-        <ol>
-          <li><a href=
-          "basic_tree.html"><tt>basic_tree</tt></a>
-          is an abstract base class for tree-like-based
-          associative-containers</li>
-
-          <li><a href=
-          "tree.html"><tt>tree</tt></a>
-          is a concrete base class for tree-based
-          associative-containers</li>
-
-          <li><a href=
-          "trie.html"><tt>trie</tt></a>
-          is a concrete base class trie-based
-          associative-containers</li>
-        </ol>
-      </li>
-
-      <li>Hash-Based Associative-Containers:
-
-        <ol>
-          <li><a href=
-          "basic_hash_table.html"><tt>basic_hash_table</tt></a>
-          is an abstract base class for hash-based
-          associative-containers</li>
-
-          <li><a href=
-          "cc_hash_table.html"><tt>cc_hash_table</tt></a>
-          is a concrete collision-chaining hash-based
-          associative-containers</li>
-
-          <li><a href=
-          "gp_hash_table.html"><tt>gp_hash_table</tt></a>
-          is a concrete (general) probing hash-based
-          associative-containers</li>
-        </ol>
-      </li>
-
-      <li>List-Based Associative-Containers:
-
-        <ol>
-          <li><a href=
-          "list_update.html"><tt>list_update</tt></a> -
-          list-based update-policy associative container</li>
-        </ol>
-      </li>
-    </ol>
-
-    <p>The hierarchy is composed naturally so that commonality is
-    captured by base classes. Thus <tt><b>operator[]</b></tt> is
-    defined <a href=
-    "container_base.html"><tt>container_base</tt></a>, since
-    all containers support it. Conversely <tt>split</tt> is defined
-    in <a href=
-    "basic_tree.html"><tt>basic_tree</tt></a>,
-    since only tree-like containers support it. <a href=
-    "#container_traits">Data-Structure Tags and Traits</a> discusses how
-    to query which types and methods each container supports.</p>
-
-    <h2><a name="container_traits" id="container_traits">Data-Structure Tags and
-    Traits</a></h2>
-
-    <p>Tags and traits are very useful for manipulating generic
-    types. For example, if <tt>It</tt> is an iterator class, then
-    <tt><b>typename</b> It::iterator_category</tt> or
-    <tt><b>typename</b>
-    std::iterator_traits&lt;It&gt;::iterator_category</tt> will
-    yield its category, and <tt><b>typename</b>
-    std::iterator_traits&lt;It&gt;::value_type</tt> will yield its
-    value type.</p>
-
-    <p><tt>pb_ds</tt> contains a tag hierarchy corresponding to the
-    hierarchy in Figure <a href="#cd">Class hierarchy</a>. The tag
-    hierarchy is shown in Figure <a href=
-    "#tag_cd">Data-structure tag class hierarchy</a>.</p>
-
-    <h6 class="c1"><a name="tag_cd" id="tag_cd"><img src=
-    "assoc_container_tag_cd.png" alt="no image" /></a></h6>
-
-    <h6 class="c1">Data-structure tag class hierarchy.</h6>
-
-    <p><a href=
-    "container_base.html"><tt>container_base</tt></a>
-    publicly defines <tt>container_category</tt> as one of the classes in
-    Figure <a href="#tag_cd">Data-structure tag class
-    hierarchy</a>. Given any container <tt>Cntnr</tt>, the tag of
-    the underlying data structure can be found via
-    <tt><b>typename</b> Cntnr::container_category</tt>.</p>
-
-    <p>Additionally, a traits mechanism can be used to query a
-    container type for its attributes. Given any container
-    <tt>Cntnr</tt>, then <tt><a href=
-    "assoc_container_traits.html">__gnu_pbds::container_traits</a>&lt;Cntnr&gt;</tt>
-    is a traits class identifying the properties of the
-    container.</p>
-
-    <p>To find if a container can throw when a key is erased (which
-    is true for vector-based trees, for example), one can
-    use</p><a href=
-    "assoc_container_traits.html"><tt>container_traits</tt></a><tt>&lt;Cntnr&gt;::erase_can_throw</tt>,
-    for example.
-
-    <p>Some of the definitions in <a href=
-    "assoc_container_traits.html"><tt>container_traits</tt></a> are
-    dependent on other definitions. <i>E.g.</i>, if <a href=
-    "assoc_container_traits.html"><tt>container_traits</tt></a><tt>&lt;Cntnr&gt;::order_preserving</tt>
-    is <tt><b>true</b></tt> (which is the case for containers based
-    on trees and tries), then the container can be split or joined;
-    in this case, <a href=
-    "assoc_container_traits.html"><tt>container_traits</tt></a><tt>&lt;Cntnr&gt;::split_join_can_throw</tt>
-    indicates whether splits or joins can throw exceptions (which
-    is true for vector-based trees); otherwise <a href=
-    "assoc_container_traits.html"><tt>container_traits</tt></a><tt>&lt;Cntnr&gt;::split_join_can_throw</tt>
-    will yield a compilation error. (This is somewhat similar to a
-    compile-time version of the COM model [<a href=
-    "references.html#mscom">mscom</a>]).</p>
-
-    <h2><a name="find_range" id="find_range">Point-Type and
-    Range-Type Methods and Iterators</a></h2>
-
-    <h3><a name="it_unordered" id="it_unordered">Iterators in
-    Unordered Container Types</a></h3>
-
-    <p><tt>pb_ds</tt> differentiates between two types of methods
-    and iterators: point-type methods and iterators, and range-type
-    methods and iterators (see <a href=
-    "motivation.html#assoc_diff_it">Motivation::Associative
-    Containers::Differentiating between Iterator Types</a> and
-    <a href="tutorial.html#assoc_find_range">Tutorial::Associative
-    Containers::Point-Type and Range-Type Methods and
-    Iterators</a>). Each associative container's interface includes
-    the methods:</p>
-    <pre>
-const_point_iterator
-find(const_key_reference r_key) const;                
-
-point_iterator
-find(const_key_reference r_key);         
-    
-std::pair&lt;point_iterator,<b>bool</b>&gt;
-insert(const_reference r_val);
-</pre>
-
-    <p>The relationship between these iterator types varies between
-    container types. Figure <a href=
-    "#point_iterators_cd">Point-type and range-type iterators</a>-A
-    shows the most general invariant between point-type and
-    range-type iterators: <tt>iterator</tt>, <i>e.g.</i>, can
-    always be converted to <tt>point_iterator</tt>. Figure <a href=
-    "#point_iterators_cd">Point-type and range-type iterators</a>-B
-    shows invariants for order-preserving containers: point-type
-    iterators are synonymous with range-type iterators.
-    Orthogonally, Figure <a href="#point_iterators_cd">Point-type
-    and range-type iterators</a>-C shows invariants for "set"
-    containers: iterators are synonymous with const iterators.</p>
-
-    <h6 class="c1"><a name="point_iterators_cd" id=
-    "point_iterators_cd"><img src="point_iterators_cd.png" alt=
-    "no image" /></a></h6>
-
-    <h6 class="c1">Point-type and range-type iterators.</h6>
-
-    <p>Note that point-type iterators in self-organizing containers
-    (<i>e.g.</i>, hash-based associative containers) lack movement
-    operators, such as <tt><b>operator++</b></tt> - in fact, this
-    is the reason why <tt>pb_ds</tt> differentiates from the STL's
-    design on this point.</p>
-
-    <p>Typically, one can determine an iterator's movement
-    capabilities in the STL using
-    <tt>std::iterator_traits&lt;It&gt;iterator_category</tt>, which
-    is a <tt><b>struct</b></tt> indicating the iterator's movement
-    capabilities. Unfortunately, none of the STL's predefined
-    categories reflect a pointer's <u>not</u> having any movement
-    capabilities whatsoever. Consequently, <tt>pb_ds</tt> adds a
-    type <a href=
-    "trivial_iterator_tag.html"><tt>trivial_iterator_tag</tt></a>
-    (whose name is taken from a concept in [<a href=
-    "references.html#sgi_stl">sgi_stl</a>]), which is the category
-    of iterators with no movement capabilities. All other STL tags,
-    such as <tt>forward_iterator_tag</tt> retain their common
-    use.</p>
-
-    <h3><a name="inv_guar" id="inv_guar">Invalidation
-    Guarantees</a></h3>
-
-    <p><a href=
-    "motivation.html#assoc_inv_guar">Motivation::Associative
-    Containers::Differentiating between Iterator
-    Types::Invalidation Guarantees</a> posed a problem. Given three
-    different types of associative containers, a modifying
-    operation (in that example, <tt>erase</tt>) invalidated
-    iterators in three different ways: the iterator of one
-    container remained completely valid - it could be de-referenced
-    and incremented; the iterator of a different container could
-    not even be de-referenced; the iterator of the third container
-    could be de-referenced, but its "next" iterator changed
-    unpredictably.</p>
-
-    <p>Distinguishing between find and range types allows
-    fine-grained invalidation guarantees, because these questions
-    correspond exactly to the question of whether point-type
-    iterators and range-type iterators are valid. <a href=
-    "#invalidation_guarantee_cd">Invalidation guarantees class
-    hierarchy</a> shows tags corresponding to different types of
-    invalidation guarantees.</p>
-
-    <h6 class="c1"><a name="invalidation_guarantee_cd" id=
-    "invalidation_guarantee_cd"><img src=
-    "invalidation_guarantee_cd.png" alt="no image" /></a></h6>
-
-    <h6 class="c1">Invalidation guarantees class hierarchy.</h6>
-
-    <ol>
-      <li><a href=
-      "basic_invalidation_guarantee.html"><tt>basic_invalidation_guarantee</tt></a>
-      corresponds to a basic guarantee that a point-type iterator,
-      a found pointer, or a found reference, remains valid as long
-      as the container object is not modified.</li>
-
-      <li><a href=
-      "point_invalidation_guarantee.html"><tt>point_invalidation_guarantee</tt></a>
-      corresponds to a guarantee that a point-type iterator, a
-      found pointer, or a found reference, remains valid even if
-      the container object is modified.</li>
-
-      <li><a href=
-      "range_invalidation_guarantee.html"><tt>range_invalidation_guarantee</tt></a>
-      corresponds to a guarantee that a range-type iterator remains
-      valid even if the container object is modified.</li>
-    </ol>
-
-    <p>As shown in <a href=
-    "tutorial.html#assoc_find_range">Tutorial::Associative
-    Containers::Point-Type and Range-Type Methods and
-    Iterators</a>, to find the invalidation guarantee of a
-    container, one can use</p>
-    <pre>
-<b>typename</b> <a href=
-"assoc_container_traits.html">container_traits</a>&lt;Cntnr&gt;::invalidation_guarantee
-</pre>
-
-    <p>which is one of the classes in Figure <a href=
-    "#invalidation_guarantee_cd">Invalidation guarantees class
-    hierarchy</a>.</p>
-
-    <p>Note that this hierarchy corresponds to the logic it
-    represents: if a container has range-invalidation guarantees,
-    then it must also have find invalidation guarantees;
-    correspondingly, its invalidation guarantee (in this case
-    <a href=
-    "range_invalidation_guarantee.html"><tt>range_invalidation_guarantee</tt></a>)
-    can be cast to its base class (in this case <a href=
-    "point_invalidation_guarantee.html"><tt>point_invalidation_guarantee</tt></a>).
-    This means that this this hierarchy can be used easily using
-    standard metaprogramming techniques, by specializing on the
-    type of <tt>invalidation_guarantee</tt>.</p>
-
-    <p>(These types of problems were addressed, in a more general
-    setting, in [<a href=
-    "references.html#meyers96more">meyers96more</a>] - Item 2. In
-    our opinion, an invalidation-guarantee hierarchy would solve
-    these problems in all container types - not just associative
-    containers.)</p>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/embedded_lists_1.png b/libstdc++-v3/doc/html/ext/pb_ds/embedded_lists_1.png
deleted file mode 100644 (file)
index 9470a65..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/embedded_lists_1.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/embedded_lists_2.png b/libstdc++-v3/doc/html/ext/pb_ds/embedded_lists_2.png
deleted file mode 100644 (file)
index d2ac91c..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/embedded_lists_2.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/embedded_lists_3.png b/libstdc++-v3/doc/html/ext/pb_ds/embedded_lists_3.png
deleted file mode 100644 (file)
index 08ecb0f..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/embedded_lists_3.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/examples.html b/libstdc++-v3/doc/html/ext/pb_ds/examples.html
deleted file mode 100644 (file)
index 03c7a39..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<!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>Examples</h1>
-
-    <p><a href="assoc_examples.html">Associative-Container
-    Examples</a> shows examples for associative containers;
-    <a href="pq_examples.html">Priority-Queue Examples</a> shows
-    examples for priority queues.</p>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/exceptions.html b/libstdc++-v3/doc/html/ext/pb_ds/exceptions.html
deleted file mode 100644 (file)
index a51e8eb..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-<!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_error Interface</title>
-<meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
-</head>
-
-<body>
-<div id="page">
-<h1><tt>container_error</tt> Interface</h1>
-
-<p>Base class for associative-container exceptions.</p>
-
-<p>Defined in: <a href=
-               "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/exception.hpp"><tt>exception.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>
-std::logic_error
-</pre>
-</td>
-
-<td>
-<p>public</p>
-</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_find_timing_test_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_find_timing_test_gcc.png
deleted file mode 100644 (file)
index d86299b..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_find_timing_test_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_find_timing_test_local.png b/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_find_timing_test_local.png
deleted file mode 100644 (file)
index 299737d..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_find_timing_test_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_find_timing_test_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_find_timing_test_msvc.png
deleted file mode 100644 (file)
index b7082f2..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_find_timing_test_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_gcc.png
deleted file mode 100644 (file)
index b9fbe00..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_local.png b/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_local.png
deleted file mode 100644 (file)
index 7e4d7fa..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_msvc.png
deleted file mode 100644 (file)
index 248ff6b..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_gcc.png
deleted file mode 100644 (file)
index ac4f838..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_local.png b/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_local.png
deleted file mode 100644 (file)
index 587ff1d..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_msvc.png
deleted file mode 100644 (file)
index 5f1d740..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_table.html b/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_table.html
deleted file mode 100644 (file)
index dd9d725..0000000
+++ /dev/null
@@ -1,891 +0,0 @@
-<!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>gp_hash_table Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>gp_hash_table</tt> Interface</h1>
-
-    <p>A concrete general-probing 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&lt;<a href="#Key2501"><tt>Key</tt></a>&gt;
-</pre>if using gcc;
-          <pre>
-stdext::hash_value&lt;<a href="#Key2501"><tt>Key</tt></a>&gt;
-</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&lt;<a href="#Key2501"><tt>Key</tt></a>&gt;
-</pre>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="Comb_Probe_Fn1603930855" id=
-"Comb_Probe_Fn1603930855"><b>class</b> Comb_Probe_Fn </a>
-</pre>
-        </td>
-
-        <td>
-          <p>Combining probe functor.</p>
-
-          <p>If <a href="#Hash_Fn1515835"><tt>Hash_Fn</tt></a> is
-          <a href="null_hash_fn.html"><span class=
-          "c2"><tt>null_hash_fn</tt></span></a>, and <a href=
-          "#Probe_Fn8454835"><tt>Probe_Fn</tt></a> is <a href=
-          "null_probe_fn.html"><span class=
-          "c2"><tt>null_probe_fn</tt></span></a>, then this is the
-          ranged-probe 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><a href="direct_mask_range_hashing.html"><span class=
-        "c2"><tt>direct_mask_range_hashing</tt></span></a></td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="Probe_Fn8454835" id=
-"Probe_Fn8454835"><b>class</b> Probe_Fn </a>
-</pre>
-        </td>
-
-        <td>
-          <p>Probe functor.</p>
-        </td>
-
-        <td>
-          If <tt><a href=
-          "#Comb_Probe_Fn1603930855"><tt>Comb_Probe_Fn</tt></a></tt>
-          is <a href="direct_mask_range_hashing.html"><span class=
-          "c2"><tt>direct_mask_range_hashing</tt></span></a>, then
-          <pre>
-<a href="linear_probe_fn.html"><span class=
-"c2"><tt>linear_probe_fn</tt></span></a>&lt;
-  <b>typename</b> <a href=
-"#Comb_Probe_Fn1603930855"><tt>Comb_Probe_Fn</tt></a>::size_type&gt;
-</pre>otherwise,
-          <pre>
-<a href="quadratic_probe_fn.html"><span class=
-"c2"><tt>quadratic_probe_fn</tt></span></a>&lt;
-  <b>typename</b> <a href=
-"#Comb_Probe_Fn1603930855"><tt>Comb_Probe_Fn</tt></a>::size_type&gt;
-</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_Probe_Fn1603930855"><tt>Comb_Probe_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>&lt;
-  <a href="hash_exponential_size_policy.html"><span class=
-"c2"><tt>hash_exponential_size_policy</tt></span></a>&lt;
-    <b>typename</b> <a href=
-"#Comb_Probe_Fn1603930855"><tt>Comb_Probe_Fn</tt></a>::size_type&gt;,
-  <a href="hash_load_check_resize_trigger.html"><span class=
-"c2"><tt>hash_load_check_resize_trigger</tt></span></a>&lt;
-    <b>typename</b> <a href=
-"#Comb_Probe_Fn1603930855"><tt>Comb_Probe_Fn</tt></a>::size_type&gt;,
-  <b>false</b>,
-  <b>typename</b> <a href=
-"#Comb_Probe_Fn1603930855"><tt>Comb_Probe_Fn</tt></a>::size_type&gt;
-</pre>otherwise,
-          <pre>
-<a href="hash_standard_resize_policy.html"><span class=
-"c2"><tt>hash_standard_resize_policy</tt></span></a>&lt;
-  <a href="hash_exponential_size_policy.html"><span class=
-"c2"><tt>hash_exponential_size_policy</tt></span></a>&lt;
-    <b>typename</b> <a href=
-"#Comb_Probe_Fn1603930855"><tt>Comb_Probe_Fn</tt></a>::size_type&gt;,
-  <a href="hash_load_check_resize_trigger.html"><span class=
-"c2"><tt>hash_load_check_resize_trigger</tt></span></a>&lt;
-    <b>typename</b> <a href=
-"#Comb_Probe_Fn1603930855"><tt>Comb_Probe_Fn</tt></a>::size_type&gt;,
-  <b>false</b>,
-  <b>typename</b> <a href=
-"#Comb_Probe_Fn1603930855"><tt>Comb_Probe_Fn</tt></a>::size_type&gt;
-</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&lt;<b>char</b>&gt;
-</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="comb_probe_fn828996423" id=
-"comb_probe_fn828996423">comb_probe_fn</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#Comb_Probe_Fn1603930855"><tt>Comb_Probe_Fn</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Combining probe functor type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="probe_fn10954995" id="probe_fn10954995">probe_fn</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#Probe_Fn8454835"><tt>Probe_Fn</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Probe 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>
-    </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>
-  gp_hash_table
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Default constructor.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-  gp_hash_table
-  (<b>const</b> <a href=
-"#hash_fn2015995"><tt>hash_fn</tt></a> &amp;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_fn2015995"><tt>hash_fn</tt></a> object of
-          the container object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-  gp_hash_table
-  (<b>const</b> <a href=
-"#hash_fn2015995"><tt>hash_fn</tt></a> &amp;r_hash_fn, 
-    <b>const</b> <a href=
-"#eq_fn80245"><tt>eq_fn</tt></a> &amp;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>
-  gp_hash_table
-  (<b>const</b> <a href=
-"#hash_fn2015995"><tt>hash_fn</tt></a> &amp;r_hash_fn, 
-    <b>const</b> <a href=
-"#eq_fn80245"><tt>eq_fn</tt></a> &amp;r_eq_fn, 
-    <b>const</b> <a href=
-"#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> &amp;r_comb_probe_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_probe_fn</tt></span> will be copied by
-          the <a href=
-          "#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a>
-          object of the container object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-  gp_hash_table
-  (<b>const</b> <a href=
-"#hash_fn2015995"><tt>hash_fn</tt></a> &amp;r_hash_fn, 
-    <b>const</b> <a href=
-"#eq_fn80245"><tt>eq_fn</tt></a> &amp;r_eq_fn, 
-    <b>const</b> <a href=
-"#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> &amp;r_comb_probe_fn,
-    <b>const</b> <a href=
-"#probe_fn10954995"><tt>probe_fn</tt></a> &amp;r_probe_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, <span class=
-          "c1"><tt>r_comb_probe_fn</tt></span> will be copied by
-          the <a href=
-          "#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a>
-          object of the container object, and <span class=
-          "c1"><tt>r_probe_fn</tt></span> will be copied by the
-          <a href="#probe_fn10954995"><tt>probe_fn</tt></a> object
-          of the container object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-  gp_hash_table
-  (<b>const</b> <a href=
-"#hash_fn2015995"><tt>hash_fn</tt></a> &amp;r_hash_fn, 
-    <b>const</b> <a href=
-"#eq_fn80245"><tt>eq_fn</tt></a> &amp;r_eq_fn, 
-    <b>const</b> <a href=
-"#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> &amp;r_comb_probe_fn, 
-    <b>const</b> <a href=
-"#probe_fn10954995"><tt>probe_fn</tt></a> &amp;r_probe_fn,
-    <b>const</b> <a href=
-"#resize_policy4084493169"><tt>resize_policy</tt></a> &amp;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_probe_fn</tt></span> will be copied by
-          the <a href=
-          "#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a>
-          object of the container object, <span class=
-          "c1"><tt>r_probe_fn</tt></span> will be copied by the
-          <a href="#probe_fn10954995"><tt>probe_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_Policy566860465"><tt>Resize_Policy</tt></a>
-          object of the container object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>template</b>&lt;
-    <b>class</b> It&gt;
-  gp_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>&lt;
-    <b>class</b> It&gt;
-  gp_hash_table
-  (It first_it, 
-    It last_it,
-    <b>const</b> <a href=
-"#hash_fn2015995"><tt>hash_fn</tt></a> &amp;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. <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.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>template</b>&lt;
-    <b>class</b> It&gt;
-  gp_hash_table
-  (It first_it, 
-    It last_it,
-    <b>const</b> <a href=
-"#hash_fn2015995"><tt>hash_fn</tt></a> &amp;r_hash_fn, 
-    <b>const</b> <a href=
-"#eq_fn80245"><tt>eq_fn</tt></a> &amp;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>&lt;
-    <b>class</b> It&gt;
-  gp_hash_table
-  (It first_it, 
-    It last_it,
-    <b>const</b> <a href=
-"#hash_fn2015995"><tt>hash_fn</tt></a> &amp;r_hash_fn, 
-    <b>const</b> <a href=
-"#eq_fn80245"><tt>eq_fn</tt></a> &amp;r_eq_fn, 
-    <b>const</b> <a href=
-"#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> &amp;r_comb_probe_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_probe_fn</tt></span> will be copied by
-          the <a href=
-          "#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a>
-          object of the container object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>template</b>&lt;
-    <b>class</b> It&gt;
-  gp_hash_table
-  (It first_it, 
-    It last_it,
-    <b>const</b> <a href=
-"#hash_fn2015995"><tt>hash_fn</tt></a> &amp;r_hash_fn, 
-    <b>const</b> <a href=
-"#eq_fn80245"><tt>eq_fn</tt></a> &amp;r_eq_fn, 
-    <b>const</b> <a href=
-"#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> &amp;r_comb_probe_fn,
-    <b>const</b> <a href=
-"#probe_fn10954995"><tt>probe_fn</tt></a> &amp;r_probe_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, <span class=
-          "c1"><tt>r_comb_probe_fn</tt></span> will be copied by
-          the <a href=
-          "#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a>
-          object of the container object, and <span class=
-          "c1"><tt>r_probe_fn</tt></span> will be copied by the
-          <a href="#probe_fn10954995"><tt>probe_fn</tt></a> object
-          of the container object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>template</b>&lt;
-    <b>class</b> It&gt;
-  gp_hash_table
-  (It first_it, 
-    It last_it,
-    <b>const</b> <a href=
-"#hash_fn2015995"><tt>hash_fn</tt></a> &amp;r_hash_fn, 
-    <b>const</b> <a href=
-"#eq_fn80245"><tt>eq_fn</tt></a> &amp;r_eq_fn, 
-    <b>const</b> <a href=
-"#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> &amp;r_comb_probe_fn, 
-    <b>const</b> <a href=
-"#probe_fn10954995"><tt>probe_fn</tt></a> &amp;r_probe_fn,      
-    <b>const</b> <a href=
-"#resize_policy4084493169"><tt>resize_policy</tt></a> &amp;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_probe_fn</tt></span> will be copied by
-          the <a href=
-          "#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a>
-          object of the container object, <span class=
-          "c1"><tt>r_probe_fn</tt></span> will be copied by the
-          <a href="#probe_fn10954995"><tt>probe_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>
-  gp_hash_table
-  (<b>const</b> <span class=
-"c2"><tt>gp_hash_table</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Copy constructor.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> 
-  ~gp_hash_table
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Destructor.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<span class="c2"><tt>gp_hash_table</tt></span> &amp;
-  <b>operator</b>=
-  (<b>const</b> <span class=
-"c2"><tt>gp_hash_table</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Assignment operator.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>void</b>
-  swap
-  (<span class=
-"c2"><tt>gp_hash_table</tt></span> &amp;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_probe_fn828996423"><tt>comb_probe_fn</tt></a> &amp;
-  get_comb_probe_fn
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Access to the <a href=
-          "#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a>
-          object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>const</b> <a href=
-"#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> &amp;
-  get_comb_probe_fn
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Const access to the <a href=
-          "#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a>
-          object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a href="#probe_fn10954995"><tt>probe_fn</tt></a> &amp;
-  get_probe_fn
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Access to the <a href=
-          "#probe_fn10954995"><tt>probe_fn</tt></a> object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>const</b> <a href=
-"#probe_fn10954995"><tt>probe_fn</tt></a> &amp;
-  get_probe_fn
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Const access to the <a href=
-          "#probe_fn10954995"><tt>probe_fn</tt></a> object.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_tag.html b/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_tag.html
deleted file mode 100644 (file)
index 4c5f06b..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<!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>gp_hash_tag Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>gp_hash_tag</tt> Interface</h1>
-
-    <p>General-probing 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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_based_containers.html b/libstdc++-v3/doc/html/ext/pb_ds/hash_based_containers.html
deleted file mode 100644 (file)
index 21d092a..0000000
+++ /dev/null
@@ -1,835 +0,0 @@
-<!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>Hash-Based Containers</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1>Hash Table Design</h1>
-
-    <h2><a name="overview" id="overview">Overview</a></h2>
-
-    <p>The collision-chaining hash-based container has the
-    following declaration.</p>
-    <pre>
-<b>template</b>&lt;
-    <b>typename</b> Key,
-    <b>typename</b> Mapped,
-    <b>typename</b> Hash_Fn = std::hash&lt;Key&gt;,
-    <b>typename</b> Eq_Fn = std::equal_to&lt;Key&gt;,
-    <b>typename</b> Comb_Hash_Fn = <a href=
-"direct_mask_range_hashing.html">direct_mask_range_hashing</a>&lt;&gt;
-    <b>typename</b> Resize_Policy = <i>default explained below.</i>
-     <b>bool</b> Store_Hash = <b>false</b>,
-     <b>typename</b> Allocator = std::allocator&lt;<b>char</b>&gt; &gt;
-<b>class</b> <a href=
-"cc_hash_table.html">cc_hash_table</a>;
-</pre>
-
-    <p>The parameters have the following meaning:</p>
-
-    <ol>
-      <li><tt>Key</tt> is the key type.</li>
-
-      <li><tt>Mapped</tt> is the mapped-policy, and is explained in
-      <a href="tutorial.html#assoc_ms">Tutorial::Associative
-      Containers::Associative Containers Others than Maps</a>.</li>
-
-      <li><tt>Hash_Fn</tt> is a key hashing functor.</li>
-
-      <li><tt>Eq_Fn</tt> is a key equivalence functor.</li>
-
-      <li><tt>Comb_Hash_Fn</tt> is a <i>range-hashing_functor</i>;
-      it describes how to translate hash values into positions
-      within the table. This is described in <a href=
-      "#hash_policies">Hash Policies</a>.</li>
-
-      <li><tt>Resize_Policy</tt> describes how a container object
-      should change its internal size. This is described in
-      <a href="#resize_policies">Resize Policies</a>.</li>
-
-      <li><tt>Store_Hash</tt> indicates whether the hash value
-      should be stored with each entry. This is described in
-      <a href="#policy_interaction">Policy Interaction</a>.</li>
-
-      <li><tt>Allocator</tt> is an allocator
-      type.</li>
-    </ol>
-
-    <p>The probing hash-based container has the following
-    declaration.</p>
-    <pre>
-<b>template</b>&lt;
-    <b>typename</b> Key,
-    <b>typename</b> Mapped,
-    <b>typename</b> Hash_Fn = std::hash&lt;Key&gt;,
-    <b>typename</b> Eq_Fn = std::equal_to&lt;Key&gt;,
-    <b>typename</b> Comb_Probe_Fn = <a href=
-"direct_mask_range_hashing.html">direct_mask_range_hashing</a>&lt;&gt;
-    <b>typename</b> Probe_Fn = <i>default explained below.</i>
-    <b>typename</b> Resize_Policy = <i>default explained below.</i>
-    <b>bool</b> Store_Hash = <b>false</b>,
-    <b>typename</b> Allocator =  std::allocator&lt;<b>char</b>&gt; &gt;
-<b>class</b> <a href=
-"gp_hash_table.html">gp_hash_table</a>;
-</pre>
-
-    <p>The parameters are identical to those of the
-    collision-chaining container, except for the following.</p>
-
-    <ol>
-      <li><tt>Comb_Probe_Fn</tt> describes how to transform a probe
-      sequence into a sequence of positions within the table.</li>
-
-      <li><tt>Probe_Fn</tt> describes a probe sequence policy.</li>
-    </ol>
-
-    <p>Some of the default template values depend on the values of
-    other parameters, and are explained in <a href=
-    "#policy_interaction">Policy Interaction</a>.</p>
-
-    <h2><a name="hash_policies" id="hash_policies">Hash
-    Policies</a></h2>
-
-    <h3><a name="general_terms" id="general_terms">General
-    Terms</a></h3>
-
-    <p>Following is an explanation of some functions which hashing
-    involves. Figure <a href=
-    "#hash_ranged_hash_range_hashing_fns">Hash functions,
-    ranged-hash functions, and range-hashing functions</a>)
-    illustrates the discussion.</p>
-
-    <h6 class="c1"><a name="hash_ranged_hash_range_hashing_fns" id=
-    "hash_ranged_hash_range_hashing_fns"><img src=
-    "hash_ranged_hash_range_hashing_fns.png" alt=
-    "no image" /></a></h6>
-
-    <h6 class="c1">Hash functions, ranged-hash functions, and
-    range-hashing functions.</h6>
-
-    <p>Let <i>U</i> be a domain (<i>e.g.</i>, the integers, or the
-    strings of 3 characters). A hash-table algorithm needs to map
-    elements of <i>U</i> "uniformly" into the range <i>[0,..., m -
-    1]</i> (where <i>m</i> is a non-negative integral value, and
-    is, in general, time varying). <i>I.e.</i>, the algorithm needs
-    a <i>ranged-hash</i> function</p>
-
-    <p><i>f : U &times; Z<sub>+</sub> &rarr; Z<sub>+</sub></i>
-    ,</p>
-
-    <p>such that for any <i>u</i> in <i>U</i> ,</p>
-
-    <p><i>0 &le; f(u, m) &le; m - 1</i> ,</p>
-
-    <p>and which has "good uniformity" properties [<a href=
-    "references.html#knuth98sorting">knuth98sorting</a>]. One
-    common solution is to use the composition of the hash
-    function</p>
-
-    <p><i>h : U &rarr; Z<sub>+</sub></i> ,</p>
-
-    <p>which maps elements of <i>U</i> into the non-negative
-    integrals, and</p>
-
-    <p class="c2">g : Z<sub>+</sub> &times; Z<sub>+</sub> &rarr;
-    Z<sub>+</sub>,</p>
-
-    <p>which maps a non-negative hash value, and a non-negative
-    range upper-bound into a non-negative integral in the range
-    between 0 (inclusive) and the range upper bound (exclusive),
-    <i>i.e.</i>, for any <i>r</i> in <i>Z<sub>+</sub></i>,</p>
-
-    <p><i>0 &le; g(r, m) &le; m - 1</i> .</p>
-
-    <p>The resulting ranged-hash function, is</p>
-
-    <p><i><a name="ranged_hash_composed_of_hash_and_range_hashing"
-    id="ranged_hash_composed_of_hash_and_range_hashing">f(u , m) =
-    g(h(u), m)</a></i> (1) .</p>
-
-    <p>From the above, it is obvious that given <i>g</i> and
-    <i>h</i>, <i>f</i> can always be composed (however the converse
-    is not true). The STL's hash-based containers allow specifying
-    a hash function, and use a hard-wired range-hashing function;
-    the ranged-hash function is implicitly composed.</p>
-
-    <p>The above describes the case where a key is to be mapped
-    into a <i>single position</i> within a hash table, <i>e.g.</i>,
-    in a collision-chaining table. In other cases, a key is to be
-    mapped into a <i>sequence of positions</i> within a table,
-    <i>e.g.</i>, in a probing table. Similar terms apply in this
-    case: the table requires a <i>ranged probe</i> function,
-    mapping a key into a sequence of positions withing the table.
-    This is typically achieved by composing a <i>hash function</i>
-    mapping the key into a non-negative integral type, a
-    <i>probe</i> function transforming the hash value into a
-    sequence of hash values, and a <i>range-hashing</i> function
-    transforming the sequence of hash values into a sequence of
-    positions.</p>
-
-    <h3><a name="range_hashing_fns" id=
-    "range_hashing_fns">Range-Hashing Functions</a></h3>
-
-    <p>Some common choices for range-hashing functions are the
-    division, multiplication, and middle-square methods [<a href=
-    "references.html#knuth98sorting">knuth98sorting</a>], defined
-    as</p>
-
-    <p><i><a name="division_method" id="division_method">g(r, m) =
-    r mod m</a></i> (2) ,</p>
-
-    <p><i>g(r, m) = &lceil; u/v ( a r mod v ) &rceil;</i> ,</p>
-
-    <p>and</p>
-
-    <p><i>g(r, m) = &lceil; u/v ( r<sup>2</sup> mod v ) &rceil;</i>
-    ,</p>
-
-    <p>respectively, for some positive integrals <i>u</i> and
-    <i>v</i> (typically powers of 2), and some <i>a</i>. Each of
-    these range-hashing functions works best for some different
-    setting.</p>
-
-    <p>The division method <a href="#division_method">(2)</a> is a
-    very common choice. However, even this single method can be
-    implemented in two very different ways. It is possible to
-    implement <a href="#division_method">(2)</a> using the low
-    level <i>%</i> (modulo) operation (for any <i>m</i>), or the
-    low level <i>&amp;</i> (bit-mask) operation (for the case where
-    <i>m</i> is a power of 2), <i>i.e.</i>,</p>
-
-    <p><i><a name="division_method_prime_mod" id=
-    "division_method_prime_mod">g(r, m) = r % m</a></i> (3) ,</p>
-
-    <p>and</p>
-
-    <p><i><a name="division_method_bit_mask" id=
-    "division_method_bit_mask">g(r, m) = r &amp; m - 1, (m =
-    2<sup>k</sup>)</a></i> for some <i>k)</i> (4),</p>
-
-    <p>respectively.</p>
-
-    <p>The <i>%</i> (modulo) implementation <a href=
-    "#division_method_prime_mod">(3)</a> has the advantage that for
-    <i>m</i> a prime far from a power of 2, <i>g(r, m)</i> is
-    affected by all the bits of <i>r</i> (minimizing the chance of
-    collision). It has the disadvantage of using the costly modulo
-    operation. This method is hard-wired into SGI's implementation
-    [<a href="references.html#sgi_stl">sgi_stl</a>].</p>
-
-    <p>The <i>&amp;</i> (bit-mask) implementation <a href=
-    "#division_method_bit_mask">(4)</a> has the advantage of
-    relying on the fast bit-wise and operation. It has the
-    disadvantage that for <i>g(r, m)</i> is affected only by the
-    low order bits of <i>r</i>. This method is hard-wired into
-    Dinkumware's implementation [<a href=
-    "references.html#dinkumware_stl">dinkumware_stl</a>].</p>
-
-    <h3><a name="hash_policies_ranged_hash_policies" id=
-    "hash_policies_ranged_hash_policies">Ranged-Hash
-    Functions</a></h3>
-
-    <p>In cases it is beneficial to allow the
-    client to directly specify a ranged-hash hash function. It is
-    true, that the writer of the ranged-hash function cannot rely
-    on the values of <i>m</i> having specific numerical properties
-    suitable for hashing (in the sense used in [<a href=
-    "references.html#knuth98sorting">knuth98sorting</a>]), since
-    the values of <i>m</i> are determined by a resize policy with
-    possibly orthogonal considerations.</p>
-
-    <p>There are two cases where a ranged-hash function can be
-    superior. The firs is when using perfect hashing [<a href=
-    "references.html#knuth98sorting">knuth98sorting</a>]; the
-    second is when the values of <i>m</i> can be used to estimate
-    the "general" number of distinct values required. This is
-    described in the following.</p>
-
-    <p>Let</p>
-
-    <p class="c2">s = [ s<sub>0</sub>,..., s<sub>t - 1</sub>]</p>
-
-    <p>be a string of <i>t</i> characters, each of which is from
-    domain <i>S</i>. Consider the following ranged-hash
-    function:</p>
-
-    <p><a name="total_string_dna_hash" id=
-    "total_string_dna_hash"><i>f<sub>1</sub>(s, m) = &sum; <sub>i =
-    0</sub><sup>t - 1</sup> s<sub>i</sub> a<sup>i</sup></i> mod
-    <i>m</i></a> (5) ,</p>
-
-    <p>where <i>a</i> is some non-negative integral value. This is
-    the standard string-hashing function used in SGI's
-    implementation (with <i>a = 5</i>) [<a href=
-    "references.html#sgi_stl">sgi_stl</a>]. Its advantage is that
-    it takes into account all of the characters of the string.</p>
-
-    <p>Now assume that <i>s</i> is the string representation of a
-    of a long DNA sequence (and so <i>S = {'A', 'C', 'G',
-    'T'}</i>). In this case, scanning the entire string might be
-    prohibitively expensive. A possible alternative might be to use
-    only the first <i>k</i> characters of the string, where</p>
-
-    <p>|S|<sup>k</sup> &ge; m ,</p>
-
-    <p><i>i.e.</i>, using the hash function</p>
-
-    <p><a name="only_k_string_dna_hash" id=
-    "only_k_string_dna_hash"><i>f<sub>2</sub>(s, m) = &sum; <sub>i
-    = 0</sub><sup>k - 1</sup> s<sub>i</sub> a<sup>i</sup></i> mod
-    <i>m</i></a> , (6)</p>
-
-    <p>requiring scanning over only</p>
-
-    <p><i>k =</i> log<i><sub>4</sub>( m )</i></p>
-
-    <p>characters.</p>
-
-    <p>Other more elaborate hash-functions might scan <i>k</i>
-    characters starting at a random position (determined at each
-    resize), or scanning <i>k</i> random positions (determined at
-    each resize), <i>i.e.</i>, using</p>
-
-    <p><i>f<sub>3</sub>(s, m) = &sum; <sub>i =
-    r</sub>0</i><sup>r<sub>0</sub> + k - 1</sup> s<sub>i</sub>
-    a<sup>i</sup> mod <i>m</i> ,</p>
-
-    <p>or</p>
-
-    <p><i>f<sub>4</sub>(s, m) = &sum; <sub>i = 0</sub><sup>k -
-    1</sup> s<sub>r</sub>i</i> a<sup>r<sub>i</sub></sup> mod
-    <i>m</i> ,</p>
-
-    <p>respectively, for <i>r<sub>0</sub>,..., r<sub>k-1</sub></i>
-    each in the (inclusive) range <i>[0,...,t-1]</i>.</p>
-
-    <p>It should be noted that the above functions cannot be
-    decomposed as <a href=
-    "#ranged_hash_composed_of_hash_and_range_hashing">(1)</a> .</p>
-
-    <h3><a name="pb_ds_imp" id="pb_ds_imp">Implementation</a></h3>
-
-    <p>This sub-subsection describes the implementation of the
-    above in <tt>pb_ds</tt>. It first explains range-hashing
-    functions in collision-chaining tables, then ranged-hash
-    functions in collision-chaining tables, then probing-based
-    tables, and, finally, lists the relevant classes in
-    <tt>pb_ds</tt>.</p>
-
-    <h4>Range-Hashing and Ranged-Hashes in Collision-Chaining
-    Tables</h4>
-
-    <p><a href=
-    "cc_hash_table.html"><tt>cc_hash_table</tt></a> is
-    parametrized by <tt>Hash_Fn</tt> and <tt>Comb_Hash_Fn</tt>, a
-    hash functor and a combining hash functor, respectively.</p>
-
-    <p>In general, <tt>Comb_Hash_Fn</tt> is considered a
-    range-hashing functor. <a href=
-    "cc_hash_table.html"><tt>cc_hash_table</tt></a>
-    synthesizes a ranged-hash function from <tt>Hash_Fn</tt> and
-    <tt>Comb_Hash_Fn</tt> (see <a href=
-    "#ranged_hash_composed_of_hash_and_range_hashing">(1)</a>
-    above). Figure <a href="#hash_range_hashing_seq_diagram">Insert
-    hash sequence diagram</a> shows an <tt>insert</tt> sequence
-    diagram for this case. The user inserts an element (point A),
-    the container transforms the key into a non-negative integral
-    using the hash functor (points B and C), and transforms the
-    result into a position using the combining functor (points D
-    and E).</p>
-
-    <h6 class="c1"><a name="hash_range_hashing_seq_diagram" id=
-    "hash_range_hashing_seq_diagram"><img src=
-    "hash_range_hashing_seq_diagram.png" alt="no image" /></a></h6>
-
-    <h6 class="c1">Insert hash sequence diagram.</h6>
-
-    <p>If <a href=
-    "cc_hash_table.html"><tt>cc_hash_table</tt></a>'s
-    hash-functor, <tt>Hash_Fn</tt> is instantiated by <a href=
-    "null_hash_fn.html"><tt>null_hash_fn</tt></a> (see <a href=
-    "concepts.html#concepts_null_policies">Interface::Concepts::Null
-    Policy Classes</a>), then <tt>Comb_Hash_Fn</tt> is taken to be
-    a ranged-hash function. Figure <a href=
-    "#hash_range_hashing_seq_diagram2">Insert hash sequence diagram
-    with a null hash policy</a> shows an <tt>insert</tt> sequence
-    diagram. The user inserts an element (point A), the container
-    transforms the key into a position using the combining functor
-    (points B and C).</p>
-
-    <h6 class="c1"><a name="hash_range_hashing_seq_diagram2" id=
-    "hash_range_hashing_seq_diagram2"><img src=
-    "hash_range_hashing_seq_diagram2.png" alt=
-    "no image" /></a></h6>
-
-    <h6 class="c1">Insert hash sequence diagram with a null hash
-    policy.</h6>
-
-    <h4>Probing Tables</h4>
-
-    <p><a href=
-    "gp_hash_table.html"></a><tt>gp_hash_table</tt> is
-    parametrized by <tt>Hash_Fn</tt>, <tt>Probe_Fn</tt>, and
-    <tt>Comb_Probe_Fn</tt>. As before, if <tt>Hash_Fn</tt> and
-    <tt>Probe_Fn</tt> are, respectively, <a href=
-    "null_hash_fn.html"><tt>null_hash_fn</tt></a> and <a href=
-    "null_probe_fn.html"><tt>null_probe_fn</tt></a>, then
-    <tt>Comb_Probe_Fn</tt> is a ranged-probe functor. Otherwise,
-    <tt>Hash_Fn</tt> is a hash functor, <tt>Probe_Fn</tt> is a
-    functor for offsets from a hash value, and
-    <tt>Comb_Probe_Fn</tt> transforms a probe sequence into a
-    sequence of positions within the table.</p>
-
-    <h4>Pre-Defined Policies</h4>
-
-    <p><tt>pb_ds</tt> contains some pre-defined classes
-    implementing range-hashing and probing functions:</p>
-
-    <ol>
-      <li><a href=
-      "direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-      and <a href=
-      "direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-      are range-hashing functions based on a bit-mask and a modulo
-      operation, respectively.</li>
-
-      <li><a href=
-      "linear_probe_fn.html"><tt>linear_probe_fn</tt></a>, and
-      <a href=
-      "quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a> are
-      a linear probe and a quadratic probe function,
-      respectively.</li>
-    </ol>Figure <a href="#hash_policy_cd">Hash policy class
-    diagram</a> shows a class diagram.
-
-    <h6 class="c1"><a name="hash_policy_cd" id=
-    "hash_policy_cd"><img src="hash_policy_cd.png" alt=
-    "no image" /></a></h6>
-
-    <h6 class="c1">Hash policy class diagram.</h6>
-
-    <h2><a name="resize_policies" id="resize_policies">Resize
-    Policies</a></h2>
-
-    <h3><a name="general" id="general">General Terms</a></h3>
-
-    <p>Hash-tables, as opposed to trees, do not naturally grow or
-    shrink. It is necessary to specify policies to determine how
-    and when a hash table should change its size. Usually, resize
-    policies can be decomposed into orthogonal policies:</p>
-
-    <ol>
-      <li>A <i>size policy</i> indicating <i>how</i> a hash table
-      should grow (<i>e.g.,</i> it should multiply by powers of
-      2).</li>
-
-      <li>A <i>trigger policy</i> indicating <i>when</i> a hash
-      table should grow (<i>e.g.,</i> a load factor is
-      exceeded).</li>
-    </ol>
-
-    <h3><a name="size_policies" id="size_policies">Size
-    Policies</a></h3>
-
-    <p>Size policies determine how a hash table changes size. These
-    policies are simple, and there are relatively few sensible
-    options. An exponential-size policy (with the initial size and
-    growth factors both powers of 2) works well with a mask-based
-    range-hashing function (see <a href=
-    "#hash_policies">Range-Hashing Policies</a>), and is the
-    hard-wired policy used by Dinkumware [<a href=
-    "references.html#dinkumware_stl">dinkumware_stl</a>]. A
-    prime-list based policy works well with a modulo-prime range
-    hashing function (see <a href="#hash_policies">Range-Hashing
-    Policies</a>), and is the hard-wired policy used by SGI's
-    implementation [<a href=
-    "references.html#sgi_stl">sgi_stl</a>].</p>
-
-    <h3><a name="trigger_policies" id="trigger_policies">Trigger
-    Policies</a></h3>
-
-    <p>Trigger policies determine when a hash table changes size.
-    Following is a description of two policies: <i>load-check</i>
-    policies, and collision-check policies.</p>
-
-    <p>Load-check policies are straightforward. The user specifies
-    two factors, <i>&alpha;<sub>min</sub></i> and
-    <i>&alpha;<sub>max</sub></i>, and the hash table maintains the
-    invariant that</p>
-
-    <p><i><a name="load_factor_min_max" id=
-    "load_factor_min_max">&alpha;<sub>min</sub> &le; (number of
-    stored elements) / (hash-table size) &le;
-    &alpha;<sub>max</sub></a></i> (1) .</p>
-
-    <p>Collision-check policies work in the opposite direction of
-    load-check policies. They focus on keeping the number of
-    collisions moderate and hoping that the size of the table will
-    not grow very large, instead of keeping a moderate load-factor
-    and hoping that the number of collisions will be small. A
-    maximal collision-check policy resizes when the longest
-    probe-sequence grows too large.</p>
-
-    <p>Consider Figure <a href="#balls_and_bins">Balls and
-    bins</a>. Let the size of the hash table be denoted by
-    <i>m</i>, the length of a probe sequence be denoted by
-    <i>k</i>, and some load factor be denoted by &alpha;. We would
-    like to calculate the minimal length of <i>k</i>, such that if
-    there were <i>&alpha; m</i> elements in the hash table, a probe
-    sequence of length <i>k</i> would be found with probability at
-    most <i>1/m</i>.</p>
-
-    <h6 class="c1"><a name="balls_and_bins" id=
-    "balls_and_bins"><img src="balls_and_bins.png" alt=
-    "no image" /></a></h6>
-
-    <h6 class="c1">Balls and bins.</h6>
-
-    <p>Denote the probability that a probe sequence of length
-    <i>k</i> appears in bin <i>i</i> by <i>p<sub>i</sub></i>, the
-    length of the probe sequence of bin <i>i</i> by
-    <i>l<sub>i</sub></i>, and assume uniform distribution. Then</p>
-
-    <p><a name="prob_of_p1" id=
-    "prob_of_p1"><i>p<sub>1</sub></i></a> = (3)</p>
-
-    <p class="c2"><b>P</b>(l<sub>1</sub> &ge; k) =</p>
-
-    <p><i><b>P</b>(l<sub>1</sub> &ge; &alpha; ( 1 + k / &alpha; - 1
-    ) &le;</i> (a)</p>
-
-    <p><i>e ^ ( - ( &alpha; ( k / &alpha; - 1 )<sup>2</sup> ) /2
-    )</i> ,</p>
-
-    <p>where (a) follows from the Chernoff bound [<a href=
-    "references.html#motwani95random">motwani95random</a>]. To
-    calculate the probability that <i>some</i> bin contains a probe
-    sequence greater than <i>k</i>, we note that the
-    <i>l<sub>i</sub></i> are negatively-dependent [<a href=
-    "references.html#dubhashi98neg">dubhashi98neg</a>]. Let
-    <i><b>I</b>(.)</i> denote the indicator function. Then</p>
-
-    <p><a name="at_least_k_i_n_some_bin" id=
-    "at_least_k_i_n_some_bin"><i><b>P</b>( exists<sub>i</sub>
-    l<sub>i</sub> &ge; k ) =</i> (3)</a></p>
-
-    <p class="c2"><b>P</b> ( &sum; <sub>i = 1</sub><sup>m</sup>
-    <b>I</b>(l<sub>i</sub> &ge; k) &ge; 1 ) =</p>
-
-    <p><i><b>P</b> ( &sum; <sub>i = 1</sub><sup>m</sup> <b>I</b> (
-    l<sub>i</sub> &ge; k ) &ge; m p<sub>1</sub> ( 1 + 1 / (m
-    p<sub>1</sub>) - 1 ) ) &le;</i> (a)</p>
-
-    <p class="c2">e ^ ( ( - m p<sub>1</sub> ( 1 / (m p<sub>1</sub>)
-    - 1 ) <sup>2</sup> ) / 2 ) ,</p>
-
-    <p>where (a) follows from the fact that the Chernoff bound can
-    be applied to negatively-dependent variables [<a href=
-    "references.html#dubhashi98neg">dubhashi98neg</a>]. Inserting
-    <a href="#prob_of_p1">(2)</a> into <a href=
-    "#at_least_k_i_n_some_bin">(3)</a>, and equating with
-    <i>1/m</i>, we obtain</p>
-
-    <p><i>k ~ &radic; ( 2 &alpha;</i> ln <i>2 m</i> ln<i>(m) )
-    )</i> .</p>
-
-    <h3><a name="imp_pb_ds" id="imp_pb_ds">Implementation</a></h3>
-
-    <p>This sub-subsection describes the implementation of the
-    above in <tt>pb_ds</tt>. It first describes resize policies and
-    their decomposition into trigger and size policies, then
-    describes pre-defined classes, and finally discusses controlled
-    access the policies' internals.</p>
-
-    <h4>Resize Policies and Their Decomposition</h4>
-
-    <p>Each hash-based container is parametrized by a
-    <tt>Resize_Policy</tt> parameter; the container derives
-    <tt><b>public</b></tt>ly from <tt>Resize_Policy</tt>. For
-    example:</p>
-    <pre>
-<a href="cc_hash_table.html">cc_hash_table</a>&lt;
-    <b>typename</b> Key,
-    <b>typename</b> Mapped,
-    ...
-    <b>typename</b> Resize_Policy
-    ...&gt; :
-        <b>public</b> Resize_Policy
-</pre>
-
-    <p>As a container object is modified, it continuously notifies
-    its <tt>Resize_Policy</tt> base of internal changes
-    (<i>e.g.</i>, collisions encountered and elements being
-    inserted). It queries its <tt>Resize_Policy</tt> base whether
-    it needs to be resized, and if so, to what size.</p>
-
-    <p>Figure <a href="#insert_resize_sequence_diagram1">Insert
-    resize sequence diagram</a> shows a (possible) sequence diagram
-    of an insert operation. The user inserts an element; the hash
-    table notifies its resize policy that a search has started
-    (point A); in this case, a single collision is encountered -
-    the table notifies its resize policy of this (point B); the
-    container finally notifies its resize policy that the search
-    has ended (point C); it then queries its resize policy whether
-    a resize is needed, and if so, what is the new size (points D
-    to G); following the resize, it notifies the policy that a
-    resize has completed (point H); finally, the element is
-    inserted, and the policy notified (point I).</p>
-
-    <h6 class="c1"><a name="insert_resize_sequence_diagram1" id=
-    "insert_resize_sequence_diagram1"><img src=
-    "insert_resize_sequence_diagram1.png" alt=
-    "no image" /></a></h6>
-
-    <h6 class="c1">Insert resize sequence diagram.</h6>
-
-    <p>In practice, a resize policy can be usually orthogonally
-    decomposed to a size policy and a trigger policy. Consequently,
-    the library contains a single class for instantiating a resize
-    policy: <a href=
-    "hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
-    is parametrized by <tt>Size_Policy</tt> and
-    <tt>Trigger_Policy</tt>, derives <tt><b>public</b></tt>ly from
-    both, and acts as a standard delegate [<a href=
-    "references.html#gamma95designpatterns">gamma95designpatterns</a>]
-    to these policies.</p>
-
-    <p>Figures <a href="#insert_resize_sequence_diagram2">Standard
-    resize policy trigger sequence diagram</a> and <a href=
-    "#insert_resize_sequence_diagram3">Standard resize policy size
-    sequence diagram</a> show sequence diagrams illustrating the
-    interaction between the standard resize policy and its trigger
-    and size policies, respectively.</p>
-
-    <h6 class="c1"><a name="insert_resize_sequence_diagram2" id=
-    "insert_resize_sequence_diagram2"><img src=
-    "insert_resize_sequence_diagram2.png" alt=
-    "no image" /></a></h6>
-
-    <h6 class="c1">Standard resize policy trigger sequence
-    diagram.</h6>
-
-    <h6 class="c1"><a name="insert_resize_sequence_diagram3" id=
-    "insert_resize_sequence_diagram3"><img src=
-    "insert_resize_sequence_diagram3.png" alt=
-    "no image" /></a></h6>
-
-    <h6 class="c1">Standard resize policy size sequence
-    diagram.</h6>
-
-    <h4>Pre-Defined Policies</h4>
-
-    <p>The library includes the following
-    instantiations of size and trigger policies:</p>
-
-    <ol>
-      <li><a href=
-      "hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
-      implements a load check trigger policy.</li>
-
-      <li><a href=
-      "cc_hash_max_collision_check_resize_trigger.html"><tt>cc_hash_max_collision_check_resize_trigger</tt></a>
-      implements a collision check trigger policy.</li>
-
-      <li><a href=
-      "hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-      implements an exponential-size policy (which should be used
-      with mask range hashing).</li>
-
-      <li><a href=
-      "hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-      implementing a size policy based on a sequence of primes
-      [<a href="references.html#sgi_stl">sgi_stl</a>] (which should
-      be used with mod range hashing</li>
-    </ol>
-
-    <p>Figure <a href="#resize_policy_cd">Resize policy class
-    diagram</a> gives an overall picture of the resize-related
-    classes. <a href=
-    "basic_hash_table.html"><tt>basic_hash_table</tt></a>
-    is parametrized by <tt>Resize_Policy</tt>, which it subclasses
-    publicly. This class is currently instantiated only by <a href=
-    "hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>.
-    <a href=
-    "hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
-    itself is parametrized by <tt>Trigger_Policy</tt> and
-    <tt>Size_Policy</tt>. Currently, <tt>Trigger_Policy</tt> is
-    instantiated by <a href=
-    "hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>,
-    or <a href=
-    "cc_hash_max_collision_check_resize_trigger.html"><tt>cc_hash_max_collision_check_resize_trigger</tt></a>;
-    <tt>Size_Policy</tt> is instantiated by <a href=
-    "hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>,
-    or <a href=
-    "hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>.</p>
-
-    <h6 class="c1"><a name="resize_policy_cd" id=
-    "resize_policy_cd"><img src="resize_policy_cd.png" alt=
-    "no image" /></a></h6>
-
-    <h6 class="c1">Resize policy class diagram.</h6>
-
-    <h4>Controlled Access to Policies' Internals</h4>
-
-    <p>There are cases where (controlled) access to resize
-    policies' internals is beneficial. <i>E.g.</i>, it is sometimes
-    useful to query a hash-table for the table's actual size (as
-    opposed to its <tt>size()</tt> - the number of values it
-    currently holds); it is sometimes useful to set a table's
-    initial size, externally resize it, or change load factors.</p>
-
-    <p>Clearly, supporting such methods both decreases the
-    encapsulation of hash-based containers, and increases the
-    diversity between different associative-containers' interfaces.
-    Conversely, omitting such methods can decrease containers'
-    flexibility.</p>
-
-    <p>In order to avoid, to the extent possible, the above
-    conflict, the hash-based containers themselves do not address
-    any of these questions; this is deferred to the resize policies,
-    which are easier to change or replace. Thus, for example,
-    neither <a href=
-    "cc_hash_table.html"><tt>cc_hash_table</tt></a> nor
-    <a href=
-    "gp_hash_table.html"><tt>gp_hash_table</tt></a>
-    contain methods for querying the actual size of the table; this
-    is deferred to <a href=
-    "hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>.</p>
-
-    <p>Furthermore, the policies themselves are parametrized by
-    template arguments that determine the methods they support
-    ([<a href=
-    "references.html#alexandrescu01modern">alexandrescu01modern</a>]
-    shows techniques for doing so). <a href=
-    "hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
-    is parametrized by <tt>External_Size_Access</tt> that
-    determines whether it supports methods for querying the actual
-    size of the table or resizing it. <a href=
-    "hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
-    is parametrized by <tt>External_Load_Access</tt> that
-    determines whether it supports methods for querying or
-    modifying the loads. <a href=
-    "cc_hash_max_collision_check_resize_trigger.html"><tt>cc_hash_max_collision_check_resize_trigger</tt></a>
-    is parametrized by <tt>External_Load_Access</tt> that
-    determines whether it supports methods for querying the
-    load.</p>
-
-    <p>Some operations, for example, resizing a container at
-    run time, or changing the load factors of a load-check trigger
-    policy, require the container itself to resize. As mentioned
-    above, the hash-based containers themselves do not contain
-    these types of methods, only their resize policies.
-    Consequently, there must be some mechanism for a resize policy
-    to manipulate the hash-based container. As the hash-based
-    container is a subclass of the resize policy, this is done
-    through virtual methods. Each hash-based container has a
-    <tt><b>private</b></tt> <tt><b>virtual</b></tt> method:</p>
-    <pre>
-<b>virtual void</b>
-    do_resize
-    (size_type new_size);
-</pre>
-
-    <p>which resizes the container. Implementations of
-    <tt>Resize_Policy</tt> can export public methods for resizing
-    the container externally; these methods internally call
-    <tt>do_resize</tt> to resize the table.</p>
-
-    <h2><a name="policy_interaction" id="policy_interaction">Policy
-    Interaction</a></h2>
-
-    <p>Hash-tables are unfortunately especially susceptible to
-    choice of policies. One of the more complicated aspects of this
-    is that poor combinations of good policies can form a poor
-    container. Following are some considerations.</p>
-
-    <h3><a name="policy_interaction_probe_size_trigger" id=
-    "policy_interaction_probe_size_trigger">Probe Policies, Size
-    Policies, and Trigger Policies</a></h3>
-
-    <p>Some combinations do not work well for probing containers.
-    For example, combining a quadratic probe policy with an
-    exponential size policy can yield a poor container: when an
-    element is inserted, a trigger policy might decide that there
-    is no need to resize, as the table still contains unused
-    entries; the probe sequence, however, might never reach any of
-    the unused entries.</p>
-
-    <p>Unfortunately, <tt>pb_ds</tt> cannot detect such problems at
-    compilation (they are halting reducible). It therefore defines
-    an exception class <a href=
-    "insert_error.html"><tt>insert_error</tt></a> to throw an
-    exception in this case.</p>
-
-    <h3><a name="policy_interaction_hash_trigger" id=
-    "policy_interaction_hash_trigger">Hash Policies and Trigger
-    Policies</a></h3>
-
-    <p>Some trigger policies are especially susceptible to poor
-    hash functions. Suppose, as an extreme case, that the hash
-    function transforms each key to the same hash value. After some
-    inserts, a collision detecting policy will always indicate that
-    the container needs to grow.</p>
-
-    <p>The library, therefore, by design, limits each operation to
-    one resize. For each <tt>insert</tt>, for example, it queries
-    only once whether a resize is needed.</p>
-
-    <h3><a name="policy_interaction_eq_sth_hash" id=
-    "policy_interaction_eq_sth_hash">Equivalence Functors, Storing
-    Hash Values, and Hash Functions</a></h3>
-
-    <p><a href=
-    "cc_hash_table.html"><tt>cc_hash_table</tt></a> and
-    <a href=
-    "gp_hash_table.html"><tt>gp_hash_table</tt></a> are
-    parametrized by an equivalence functor and by a
-    <tt>Store_Hash</tt> parameter. If the latter parameter is
-    <tt><b>true</b></tt>, then the container stores with each entry
-    a hash value, and uses this value in case of collisions to
-    determine whether to apply a hash value. This can lower the
-    cost of collision for some types, but increase the cost of
-    collisions for other types.</p>
-
-    <p>If a ranged-hash function or ranged probe function is
-    directly supplied, however, then it makes no sense to store the
-    hash value with each entry. <tt>pb_ds</tt>'s container will
-    fail at compilation, by design, if this is attempted.</p>
-
-    <h3><a name="policy_interaction_size_load_check" id=
-    "policy_interaction_size_load_check">Size Policies and
-    Load-Check Trigger Policies</a></h3>
-
-    <p>Assume a size policy issues an increasing sequence of sizes
-    <i>a, a q, a q<sup>1</sup>, a q<sup>2</sup>, ...</i> For
-    example, an exponential size policy might issue the sequence of
-    sizes <i>8, 16, 32, 64, ...</i></p>
-
-    <p>If a load-check trigger policy is used, with loads
-    <i>&alpha;<sub>min</sub></i> and <i>&alpha;<sub>max</sub></i>,
-    respectively, then it is a good idea to have:</p>
-
-    <ol>
-      <li><i>&alpha;<sub>max</sub> ~ 1 / q</i></li>
-
-      <li><i>&alpha;<sub>min</sub> &lt; 1 / (2 q)</i></li>
-    </ol>
-
-    <p>This will ensure that the amortized hash cost of each
-    modifying operation is at most approximately 3.</p>
-
-    <p><i>&alpha;<sub>min</sub> ~ &alpha;<sub>max</sub></i> is, in
-    any case, a bad choice, and <i>&alpha;<sub>min</sub> &gt;
-    &alpha;<sub>max</sub></i> is horrendous.</p>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_exponential_size_policy.html b/libstdc++-v3/doc/html/ext/pb_ds/hash_exponential_size_policy.html
deleted file mode 100644 (file)
index 1089b15..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-<!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>hash_exponential_size_policy Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>hash_exponential_size_policy</tt> Interface</h1>
-
-    <p>A size policy whose sequence of sizes form an exponential
-    sequence (typically powers of 2)</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="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>
-    </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>
-  hash_exponential_size_policy
-  (<a href=
-"#size_type55424436"><tt>size_type</tt></a> start_size = 8, 
-    <a href=
-"#size_type55424436"><tt>size_type</tt></a> grow_factor = 2)
-</pre>
-        </td>
-
-        <td>
-          <p>Default constructor, or constructor taking a
-          <span class="c1"><tt>start_size</tt></span>, or
-          constructor taking a start size and <span class=
-          "c1"><tt>grow_factor</tt></span>. The policy will use the
-          sequence of sizes <span class=
-          "c1"><tt>start_size</tt></span>, <span class=
-          "c1"><tt>start_size</tt></span> * <span class=
-          "c1"><tt>grow_factor</tt></span>, <span class=
-          "c1"><tt>start_size</tt></span> * <span class=
-          "c1"><tt>grow_factor</tt></span>^2, ...</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>void</b> 
-  swap
-  (<span class=
-"c2"><tt>hash_exponential_size_policy</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Swaps content.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link6" id="link6">Protected Methods</a></h2>
-
-    <h3><a name="link7" id="link7">Size 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="#size_type55424436"><tt>size_type</tt></a>
-  get_nearest_larger_size
-  (<a href=
-"#size_type55424436"><tt>size_type</tt></a> size) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Given a size <span class="c1"><tt>size</tt></span>,
-          returns a size that is larger.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a href="#size_type55424436"><tt>size_type</tt></a>
-  get_nearest_smaller_size
-  (<a href=
-"#size_type55424436"><tt>size_type</tt></a> size) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Given a size <span class="c1"><tt>size</tt></span>,
-          returns a size that is smaller.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_load_check_resize_trigger.html b/libstdc++-v3/doc/html/ext/pb_ds/hash_load_check_resize_trigger.html
deleted file mode 100644 (file)
index b22b7b5..0000000
+++ /dev/null
@@ -1,583 +0,0 @@
-<!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>hash_load_check_resize_trigger Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>hash_load_check_resize_trigger</tt> Interface</h1>
-
-    <p>A resize trigger policy based on a load check. It keeps the
-    load factor between some load factors load_min and
-    load_max.</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>
-  hash_load_check_resize_trigger
-  (float load_min = 0.125, 
-    float load_max = 0.5)
-</pre>
-        </td>
-
-        <td>
-          <p>Default constructor, or constructor taking
-          <span class="c1"><tt>load_min</tt></span> and
-          <span class="c1"><tt>load_max</tt></span> load factors
-          between which this policy will keep the actual load.</p>
-
-          <p>It is the responsibility of the user to ensure that
-          <span class="c1"><tt>load_min</tt></span> is smaller than
-          <span class="c1"><tt>load_max</tt></span>.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>void</b>
-  swap
-  (<span class=
-"c2"><tt>hash_load_check_resize_trigger</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Swaps content.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-  <b>virtual</b>
-    ~hash_load_check_resize_trigger
-    ()
-</pre>
-        </td>
-
-        <td>
-          <p>Destructor.</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> std::pair&lt;float, float&gt;
-  get_loads
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns a pair of the minimal and maximal loads,
-          respectively.</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_loads
-  (std::pair&lt;float, float&gt; load_pair)
-</pre>
-        </td>
-
-        <td>
-          <p>Sets the loads through a pair of the minimal and
-          maximal loads, respectively.</p>
-
-          <p>Calling this method resizes the container, and might
-          throw an exception. It is the responsibility of the user
-          to pass appropriate loads 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. the total number of
-          entries in the table is <span class=
-          "c1"><tt>num_entries</tt></span>.</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
-          resize is needed. The actual <span class=
-          "c1"><tt>size</tt></span> of the table is <span class=
-          "c1"><tt>size</tt></span>, and the number of entries in
-          it is <span class="c1"><tt>num_entries</tt></span>.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link14" id="link14">Private Methods</a></h2>
-
-    <h3><a name="link15" id="link15">Overrides</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
-  (<a href="#size_type55424436"><tt>size_type</tt></a> new_size)
-</pre>
-        </td>
-
-        <td>
-          <p>Resizes to <span class=
-          "c1"><tt>new_size</tt></span>.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_policy_cd.png b/libstdc++-v3/doc/html/ext/pb_ds/hash_policy_cd.png
deleted file mode 100644 (file)
index f3122a1..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/hash_policy_cd.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_prime_size_policy.html b/libstdc++-v3/doc/html/ext/pb_ds/hash_prime_size_policy.html
deleted file mode 100644 (file)
index 8976767..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-<!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>hash_prime_size_policy Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>hash_prime_size_policy</tt> Interface</h1>
-
-    <p>A size policy whose sequence of sizes form a
-    nearly-exponential sequence of primes.</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">Public Types and
-    Constants</a></h2>
-
-    <h3><a name="link2" id="link2">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>
-size_t
-</pre>
-        </td>
-
-        <td>
-          <p>Size type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link3" id="link3">Public Methods</a></h2>
-
-    <h3><a name="link4" id="link4">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>
-  hash_prime_size_policy
-  (<a href=
-"#size_type55424436"><tt>size_type</tt></a> start_size = 8)
-</pre>
-        </td>
-
-        <td>
-          <p>Default constructor, or constructor taking a
-          <span class="c1"><tt>start_size</tt></span> The policy
-          will use the sequence of sizes approximately <span class=
-          "c1"><tt>start_size</tt></span>, <span class=
-          "c1"><tt>start_size</tt></span> * 2, <span class=
-          "c1"><tt>start_size</tt></span> * 2^2, ...</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <b>void</b>
-  swap
-  (<span class=
-"c2"><tt>hash_prime_size_policy</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Swaps content.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link5" id="link5">Protected Methods</a></h2>
-
-    <h3><a name="link6" id="link6">Size 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="#size_type55424436"><tt>size_type</tt></a>
-  get_nearest_larger_size
-  (<a href=
-"#size_type55424436"><tt>size_type</tt></a> size) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Given a size <span class="c1"><tt>size</tt></span>,
-          returns a size that is larger.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a href="#size_type55424436"><tt>size_type</tt></a>
-  get_nearest_smaller_size
-  (<a href=
-"#size_type55424436"><tt>size_type</tt></a> size) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Given a size <span class="c1"><tt>size</tt></span>,
-          returns a size that is smaller.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test.html b/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test.html
deleted file mode 100644 (file)
index 2867595..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-<!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 Text Locality of Reference Timing Test</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>Hash-Based Erase Memory-Use Test</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of uniform i.i.d. integer keys
-    into a container, then erases all keys except one. It measures
-    the final size of the container.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc"><tt>hash_random_int_erase_mem_usage.cc</tt></a>
-    2000 2000 2100)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks how containers adjust internally as their
-    logical size decreases (see <a href="motivation.html#assoc_ers_methods">Motivation::Associative
-    Containers::Slightly Different Methods::Methods Related to
-    Erase</a>).</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NHG">NHG</a>, <a href="#NHM">NHM</a> and
-    <a href="#NHL">NHL</a> show the results for the native and
-    collision-chaining types in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a> and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively.</p>
-<div id="NHG_res_div">
-<div id="NHG_gcc">
-<div id="NHG_hash_random_int_erase_mem_usage_test">
-<div id="NHG_assoc">
-<div id="NHG_Native_456_collision-chaing_456_and_probing_456_hash_random_int_erase_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHG" id="NHG"><img src="hash_random_int_erase_mem_usage_test_gcc.png" alt="no image" /></a></h6>NHG: Native, collision-chaing, and probing, hash random int erase test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_hash_set_ncah-
-<tt>std::tr1::unordered_set</tt> with <tt>cache_hash_code</tt> = <tt><b>false</b></tt></li>
-<li>
-gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a>
- with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a>
-</li>
-<li>
-cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHM_res_div">
-<div id="NHM_msvc">
-<div id="NHM_hash_random_int_erase_mem_usage_test">
-<div id="NHM_assoc">
-<div id="NHM_Native_456_collision-chaing_456_and_probing_456_hash_random_int_erase_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHM" id="NHM"><img src="hash_random_int_erase_mem_usage_test_msvc.png" alt="no image" /></a></h6>NHM: Native, collision-chaing, and probing, hash random int erase test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_hash_set_ncah-
-<tt>stdext::hash_set</tt></li>
-<li>
-gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a>
- with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a>
-</li>
-<li>
-cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHM_res_div">
-<div id="NHM_msvc">
-<div id="NHM_hash_random_int_erase_mem_usage_test">
-<div id="NHM_assoc">
-<div id="NHM_Native_456_collision-chaing_456_and_probing_456_hash_random_int_erase_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHM" id="NHM"><img src="hash_random_int_erase_mem_usage_test_msvc.png" alt="no image" /></a></h6>NHM: Native, collision-chaing, and probing, hash random int erase test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_hash_set_ncah-
-<tt>stdext::hash_set</tt></li>
-<li>
-gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a>
- with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a>
-</li>
-<li>
-cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHL_res_div">
-<div id="NHL_local">
-<div id="NHL_hash_random_int_erase_mem_usage_test">
-<div id="NHL_assoc">
-<div id="NHL_Native_456_collision-chaing_456_and_probing_456_hash_random_int_erase_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHL" id= "NHL"><img src="hash_random_int_erase_mem_usage_test_local.png" alt="no image" /></a></h6>NHL: Native, collision-chaing, and probing, hash random int erase test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>STL hash-based containers act very differently than trees in
-    this respect. When erasing numerous keys from an STL
-    associative-container, the resulting memory user varies greatly
-    depending on whether the container is tree-based or hash-based.
-    As noted in <a href="motivation.html#assoc_methods">Motivation::Choice of
-    Methods</a> , this is a fundamental consequence of the STL's
-    associative containers' interface, it is not due to a specific
-    implementation.</p>
-<p>(See <a href="priority_queue_text_pop_mem_usage_test.html">Priority Queue
-    Text <tt>pop</tt> Memory Use Test</a> for a similar phenomenon
-    regarding priority queues.)</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_gcc.png
deleted file mode 100644 (file)
index c552506..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_local.png b/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_local.png
deleted file mode 100644 (file)
index 66bb0eb..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_msvc.png
deleted file mode 100644 (file)
index 8c23d46..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_find_find_timing_test.html b/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_find_find_timing_test.html
deleted file mode 100644 (file)
index b6066e7..0000000
+++ /dev/null
@@ -1,247 +0,0 @@
-<!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>Hash Random Int Find Timing Test</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>Hash-Based Random-Integer <tt>find</tt> Find Timing
-    Test</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of values with uniform i.i.d.
-    integer keys into a container, then performs a series of finds
-    using <tt>find</tt>. It measures the average time
-    for<tt>find</tt> as a function of the number of values
-    inserted.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/random_int_find_timing.cc"><tt>random_int_find_timing_test</tt></a>
-    200 200 2100)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the effect of different underlying
-    hash-tables (see <a href="hash_based_containers.html">Design::Associative
-    Containers::Associative Containers::Hash-Based Containers</a>),
-    range-hashing functions, and trigger policies (see <a href="hash_based_containers.html#hash_policies">Design::Associative
-    Containers::Hash-Based Containers::Hash Policies</a> and
-    <a href="hash_based_containers.html#resize_policies">Design::Associative
-    Containers::Hash-Based Containers::Resize Policies</a>).</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NCCG">NCCG</a>, <a href="#NCCM">NCCM</a>,
-    and <a href="#NCCL">NCCL</a> show the results for the native
-    and collision-chaining types in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>MSVC++</u></a>, and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively; Figures <a href="#NGPG">NGPG</a>, <a href="#NGPM">NGPM</a>, and <a href="#NGPL">NGPL</a> show the results
-    for the native and probing types in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>MSVC++</u></a>, and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>
-    respectively.</p>
-<div id="NCCG_res_div">
-<div id="NCCG_gcc">
-<div id="NCCG_cc_hash_random_int_find_timing_test">
-<div id="NCCG_assoc">
-<div id="NCCG_Native_and_collision-chaining_hash_random_int_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCG" id="NCCG"><img src="cc_hash_random_int_find_timing_test_gcc.png" alt="no image" /></a></h6>NCCG: Native and collision-chaining hash random int find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_hash_map_ncah-
-<tt>std::tr1::unordered_map</tt> with <tt>cache_hash_code</tt> = <tt><b>false</b></tt></li>
-<li>
-cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-<li>
-cc_hash_mod_prime_nea_lc_1div8_1div2_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NCCM_res_div">
-<div id="NCCM_msvc">
-<div id="NCCM_cc_hash_random_int_find_timing_test">
-<div id="NCCM_assoc">
-<div id="NCCM_Native_and_collision-chaining_hash_random_int_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCM" id="NCCM"><img src="cc_hash_random_int_find_timing_test_msvc.png" alt="no image" /></a></h6>NCCM: Native and collision-chaining hash random int find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-<li>
-cc_hash_mod_prime_nea_lc_1div8_1div2_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-n_hash_map_ncah-
-<tt>stdext::hash_map</tt></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NCCL_res_div">
-<div id="NCCL_local">
-<div id="NCCL_cc_hash_random_int_find_timing_test">
-<div id="NCCL_assoc">
-<div id="NCCL_Native_and_collision-chaining_hash_random_int_find_timing_test_using__tt_find_455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCL" id= "NCCL"><img src="cc_hash_random_int_find_timing_test_local.png" alt="no image" /></a></h6>NCCL: Native and collision-chaining hash random int find timing test using <tt>find</tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NGPG_res_div">
-<div id="NGPG_gcc">
-<div id="NGPG_gp_hash_random_int_find_timing_test">
-<div id="NGPG_assoc">
-<div id="NGPG_Native_and_collision-chaining_hash_random_int_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NGPG" id="NGPG"><img src="gp_hash_random_int_find_timing_test_gcc.png" alt="no image" /></a></h6>NGPG: Native and collision-chaining hash random int find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map-
-<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a>
- with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a>
-</li>
-<li>
-n_hash_map_ncah-
-<tt>std::tr1::unordered_map</tt> with <tt>cache_hash_code</tt> = <tt><b>false</b></tt></li>
-<li>
-gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_map-
-<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a>
- with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NGPM_res_div">
-<div id="NGPM_msvc">
-<div id="NGPM_gp_hash_random_int_find_timing_test">
-<div id="NGPM_assoc">
-<div id="NGPM_Native_and_collision-chaining_hash_random_int_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NGPM" id="NGPM"><img src="gp_hash_random_int_find_timing_test_msvc.png" alt="no image" /></a></h6>NGPM: Native and collision-chaining hash random int find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map-
-<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a>
- with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a>
-</li>
-<li>
-n_hash_map_ncah-
-<tt>stdext::hash_map</tt></li>
-<li>
-gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_map-
-<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a>
- with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NGPL_res_div">
-<div id="NGPL_local">
-<div id="NGPL_gp_hash_random_int_find_timing_test">
-<div id="NGPL_assoc">
-<div id="NGPL_Native_and_collision-chaining_hash_random_int_find_timing_test_using__tt_find_455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NGPL" id= "NGPL"><img src="gp_hash_random_int_find_timing_test_local.png" alt="no image" /></a></h6>NGPL: Native and collision-chaining hash random int find timing test using <tt>find</tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>In this setting, the choice of underlying hash-table (see
-    <a href="hash_based_containers.html">Design::Associative
-    Containers::Hash-Based Containers</a> ) affects performance
-    most, then the range-hashing scheme (See <a href="hash_based_containers.html#hash_policies">Design::Associative
-    Containers::Hash-Based Containers::Hash Policies</a> ), and,
-    only finally, other policies.</p>
-<p>When comparing Figures <a href="#NCCG">NCCG</a> and <a href="#NCCM">NCCM</a> to <a href="#NGPG">NGPG</a> and <a href="#NGPM">NGPM</a> , respectively, it is apparent that the
-    probing containers are less efficient than the
-    collision-chaining containers (both
-    <tt>std::tr1::unordered_map</tt> and <tt>stdext::hash_map</tt>
-    use collision-chaining) in this case.</p>
-<p>( <a href="hash_random_int_subscript_insert_timing_test.html">Hash-Based
-    Random-Integer Subscript Insert Timing Test</a> shows a
-    different case, where the situation is reversed; <a href="assoc_performance_tests.html#hash_based_types">Observations::Hash-Based
-    Container Types</a> discusses some further considerations.)</p>
-<p>Within each type of hash-table, the range-hashing scheme
-    affects performance more than other policies; <a href="hash_text_find_find_timing_test.html#observations">Hash-Based
-    Text <tt>find</tt> Find Timing Test::Observations</a> discusses
-    this. In Figures <a href="#NCCG">NCCG</a> , <a href="#NCCM">NCCM</a> , <a href="#NGPG">NGPG</a> , and <a href="#NGPM">NGPM</a> , it should be noted that
-    <tt>std::tr1::unordered_map</tt> and <tt>stdext::hash_map</tt>
-    are hard-wired currently to mod-based and mask-based schemes,
-    respectively.</p>
-<p><a href="assoc_performance_tests.html#hash_based_types">Observations::Hash-Based
-    Container Types</a> summarizes some observations on hash-based
-    containers; <a href="assoc_performance_tests.html#hash_based_policies">Observations::Hash-Based
-    Containers' Policies</a> summarizes some observations on
-    hash-based containers' policies.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_subscript_find_timing_test.html b/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_subscript_find_timing_test.html
deleted file mode 100644 (file)
index 0025163..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-<!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>Hash Random Int Subscript Find Timing Test</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>Hash-Based Random-Integer <tt><b>operator</b>[]</tt>
-    FindTiming Test</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of values with uniform i.i.d.
-    integer keys into a container, then performs a series of finds
-    using <tt><b>operator</b>[]</tt>. It measures the average time
-    for <tt><b>operator</b>[]</tt> as a function of the number of
-    values inserted.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/random_int_subscript_find_timing.cc"><tt>hash_random_int_subscript_find_timing_test</tt></a>
-    200 200 2100)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the effect of different underlying
-    hash-tables (see <a href="hash_based_containers.html">Design::Hash-Based Containers</a>
-    ), range-hashing functions, and trigger policies (see <a href="hash_based_containers.html#hash_policies">Design::Hash-Based
-    Containers::Hash Policies</a> and <a href="hash_based_containers.html#resize_policies">Design::Hash-Based
-    Containers::Resize Policies</a> ).</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NCCG">NCCG</a>, <a href="#NCCM">NCCM</a>,
-    and <a href="#NCCL">NCCL</a> show the results for the native
-    and collision-chaining types in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>MSVC++</u></a>, and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively; Figures <a href="#NGPG">NGPG</a>, <a href="#NGPM">NGPM</a>, and <a href="#NGPL">NGPL</a> show the results
-    for the native and probing types in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>MSVC++</u></a>, and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively.</p>
-<div id="NCCG_res_div">
-<div id="NCCG_gcc">
-<div id="NCCG_cc_hash_random_int_subscript_timing_test_find">
-<div id="NCCG_assoc">
-<div id="NCCG_Native_and_collision-chaining_hash_random_int_find_timing_test_using__tt__b_operator_455b__455tt__457"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCG" id="NCCG"><img src="cc_hash_random_int_subscript_timing_test_find_gcc.png" alt="no image" /></a></h6>NCCG: Native and collision-chaining hash random int find timing test using <tt><b>operator</b></tt>[] - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_hash_map_ncah-
-<tt>std::tr1::unordered_map</tt> with <tt>cache_hash_code</tt> = <tt><b>false</b></tt></li>
-<li>
-cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-<li>
-cc_hash_mod_prime_nea_lc_1div8_1div2_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NCCM_res_div">
-<div id="NCCM_msvc">
-<div id="NCCM_cc_hash_random_int_subscript_timing_test_find">
-<div id="NCCM_assoc">
-<div id="NCCM_Native_and_collision-chaining_hash_random_int_find_timing_test_using__tt__b_operator_455b__455tt__457"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCM" id="NCCM"><img src="cc_hash_random_int_subscript_timing_test_find_msvc.png" alt="no image" /></a></h6>NCCM: Native and collision-chaining hash random int find timing test using <tt><b>operator</b></tt>[] - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-<li>
-cc_hash_mod_prime_nea_lc_1div8_1div2_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-n_hash_map_ncah-
-<tt>stdext::hash_map</tt></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NCCL_res_div">
-<div id="NCCL_local">
-<div id="NCCL_cc_hash_random_int_subscript_timing_test_find">
-<div id="NCCL_assoc">
-<div id="NCCL_Native_and_collision-chaining_hash_random_int_find_timing_test_using__tt__b_operator_455b__455tt__457"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCL" id= "NCCL"><img src="cc_hash_random_int_subscript_timing_test_find_local.png" alt="no image" /></a></h6>NCCL: Native and collision-chaining hash random int find timing test using <tt><b>operator</b></tt>[] - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NGPG_res_div">
-<div id="NGPG_gcc">
-<div id="NGPG_gp_hash_random_int_subscript_timing_test_find">
-<div id="NGPG_assoc">
-<div id="NGPG_Native_and_probing_hash_random_int_find_timing_test_using__tt__b_operator_455b__455tt__457"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NGPG" id="NGPG"><img src="gp_hash_random_int_subscript_timing_test_find_gcc.png" alt="no image" /></a></h6>NGPG: Native and probing hash random int find timing test using <tt><b>operator</b></tt>[] - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_hash_map_ncah-
-<tt>std::tr1::unordered_map</tt> with <tt>cache_hash_code</tt> = <tt><b>false</b></tt></li>
-<li>
-gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map-
-<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a>
- with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a>
-</li>
-<li>
-gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_map-
-<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a>
- with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NGPM_res_div">
-<div id="NGPM_msvc">
-<div id="NGPM_gp_hash_random_int_subscript_timing_test_find">
-<div id="NGPM_assoc">
-<div id="NGPM_Native_and_probing_hash_random_int_find_timing_test_using__tt__b_operator_455b__455tt__457"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NGPM" id="NGPM"><img src="gp_hash_random_int_subscript_timing_test_find_msvc.png" alt="no image" /></a></h6>NGPM: Native and probing hash random int find timing test using <tt><b>operator</b></tt>[] - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map-
-<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a>
- with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a>
-</li>
-<li>
-n_hash_map_ncah-
-<tt>stdext::hash_map</tt></li>
-<li>
-gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_map-
-<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a>
- with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NGPL_res_div">
-<div id="NGPL_local">
-<div id="NGPL_gp_hash_random_int_subscript_timing_test_find">
-<div id="NGPL_assoc">
-<div id="NGPL_Native_and_probing_hash_random_int_find_timing_test_using__tt__b_operator_455b__455tt__457"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NGPL" id= "NGPL"><img src="gp_hash_random_int_subscript_timing_test_find_local.png" alt="no image" /></a></h6>NGPL: Native and probing hash random int find timing test using <tt><b>operator</b></tt>[] - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>This test shows similar results to <a href="hash_random_int_find_find_timing_test.html">Hash-Based
-    Random-Integer <tt>find</tt> Find Timing Test</a> .</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_subscript_insert_timing_test.html b/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_subscript_insert_timing_test.html
deleted file mode 100644 (file)
index a15d03b..0000000
+++ /dev/null
@@ -1,365 +0,0 @@
-<!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>Hash Random Int Subscript Insert Timing Test</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>Hash-Based Random-Integer <tt><b>operator</b>[]</tt> Insert
-    Timing Test</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of values with uniform i.i.d.
-    integer keys into a container, using
-    <tt><b>operator</b>[]</tt>. It measures the average time for
-    <tt><b>operator</b>[]</tt> as a function of the number of
-    values inserted.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/random_int_subscript_insert_timing.cc"><tt>hash_random_int_subscript_insert_timing_test</tt></a>
-    200 200 2100)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test primarily checks the effect of different underlying
-    hash-tables (see <a href="hash_based_containers.html">Design::Associative
-    Containers::Associative Containers::Hash-Based
-    Containers</a>).</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NCCG">NCCG</a>, <a href="#NCCM">NCCM</a>,
-    and <a href="#NCCL">NCCL</a> show the results for the native
-    and collision-chaining types in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>MSVC++</u></a>, and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively; Figures <a href="#NGPG">NGPG</a>, <a href="#NGPM">NGPM</a>, and <a href="#NGPL">NGPL</a> show the results
-    for the native and probing types in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>
-    respectively; Figures <a href="#CCGPG">CCGPG</a>, <a href="#CCGPM">CCGPM</a>, and <a href="#CCGPL">CCGPL</a> compare the
-    results for the collision-chaining and probing types of
-    <tt>pb_ds</tt> only, in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>MSVC++</u></a>, and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>
-    respectively.</p>
-<div id="NCCG_res_div">
-<div id="NCCG_gcc">
-<div id="NCCG_cc_hash_random_int_subscript_timing_test_insert">
-<div id="NCCG_assoc">
-<div id="NCCG_Native_and_collision-chaining_hash_random_int_insert_timing_test_using__tt__b_operator_455b__455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCG" id="NCCG"><img src="cc_hash_random_int_subscript_timing_test_insert_gcc.png" alt="no image" /></a></h6>NCCG: Native and collision-chaining hash random int insert timing test using <tt><b>operator</b></tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-cc_hash_mod_prime_nea_lc_1div8_1div2_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-n_hash_map_ncah-
-<tt>std::tr1::unordered_map</tt> with <tt>cache_hash_code</tt> = <tt><b>false</b></tt></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NCCM_res_div">
-<div id="NCCM_msvc">
-<div id="NCCM_cc_hash_random_int_subscript_timing_test_insert">
-<div id="NCCM_assoc">
-<div id="NCCM_Native_and_collision-chaining_hash_random_int_insert_timing_test_using__tt__b_operator_455b__455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCM" id="NCCM"><img src="cc_hash_random_int_subscript_timing_test_insert_msvc.png" alt="no image" /></a></h6>NCCM: Native and collision-chaining hash random int insert timing test using <tt><b>operator</b></tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_hash_map_ncah-
-<tt>stdext::hash_map</tt></li>
-<li>
-cc_hash_mod_prime_nea_lc_1div8_1div2_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NCCL_res_div">
-<div id="NCCL_local">
-<div id="NCCL_cc_hash_random_int_subscript_timing_test_insert">
-<div id="NCCL_assoc">
-<div id="NCCL_Native_and_collision-chaining_hash_random_int_insert_timing_test_using__tt__b_operator_455b__455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCL" id= "NCCL"><img src="cc_hash_random_int_subscript_timing_test_insert_local.png" alt="no image" /></a></h6>NCCL: Native and collision-chaining hash random int insert timing test using <tt><b>operator</b></tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NGPG_res_div">
-<div id="NGPG_gcc">
-<div id="NGPG_gp_hash_random_int_subscript_timing_test_insert">
-<div id="NGPG_assoc">
-<div id="NGPG_Native_and_probing_hash_random_int_insert_timing_test_using__tt__b_operator_455b__455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NGPG" id="NGPG"><img src="gp_hash_random_int_subscript_timing_test_insert_gcc.png" alt="no image" /></a></h6>NGPG: Native and probing hash random int insert timing test using <tt><b>operator</b></tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map-
-<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a>
- with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a>
-</li>
-<li>
-n_hash_map_ncah-
-<tt>std::tr1::unordered_map</tt> with <tt>cache_hash_code</tt> = <tt><b>false</b></tt></li>
-<li>
-gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_map-
-<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a>
- with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NGPM_res_div">
-<div id="NGPM_msvc">
-<div id="NGPM_gp_hash_random_int_subscript_timing_test_insert">
-<div id="NGPM_assoc">
-<div id="NGPM_Native_and_probing_hash_random_int_insert_timing_test_using__tt__b_operator_455b__455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NGPM" id="NGPM"><img src="gp_hash_random_int_subscript_timing_test_insert_msvc.png" alt="no image" /></a></h6>NGPM: Native and probing hash random int insert timing test using <tt><b>operator</b></tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_hash_map_ncah-
-<tt>stdext::hash_map</tt></li>
-<li>
-gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map-
-<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a>
- with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a>
-</li>
-<li>
-gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_map-
-<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a>
- with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NGPL_res_div">
-<div id="NGPL_local">
-<div id="NGPL_gp_hash_random_int_subscript_timing_test_insert">
-<div id="NGPL_assoc">
-<div id="NGPL_Native_and_probing_hash_random_int_insert_timing_test_using__tt__b_operator_455b__455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NGPL" id= "NGPL"><img src="gp_hash_random_int_subscript_timing_test_insert_local.png" alt="no image" /></a></h6>NGPL: Native and probing hash random int insert timing test using <tt><b>operator</b></tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="CCGPG_res_div">
-<div id="CCGPG_gcc">
-<div id="CCGPG_ccgp_hash_random_int_subscript_timing_test_insert">
-<div id="CCGPG_assoc">
-<div id="CCGPG_Collision-chaining_and_probing_hash_random_int_insert_timing_test_using__tt__b_operator_455b__455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="CCGPG" id="CCGPG"><img src="ccgp_hash_random_int_subscript_timing_test_insert_gcc.png" alt="no image" /></a></h6>CCGPG: Collision-chaining and probing hash random int insert timing test using <tt><b>operator</b></tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map-
-<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a>
- with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a>
-</li>
-<li>
-cc_hash_mod_prime_nea_lc_1div8_1div2_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_map-
-<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a>
- with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="CCGPM_res_div">
-<div id="CCGPM_msvc">
-<div id="CCGPM_ccgp_hash_random_int_subscript_timing_test_insert">
-<div id="CCGPM_assoc">
-<div id="CCGPM_Collision-chaining_and_probing_hash_random_int_insert_timing_test_using__tt__b_operator_455b__455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="CCGPM" id="CCGPM"><img src="ccgp_hash_random_int_subscript_timing_test_insert_msvc.png" alt="no image" /></a></h6>CCGPM: Collision-chaining and probing hash random int insert timing test using <tt><b>operator</b></tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-cc_hash_mod_prime_nea_lc_1div8_1div2_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map-
-<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a>
- with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a>
-</li>
-<li>
-gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_map-
-<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a>
- with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="CCGPL_res_div">
-<div id="CCGPL_local">
-<div id="CCGPL_ccgp_hash_random_int_subscript_timing_test_insert">
-<div id="CCGPL_assoc">
-<div id="CCGPL_Collision-chaining_and_probing_hash_random_int_insert_timing_test_using__tt__b_operator_455b__455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="CCGPL" id= "CCGPL"><img src="ccgp_hash_random_int_subscript_timing_test_insert_local.png" alt="no image" /></a></h6>CCGPL: Collision-chaining and probing hash random int insert timing test using <tt><b>operator</b></tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>In this setting, as in <a href="hash_text_find_find_timing_test.html">Hash-Based Text
-    <tt>find</tt> Find Timing Test</a> and <a href="hash_random_int_find_find_timing_test.html">Hash-Based
-    Random-Integer <tt>find</tt> Find Timing Test</a> , the choice
-    of underlying hash-table underlying hash-table (see <a href="hash_based_containers.html">Design::Associative
-    Containers::Hash-Based Containers</a> ) affects performance
-    most, then the range-hashing scheme (See <a href="hash_based_containers.html#hash_policies">Design::Associative
-    Containers::Hash-Based Containers::Hash Policies</a> ), and,
-    only finally, other policies.</p>
-<p>There are some differences, however:</p>
-<ol>
-<li>In this setting, probing tables function sometimes more
-      efficiently than collision-chaining tables (see Figures
-      <a href="#CCGPG">CCGPG</a> and <a href="#CCGPM">CCGPM</a> ).
-      This is explained shortly.</li>
-<li>The performance graphs have a "saw-tooth" shape. The
-      average insert time rises and falls. As values are inserted
-      into the container, the load factor grows larger. Eventually,
-      a resize occurs. The reallocations and rehashing are
-      relatively expensive. After this, the load factor is smaller
-      than before.</li>
-</ol>
-<p>Collision-chaining containers use indirection for greater
-    flexibility; probing containers store values contiguously, in
-    an array (see Figure <a href="motivation.html#different_underlying_data_structures">Motivation::Different
-    underlying data structures</a> A and B, respectively). It
-    follows that for simple data types, probing containers access
-    their allocator less frequently than collision-chaining
-    containers, (although they still have less efficient probing
-    sequences). This explains why some probing containers fare
-    better than collision-chaining containers in this case.</p>
-<p>Within each type of hash-table, the range-hashing scheme
-    affects performance more than other policies. This is similar
-    to the situation in <a href="hash_text_find_find_timing_test.html">Hash-Based Text
-    <tt>find</tt> Find Timing Test</a> and <a href="hash_random_int_find_find_timing_test.html">Hash-Based
-    Random-Integer <tt>find</tt> Find Timing Test</a>.
-    Unsurprisingly, however, containers with <u>lower</u>
-<i>alpha<sub>max</sub></i> perform <u>worse</u> in this case,
-    since more re-hashes are performed.</p>
-<p><a href="assoc_performance_tests.html#hash_based_types">Observations::Hash-Based
-    Container Types</a> summarizes some observations on hash-based
-    containers; <a href="assoc_performance_tests.html#hash_based_policies">Observations::Hash-Based
-    Containers' Policies</a> summarizes some observations on
-    hash-based containers' policies.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_range_hashing_seq_diagram.png b/libstdc++-v3/doc/html/ext/pb_ds/hash_range_hashing_seq_diagram.png
deleted file mode 100644 (file)
index 5c37407..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/hash_range_hashing_seq_diagram.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_range_hashing_seq_diagram2.png b/libstdc++-v3/doc/html/ext/pb_ds/hash_range_hashing_seq_diagram2.png
deleted file mode 100644 (file)
index 87763ca..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/hash_range_hashing_seq_diagram2.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_ranged_hash_range_hashing_fns.png b/libstdc++-v3/doc/html/ext/pb_ds/hash_ranged_hash_range_hashing_fns.png
deleted file mode 100644 (file)
index 5e0d7f4..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/hash_ranged_hash_range_hashing_fns.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_standard_resize_policy.html b/libstdc++-v3/doc/html/ext/pb_ds/hash_standard_resize_policy.html
deleted file mode 100644 (file)
index 8dbc57c..0000000
+++ /dev/null
@@ -1,795 +0,0 @@
-<!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>hash_standard_resize_policy Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>hash_standard_resize_policy</tt> Interface</h1>
-
-    <p>A resize policy which delegates operations to size and
-    trigger policies.</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="Size_Policy1072992366" id=
-"Size_Policy1072992366"><b>class</b> Size_Policy </a>
-</pre>
-        </td>
-
-        <td>
-          <p>Size policy type.</p>
-        </td>
-
-        <td><a href=
-        "hash_exponential_size_policy.html"><span class="c2"><tt>hash_exponential_size_policy</tt></span></a></td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="Trigger_Policy3611271815" id=
-"Trigger_Policy3611271815"><b>class</b> Trigger_Policy </a>
-</pre>
-        </td>
-
-        <td>
-          <p>Trigger policy type.</p>
-        </td>
-
-        <td><a href=
-        "hash_load_check_resize_trigger.html"><span class=
-        "c2"><tt>hash_load_check_resize_trigger</tt></span></a></td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="External_Size_Access1380482982" id=
-"External_Size_Access1380482982"><b>bool</b> External_Size_Access </a>
-</pre>
-        </td>
-
-        <td>
-          <p>Indicates whether physical sizes can be accessed
-          externally.</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">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="#Size_Policy1072992366"><tt>Size_Policy</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>public</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a href="#Trigger_Policy3611271815"><tt>Trigger_Policy</tt></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">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>
-    </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="trigger_policy4019166151" id=
-"trigger_policy4019166151">trigger_policy</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#Trigger_Policy3611271815"><tt>Trigger_Policy</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Trigger policy type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="size_policy1385592366" id=
-"size_policy1385592366">size_policy</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#Size_Policy1072992366"><tt>Size_Policy</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Size policy type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="external_size_access4043083014" id=
-"external_size_access4043083014">external_size_access</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href=
-"#External_Size_Access1380482982"><tt>External_Size_Access</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Indicates whether sizes can be accessed
-          externally.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link6" id="link6">Public Methods</a></h2>
-
-    <h3><a name="link7" id="link7">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>
-  hash_standard_resize_policy
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Default constructor.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-  hash_standard_resize_policy
-  (<b>const</b> <a href=
-"#Size_Policy1072992366"><tt>Size_Policy</tt></a> &amp;r_size_policy)
-</pre>
-        </td>
-
-        <td>
-          <p>constructor taking some policies <span class=
-          "c1"><tt>r_size_policy</tt></span> will be copied by the
-          <a href="#Size_Policy1072992366"><tt>Size_Policy</tt></a>
-          object of this object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-  hash_standard_resize_policy
-  (<b>const</b> <a href=
-"#Size_Policy1072992366"><tt>Size_Policy</tt></a> &amp;r_size_policy,
-    <b>const</b> <a href=
-"#Trigger_Policy3611271815"><tt>Trigger_Policy</tt></a> &amp;r_trigger_policy)
-</pre>
-        </td>
-
-        <td>
-          <p>constructor taking some policies. <span class=
-          "c1"><tt>r_size_policy</tt></span> will be copied by the
-          <a href="#Size_Policy1072992366"><tt>Size_Policy</tt></a>
-          object of this object. <span class=
-          "c1"><tt>r_trigger_policy</tt></span> will be copied by
-          the <a href=
-          "#Trigger_Policy3611271815"><tt>Trigger_Policy</tt></a>
-          object of this object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> 
-  ~hash_standard_resize_policy
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Destructor.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <b>void</b> 
-  swap
-  (<span class=
-"c2"><tt>hash_standard_resize_policy</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Swaps content.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link8" id="link8">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="#Size_Policy1072992366"><tt>Size_Policy</tt></a> &amp;
-  get_size_policy
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Access to the <a href=
-          "#Size_Policy1072992366"><tt>Size_Policy</tt></a> object
-          used.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>const</b> <a href=
-"#Size_Policy1072992366"><tt>Size_Policy</tt></a> &amp;
-  get_size_policy
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Const access to the <a href=
-          "#Size_Policy1072992366"><tt>Size_Policy</tt></a> object
-          used.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a href=
-"#Trigger_Policy3611271815"><tt>Trigger_Policy</tt></a> &amp;
-  get_trigger_policy
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Access to the <a href=
-          "#Trigger_Policy3611271815"><tt>Trigger_Policy</tt></a>
-          object used.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>const</b> <a href=
-"#Trigger_Policy3611271815"><tt>Trigger_Policy</tt></a> &amp;
-  get_trigger_policy
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Access to the <a href=
-          "#Trigger_Policy3611271815"><tt>Trigger_Policy</tt></a>
-          object used.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link9" id="link9">Size Access Methods</a></h3>
-
-    <p>These methods are available only if the external size
-    parameter indicates that external size access is allowed.</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> <a href="#size_type55424436"><tt>size_type</tt></a> 
-  get_actual_size
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the actual size of the container.</p>
-
-          <p>This method returns the number of entries (used and
-          unused) in the container. It is different from the
-          container's size method, which returns the number of used
-          entries. Calling this method will not compile when
-          <a href=
-          "#External_Size_Access1380482982"><tt>External_Size_Access</tt></a>
-          == <tt><b>false</b></tt>.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>void</b> 
-  resize
-  (<a href=
-"#size_type55424436"><tt>size_type</tt></a> suggested_new_size)
-</pre>
-        </td>
-
-        <td>
-          <p>Resizes the container to <span class=
-          "c1"><tt>suggested_new_size</tt></span>, a suggested size
-          (the actual size will be determined by the <a href=
-          "#Size_Policy1072992366"><tt>Size_Policy</tt></a>
-          object).</p>
-
-          <p>Calling this method will not compile when <a href=
-          "#External_Size_Access1380482982"><tt>External_Size_Access</tt></a>
-          == <tt><b>false</b></tt>.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link10" id="link10">Protected Methods</a></h2>
-
-    <h3><a name="link11" id="link11">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="link12" id="link12">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="link13" id="link13">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="link14" id="link14">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_e)
-</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_e)
-</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="link15" id="link15">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 to <span class=
-          "c1"><tt>new_size</tt></span>.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link16" id="link16">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>
-<a href="#size_type55424436"><tt>size_type</tt></a>
-  get_new_size
-  (<a href="#size_type55424436"><tt>size_type</tt></a> size, 
-    <a href=
-"#size_type55424436"><tt>size_type</tt></a> num_used_e) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Queries what the new <span class=
-          "c1"><tt>size</tt></span> should be, when the container
-          is resized naturally. The current size of the container
-          is <span class="c1"><tt>size</tt></span>, and the number
-          of used entries within the container is <span class=
-          "c1"><tt>num_used_e</tt></span>.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link17" id="link17">Private Methods</a></h2>
-
-    <h3><a name="link18" id="link18">Overrides</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
-  (<a href="#size_type55424436"><tt>size_type</tt></a> new_size)
-</pre>
-        </td>
-
-        <td>
-          <p>Resizes to <span class=
-          "c1"><tt>new_size</tt></span>.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_text_find_find_timing_test.html b/libstdc++-v3/doc/html/ext/pb_ds/hash_text_find_find_timing_test.html
deleted file mode 100644 (file)
index 60c30fd..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-<!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">
-<head>
-<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-<title>Hash Text Find Timing Test</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>Hash-Based Text <tt>find</tt> Find Timing Test</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of values with keys from an
-    arbitrary text ([ <a href="references.html#wickland96thirty">wickland96thirty</a> ]) into
-    a container, then performs a series of finds using
-    <tt>find</tt> . It measures the average time for <tt>find</tt>
-    as a function of the number of values inserted.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/text_find_timing.cc"><tt>text_find_timing_test</tt></a>
-    thirty_years_among_the_dead_preproc.txt 200 200 2100)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the effect of different range-hashing
-    functions, trigger policies, and cache-hashing policies (see
-    <a href="hash_based_containers.html#hash_policies">Design::Associative
-    Containers::Associative Containers::Hash-Based Containers::Hash
-    Policies</a> and <a href="hash_based_containers.html#resize_policies">Design::Associative
-    Containers::Hash-Based Containers::Resize Policies</a> ).</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NCCG">NCCG</a>, <a href="#NCCM">NCCM</a>
-    and <a href="#NCCL">NCCL</a> show the results for the native
-    and collision-chaining types in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respetively.</p>
-<div id="NCCG_res_div">
-<div id="NCCG_gcc">
-<div id="NCCG_text_find_timing_test_hash">
-<div id="NCCG_assoc">
-<div id="NCCG_Native_and_collision-chaining_hash_text_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCG" id="NCCG"><img src="text_find_timing_test_hash_gcc.png" alt="no image" /></a></h6>NCCG: Native and collision-chaining hash text find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_hash_map_ncah-
-<tt>std::tr1::unordered_map</tt> with <tt>cache_hash_code</tt> = <tt><b>false</b></tt></li>
-<li>
-cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_sth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NCCM_res_div">
-<div id="NCCM_msvc">
-<div id="NCCM_text_find_timing_test_hash">
-<div id="NCCM_assoc">
-<div id="NCCM_Native_and_collision-chaining_hash_text_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCM" id="NCCM"><img src="text_find_timing_test_hash_msvc.png" alt="no image" /></a></h6>NCCM: Native and collision-chaining hash text find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_hash_map_ncah-
-<tt>stdext::hash_map</tt></li>
-<li>
-cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_sth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NCCL_res_div">
-<div id="NCCL_local">
-<div id="NCCL_text_find_timing_test_hash">
-<div id="NCCL_assoc">
-<div id="NCCL_Native_and_collision-chaining_hash_text_find_timing_test_using__tt_find_455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCL" id= "NCCL"><img src="text_find_timing_test_hash_local.png" alt="no image" /></a></h6>NCCL: Native and collision-chaining hash text find timing test using <tt>find</tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>In this setting, the range-hashing scheme (See <a href="hash_based_containers.html#hash_policies">Design::Associative
-    Containers::Hash-Based Containers::Hash Policies</a> ) affects
-    performance more than other policies. As Figure <a href="#NCCG">NCCG</a> shows, containers using mod-based
-    range-hashing (including the native hash-based container, which
-    is currently hard-wired to this scheme) have lower performance
-    than those using mask-based range-hashing. A modulo-based
-    range-hashing scheme's main benefit is that it takes into
-    account all hash-value bits. Standard string hash-functions are
-    designed to create hash values that are nearly-uniform as is [
-    <a href="references.html#knuth98sorting">knuth98sorting</a>
-    ].</p>
-<p>Trigger policies (see <a href="hash_based_containers.html#resize_policies">Design::Associative
-    Containers::Hash-Based Containers::Resize Policies</a> ),
-    <i>i.e.</i> the load-checks constants, affect performance to a
-    lesser extent.</p>
-<p>Perhaps surprisingly, storing the hash value alongside each
-    entry affects performance only marginally, at least in
-    <tt>pb_ds</tt> 's implementation. (Unfortunately, it was not
-    possible to run the tests with <tt>std::tr1::unordered_map</tt>
-    's <tt>cache_hash_code = <b>true</b></tt> , as it appeared to
-    malfuntion.)</p>
-<p><a href="assoc_performance_tests.html#hash_based_policies">Observations::Hash-Based
-    Containers' Policies</a> summarizes some observations on
-    hash-based containers' policies.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_find_timing_test.html b/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_find_timing_test.html
deleted file mode 100644 (file)
index bfbb3b0..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-<!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>Hash Skewed Distribution Memory Use Test</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>Hash-Based Skewed-Distribution Random-Integer <tt>find</tt>
-    Find Timing Test</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of values with a markedly
-    non-uniform i.i.d. integer keys into a container, then performs
-    a series of finds using <tt>find</tt> . It measures the average
-    time for <tt>find</tt> as a function of the number of values in
-    the containers. The keys are generated as follows. First, a
-    uniform integer is created; it is then shifted left 8 bits.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc"><tt>hash_zlob_random_int_find_timing_test</tt></a>
-    200 200 2100)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the effect of different range-hashing
-    functions and trigger policies (see <a href="hash_based_containers.html#hash_policies">Design::Associative
-    Containers::Hash-Based Containers::Hash Policies</a> and
-    <a href="hash_based_containers.html#resize_policies">Design::Associative
-    Containers::Hash-Based Containers::Resize Policies</a>).</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NHG">NHG</a>, <a href="#NHM">NHM</a>, and
-    <a href="#NHL">NHL</a> show the results for various hash-based
-    associative-containers in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>MSVC++</u></a>, and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively.</p>
-<div id="NHG_res_div">
-<div id="NHG_gcc">
-<div id="NHG_hash_zlob_random_int_find_timing_test">
-<div id="NHG_assoc">
-<div id="NHG_Skewed-distribution_random_int_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHG" id="NHG"><img src="hash_zlob_random_int_find_timing_test_gcc.png" alt="no image" /></a></h6>NHG: Skewed-distribution random int find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-<li>
-gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map-
-<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a>
- with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a>
-</li>
-<li>
-n_hash_map_ncah-
-<tt>std::tr1::unordered_map</tt> with <tt>cache_hash_code</tt> = <tt><b>false</b></tt></li>
-<li>
-cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHM_res_div">
-<div id="NHM_msvc">
-<div id="NHM_hash_zlob_random_int_find_timing_test">
-<div id="NHM_assoc">
-<div id="NHM_Skewed-distribution_random_int_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHM" id="NHM"><img src="hash_zlob_random_int_find_timing_test_msvc.png" alt="no image" /></a></h6>NHM: Skewed-distribution random int find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_hash_map_ncah-
-<tt>stdext::hash_map</tt></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-<li>
-gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map-
-<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a>
- with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a>
-</li>
-<li>
-cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/1</i></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHL_res_div">
-<div id="NHL_local">
-<div id="NHL_hash_zlob_random_int_find_timing_test">
-<div id="NHL_assoc">
-<div id="NHL_Skewed-distribution_random_int_find_timing_test_using__tt_find_455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHL" id= "NHL"><img src="hash_zlob_random_int_find_timing_test_local.png" alt="no image" /></a></h6>NHL: Skewed-distribution random int find timing test using <tt>find</tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>In this setting, the keys' distribution is so skewed that
-    the unerlying hash-table type affects performance marginally.
-    (This is in contrast with <a href="hash_text_find_find_timing_test.html">Hash-Based Text
-    <tt>find</tt> Find Timing Test</a> , <a href="hash_random_int_find_find_timing_test.html">Hash-Based
-    Random-Integer <tt>find</tt> Find Timing Test</a> , <a href="hash_random_int_subscript_find_timing_test.html">Hash-Based
-    Random-Integer Subscript Find Timing Test</a> and <a href="hash_random_int_subscript_insert_timing_test.html">Hash-Based
-    Random-Integer Subscript Insert Timing Test</a> .)</p>
-<p>The range-hashing scheme affects performance dramatically. A
-    mask-based range-hashing scheme effectively maps all values
-    into the same bucket. Access degenerates into a search within
-    an unordered linked-list. In Figures <a href="#NHG">NHG</a> and
-    <a href="#NHM">NHM</a> , it should be noted that
-    <tt>std::tr1::unordered_map</tt> and <tt>stdext::hash_map</tt>
-    are hard-wired currently to mod-based and mask-based schemes,
-    respectively.</p>
-<p>When observing the settings of this test, it is apparent
-    that the keys' distribution is far from natural. One might ask
-    if the test is not contrived to show that, in some cases,
-    mod-based range hashing does better than mask-based range
-    hashing. This is, in fact just the case. We did not encounter a
-    more natural case in which mod-based range hashing is better.
-    In our opnion, real-life key distributions are handled better
-    with an appropriate hash function and a mask-based
-    range-hashing function. (<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>
-    shows an example of handling this a-priori known skewed
-    distribution with a mask-based range-hashing function). If hash
-    performance is bad, a <i>&Chi;<sup>2</sup></i> test can be used
-    to check how to transform it into a more uniform
-    distribution.</p>
-<p>For this reason, <tt>pb_ds</tt>'s default range-hashing
-    function is mask-based.</p>
-<p><a href="assoc_performance_tests.html#hash_based_types">Observations::Hash-Based
-    Container Types</a> summarizes some observations on hash-based
-    containers; <a href="assoc_performance_tests.html#hash_based_policies">Observations::Hash-Based
-    Containers' Policies</a> summarizes some observations on
-    hash-based containers' policies.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_gcc.png
deleted file mode 100644 (file)
index 8d170db..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_local.png b/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_local.png
deleted file mode 100644 (file)
index 81848ba..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_msvc.png
deleted file mode 100644 (file)
index 874e7a7..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/index.html b/libstdc++-v3/doc/html/ext/pb_ds/index.html
deleted file mode 100644 (file)
index 4c73c2e..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-<!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>Policy-Based Data Structures</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1>Policy-Based Data Structures</h1>
-
-    <h5>Ami Tavory and Vladimir Dreizin, IBM Haifa Research
-    Laboratories, and Benjamin Kosnik, Red Hat</h5>
-
-    <h5><a href="mailto:pbassoc@gmail.com">pbassoc@gmail.com</a></h5>
-
-    <p>This is a library of policy-based elementary
-    data structures: associative containers and priority queues. It
-    is designed for high-performance, flexibility, semantic safety,
-    and conformance to the corresponding containers in <tt>std</tt>
-    and std::tr1 (except for some points where it differs by
-    design).</p>
-
-    <p>The documentation is organized as follows:</p>
-
-    <ol>
-      <li>
-        <a href="introduction.html">Introductory</a>
-
-        <ol>
-          <li><a href="introduction.html">Introduction</a></li>
-
-          <li><a href="motivation.html">Motivation</a></li>
-
-          <li><a href="prerequisites.html">Usage
-          Prerequisites</a></li>
-        </ol>
-      </li>
-
-      <li>
-        <a href="interface.html">Interface</a>
-
-        <ol>
-          <li><a href="tutorial.html">Short Tutorial</a></li>
-
-          <li><a href="concepts.html">Concepts</a></li>
-
-          <li><a href="interface.html">Specifics</a></li>
-        </ol>
-      </li>
-
-      <li>
-        <a href="design.html">Design</a>
-
-        <ol>
-          <li>
-            <a href="assoc_design.html">Associative Containers</a>
-
-            <ol>
-              <li><a href="ds_gen.html">Data-Structure
-              Genericity and Interface</a> </li>
-
-              <li><a href="tree_based_containers.html">Tree-Based
-              Containers</a></li>
-
-              <li><a href="trie_based_containers.html">Trie-Based
-              Containers</a></li>
-
-              <li><a href="hash_based_containers.html">Hash-Based
-              Containers</a></li>
-
-              <li><a href="lu_based_containers.html">List-Based
-              Containers</a> </li>
-            </ol>
-          </li>
-
-          <li><a href="pq_design.html">Priority Queues</a></li>
-        </ol>
-      </li>
-
-      <li>
-        <a href="examples.html">Examples</a>
-
-        <ol>
-          <li><a href="assoc_examples.html">Associative
-          Containers</a></li>
-
-          <li><a href="pq_examples.html">Priority Queues</a></li>
-        </ol>
-      </li>
-
-      <li>
-        <a href="tests.html">Tests</a>
-
-        <ol>
-          <li>
-            <a href="assoc_tests.html">Associative Containers</a>
-
-            <ol>
-              <li><a href="assoc_regression_tests.html">Regression
-              Tests</a></li>
-
-              <li><a href=
-              "assoc_performance_tests.html">Performance
-              Tests</a></li>
-            </ol>
-          </li>
-
-          <li>
-            <a href="pq_tests.html">Priority Queues</a>
-
-            <ol>
-              <li><a href="pq_regression_tests.html">Regression
-              Tests</a></li>
-
-              <li><a href="pq_performance_tests.html">Performance
-              Tests</a></li>
-            </ol>
-          </li>
-        </ol>
-      </li>
-
-      <li>
-        <a href="misc.html">Misc.</a>
-
-        <ol>
-          <li><a href="acks.html">Acknowledgments</a></li>
-
-          <li><a href="contact.html">Contact</a></li>
-
-          <li><a href="disclaimer.html">Disclaimer and
-          Copyright</a></li>
-
-          <li><a href="references.html">References</a></li>
-        </ol>
-      </li>
-    </ol>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/insert_error.html b/libstdc++-v3/doc/html/ext/pb_ds/insert_error.html
deleted file mode 100644 (file)
index 37a89aa..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-<!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>insert_error Interface</title>
-<meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
-</head>
-
-<body>
-<div id="page">
-<h1><tt>insert_error</tt> Interface</h1>
-
-<p>An entry cannot be inserted into a container object for logical
-reasons (not, e.g., if memory is unavailable, in which case the
-allocator's exception will be thrown).</p>
-
-    <p>This exception may be thrown, e.g., when a probe sequence in
-    a probing hash table does not encounter any free positions,
-    even though free positions are available.</p>
-
-    <p>Defined in: <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/exception.hpp"><tt>exception.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="exceptions.html"><span class=
-"c2"><tt>insert_error</tt></span></a>
-</pre>
-        </td>
-
-        <td>
-          <p>public</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/insert_resize_sequence_diagram1.png b/libstdc++-v3/doc/html/ext/pb_ds/insert_resize_sequence_diagram1.png
deleted file mode 100644 (file)
index f64764e..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/insert_resize_sequence_diagram1.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/insert_resize_sequence_diagram2.png b/libstdc++-v3/doc/html/ext/pb_ds/insert_resize_sequence_diagram2.png
deleted file mode 100644 (file)
index e464597..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/insert_resize_sequence_diagram2.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/insert_resize_sequence_diagram3.png b/libstdc++-v3/doc/html/ext/pb_ds/insert_resize_sequence_diagram3.png
deleted file mode 100644 (file)
index 5535c5f..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/insert_resize_sequence_diagram3.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/interface.html b/libstdc++-v3/doc/html/ext/pb_ds/interface.html
deleted file mode 100644 (file)
index a48a8bb..0000000
+++ /dev/null
@@ -1,446 +0,0 @@
-<!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>Interface</title>
-<meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
-</head>
-
-<body>
-<div id="page">
-<h1>Interface Specifics</h1>
-
-<p>Following are the library's interface specifics. <a href=
-    "tutorial.html">Short Tutorial</a> is a short tutorial, and
-    <a href="concepts.html">Concepts</a> describes some
-    concepts.</p>
-    <hr />
-
-    <h2><a name="namespaces" id="namespaces">Namespace</a></h2>
-
-    <p>All code is enclosed in namespace <tt>pb_ds</tt>. Nested within
-    this is namespace <tt>detail</tt>, which contains the parts of this
-    library that are considered implementation details.</p>
-    <hr />
-
-    <h2><a name="containers" id="containers">Containers</a></h2>
-
-    <h3><a name="containers_assoc" id=
-    "containers_assoc">Associative Containers</a></h3>
-
-    <ol>
-      <li><a href=
-      "container_base.html"><tt>container_base</tt></a> -
-      abstract base class for associative containers.</li>
-
-      <li>Hash-based:
-
-        <ol>
-          <li><a href=
-          "basic_hash_table.html"><tt>basic_hash_table</tt></a>
-          - abstract base class for hash-based
-          containers</li>
-
-          <li><a href=
-          "cc_hash_table.html"><tt>cc_hash_table</tt></a>
-          - concrete collision-chaining hash-based
-          containers</li>
-
-          <li><a href=
-          "gp_hash_table.html"><tt>gp_hash_table</tt></a>
-          - concrete (general) probing hash-based
-          containers</li>
-        </ol>
-      </li>
-
-      <li>Tree-based:
-
-        <ol>
-          <li><a href=
-          "basic_tree.html"><tt>basic_tree</tt></a>
-          - abstract base class for tree and trie based
-          containers</li>
-
-          <li><a href=
-          "tree.html"><tt>tree</tt></a>
-          - concrete base class for tree-based
-          containers</li>
-
-          <li><a href=
-          "trie.html"><tt>trie</tt></a>
-          - concrete base class for trie-based
-          containers</li>
-        </ol>
-      </li>
-
-      <li>List-based:
-
-        <ol>
-          <li><a href=
-          "list_update.html"><tt>list_update</tt></a> -
-          singly-linked list with update-policy container</li>
-        </ol>
-      </li>
-    </ol>
-
-    <h3><a name="containers_pq" id="containers_pq">Priority
-    Queues</a></h3>
-
-    <ol>
-      <li><a href="priority_queue.html"><tt>priority_queue</tt></a>
-      - priority queue</li>
-    </ol>
-    <hr />
-
-    <h2><a name="tag" id="tag">Container Tags and
-    Traits</a></h2>
-
-    <h3><a name="ds_ts" id="ds_ts">Container Tags</a></h3>
-
-    <h4><a name="ds_ts_common" id="ds_ts_common">Common</a></h4>
-
-    <ol>
-      <li><a href="container_tag.html"><tt>container_tag</tt></a> -
-      base class for data structure tags</li>
-    </ol>
-
-    <h4><a name="ds_ts_assoc" id=
-    "ds_ts_assoc">Associative-Containers</a></h4>
-
-     <ol>
-      <li><a href=
-      "associative_container_tag.html"><tt>associative_container_tag</tt></a> -
-      base class for associative-container data structure tags</li>
-
-      <li><a href=
-      "basic_hash_tag.html"><tt>basic_hash_tag</tt></a> -
-      base class for hash-based structure tags</li>
-
-      <li><a href="cc_hash_tag.html"><tt>cc_hash_tag</tt></a>
-      - collision-chaining hash structure tag</li>
-
-      <li><a href="gp_hash_tag.html"><tt>gp_hash_tag</tt></a>
-      - (general) probing hash structure tag</li>
-
-      <li><a href=
-      "basic_tree_tag.html"><tt>basic_tree_tag</tt></a>
-      - base class for tree-like structure tags</li>
-
-      <li><a href=
-      "tree_tag.html"><tt>tree_tag</tt></a> -
-      base class for tree structure tags</li>
-
-      <li><a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-      - red-black tree structure tag/li&gt;</li>
-
-      <li><a href=
-      "splay_tree_tag.html"><tt>splay_tree_tag</tt></a> -
-      splay tree structure tag</li>
-
-      <li><a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a>
-      - ordered-vector tree structure tag</li>
-
-      <li><a href=
-      "trie_tag.html"><tt>trie_tag</tt></a> -
-      trie structure tag</li>
-
-      <li><a href=
-      "pat_trie_tag.html"><tt>pat_trie_tag</tt></a> -
-      PATRICIA trie structure tag</li>
-
-      <li><a href="list_update_tag.html"><tt>list_update_tag</tt></a> - list
-      (with updates) structure tag</li>
-    </ol>
-
-    <h4><a name="ds_ts_pq" id="ds_ts_pq">Priority-Queues</a></h4>
-
-     <ol>
-      <li><a href=
-      "priority_queue_tag.html"><tt>priority_queue_tag</tt></a> - base
-      class for priority-queue data structure tags</li>
-
-      <li><a href=
-      "pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -
-      pairing-heap structure tag.</li>
-
-      <li><a href=
-      "binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a>
-      - binomial-heap structure tag</li>
-
-      <li><a href=
-      "rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a>
-      - redundant-counter binomial-heap (<i>i.e.</i>, a heap where
-      binomial trees form a sequence that is similar to a
-      de-amortized bit-addition algorithm) structure tag</li>
-
-      <li><a href=
-      "binary_heap_tag.html"><tt>binary_heap_tag</tt></a> -
-      binary heap (based on an array or an array of nodes)
-      structure tag</li>
-
-      <li><a href=
-      "thin_heap_tag.html"><tt>thin_heap_tag</tt></a> - thin
-      heap (an alternative [<a href=
-      "references.html#kt99fat_heaps">kt99fat_heaps</a>] to
-      Fibonacci heap) data structure tag.</li>
-    </ol>
-
-    <h3><a name="ds_inv_tag" id="ds_inv_tag">Invalidation-Guarantee
-    Tags</a></h3>
-
-    <ol>
-      <li><a href=
-      "basic_invalidation_guarantee.html"><tt>basic_invalidation_guarantee</tt></a>
-      - weakest invalidation guarantee</li>
-
-      <li><a href=
-      "point_invalidation_guarantee.html"><tt>point_invalidation_guarantee</tt></a>
-      - stronger invalidation guarantee</li>
-
-      <li><a href=
-      "range_invalidation_guarantee.html"><tt>range_invalidation_guarantee</tt></a>
-      - strongest invalidation guarantee</li>
-    </ol>
-
-    <h3><a name="container_traits" id="container_traits">Container
-    Traits</a></h3>
-
-    <ol>
-      <li><a href="pq_container_traits.html"><tt>container_traits</tt></a> -
-      traits for determining underlying data structure 
-      properties</li>
-    </ol>
-    <hr />
-
-    <h2><a name="ds_policy_classes" id=
-    "ds_policy_classes">Container Policy Classes</a></h2>
-
-    <h3><a name="hash_related_policies" id=
-    "hash_related_policies">Hash Policies</a></h3>
-
-    <h4>Hash and Probe Policies</h4>
-
-    <ol>
-      <li>Hash Functions:
-
-        <ol>
-          <li><a href="null_hash_fn.html"><tt>null_hash_fn</tt></a>
-          - type indicating one-step range-hashing</li>
-        </ol>
-      </li>
-
-      <li>Range-Hashing Functions:
-
-        <ol>
-          <li><a href="sample_range_hashing.html">Sample
-          range-hashing function</a> - interface required of a
-          range-hashing functor</li>
-
-          <li><a href=
-          "direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-          - (bit) mask-based range hashing functor</li>
-
-          <li><a href=
-          "direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a>
-          - modulo-based range hashing functor</li>
-        </ol>
-      </li>
-
-      <li>Probe Functions:
-
-        <ol>
-          <li><a href="sample_probe_fn.html">Sample probe
-          function</a> - interface required of a probe functor</li>
-
-          <li><a href=
-          "null_probe_fn.html"><tt>null_probe_fn</tt></a> - type
-          indicating one-step ranged-probe</li>
-
-          <li><a href=
-          "linear_probe_fn.html"><tt>linear_probe_fn</tt></a> -
-          linear-probe functor</li>
-
-          <li><a href=
-          "quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a>-
-          quadratic-probe functor</li>
-        </ol>
-      </li>
-
-      <li>Ranged-Hash Functions:
-
-        <ol>
-          <li><a href="sample_ranged_hash_fn.html">Sample
-          ranged-hash function</a> - interface required of a
-          ranged-hash functor</li>
-        </ol>
-      </li>
-
-      <li>Ranged-Probe Functions:
-
-        <ol>
-          <li><a href="sample_ranged_probe_fn.html">Sample
-          ranged-probe function</a> - interface required of a
-          ranged-probe functor</li>
-        </ol>
-      </li>
-    </ol>
-
-    <h4>Resize Policies</h4>
-    <ol>
-      <li>Resize Policies:
-
-        <ol>
-          <li><a href="sample_resize_policy.html">Sample resize
-          policy</a> - interface required of a resize policy</li>
-
-          <li><a href=
-          "hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
-          - standard resize policy</li>
-        </ol>
-      </li>
-
-      <li>Size Policies:
-
-        <ol>
-          <li><a href="sample_size_policy.html">Sample size
-          policy</a> - interface required of a size policy</li>
-
-          <li><a href=
-          "hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-          - exponential size policy (typically used with (bit) mask
-          range-hashing)</li>
-
-          <li><a href=
-          "hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>
-          - prime size policy (typically used with modulo
-          range-hashing)</li>
-        </ol>
-      </li>
-
-      <li>Trigger Policies:
-
-        <ol>
-          <li><a href="sample_resize_trigger.html">Sample trigger
-          policy</a> - interface required of a trigger policy</li>
-
-          <li><a href=
-          "hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
-          - trigger policy based on load checks</li>
-
-          <li><a href=
-          "cc_hash_max_collision_check_resize_trigger.html"><tt>cc_hash_max_collision_check_resize_trigger</tt></a>
-          - trigger policy based on collision checks</li>
-        </ol>
-      </li>
-    </ol>
-
-    <h3><a name="tree_related_policies" id=
-    "tree_related_policies">Tree Policies</a></h3>
-
-    <h4>Tree Node-Update Policies</h4>
-
-
-<ol>
-<li><a href="sample_tree_node_update.html">Sample node
-updater policy</a> - interface required of a tree
-node-updating functor</li>
-
-<li><a href=
-     "null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-- null policy indicating no updates are required</li>
-
-<li><a href=
-     "tree_order_statistics_node_update.html"><tt>tree_order_statistics_node_update</tt></a>
-- updater enabling order statistics queries</li>
-</ol>
-
-<h3><a name="trie_related_policies" id=
-     "trie_related_policies">Trie Policies</a></h3>
-
-
-<h4>Trie Element-Access Traits</h4>
-
-    <ol>
-      <li><a href="sample_trie_e_access_traits.html">Sample
-      element-access traits</a> - interface required of
-      element-access traits</li>
-
-      <li><a href=
-      "string_trie_e_access_traits.html"><tt>string_trie_e_access_traits</tt></a>
-      - String element-access traits</li>
-    </ol>
-
-    <h4>Trie Node-Update Policies</h4>
-
-
-<ol>
-<li><a href="sample_trie_node_update.html">Sample node
-updater policy</a> - interface required of a trie node
-updater</li>
-
-<li><a href=
-     "null_trie_node_update.html"><tt>null_trie_node_update</tt></a>
-- null policy indicating no updates are required</li>
-
-<li><a href=
-     "trie_prefix_search_node_update.html"><tt>trie_prefix_search_node_update</tt></a>
-- updater enabling prefix searches</li>
-
-<li><a href=
-     "trie_order_statistics_node_update.html"><tt>trie_order_statistics_node_update</tt></a>
-- updater enabling order statistics queries</li>
-</ol>
-
-<h3><a name="list_related_policies" id=
-     "list_related_policies">List Policies</a></h3>
-
-<h4>List Update Policies</h4>
-
-
-    <ol>
-      <li><a href="sample_update_policy.html">Sample list update
-      policy</a> - interface required of a list update policy</li>
-
-      <li><a href=
-      "move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-      - move-to-front update algorithm</li>
-
-      <li><a href=
-      "counter_lu_policy.html"><tt>counter_lu_policy</tt></a> -
-      counter update algorithm</li>
-    </ol>
-
-    <h3><a name="ds_pol" id="ds_pol">Mapped-Type Policies</a></h3>
-
-
-    <ol>
-      <li><a href=
-      "null_mapped_type.html"><tt>null_mapped_type</tt></a> - data
-      policy indicating that a container is a "set"</li>
-    </ol>
-    <hr />
-
-    <h2><a name="exceptions" id="exceptions">Exceptions</a></h2>
-
-
-    <ol>
-      <li><a href="exceptions.html"><tt>container_error</tt></a>
-      - base class for all policy-based data structure errors</li>
-
-      <li><a href=
-      "insert_error.html"><tt>insert_error</tt></a></li>
-
-      <li><a href="join_error.html"><tt>join_error</tt></a></li>
-
-      <li><a href=
-      "resize_error.html"><tt>resize_error</tt></a></li>
-    </ol>
-
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/introduction.html b/libstdc++-v3/doc/html/ext/pb_ds/introduction.html
deleted file mode 100644 (file)
index b3ccbd7..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-<!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>Introduction</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1>Introduction</h1>
-
-    <p>This section describes what problems the library attempts to
-    solve. <a href="motivation.html">Motivation</a> describes the
-    reasons we think it solves these problems better than similar
-    libraries.</p>
-
-    <h2><a name="assoc" id="assoc">Associative Containers</a></h2>
-
-    <ol>
-      <li>Associative containers depend on their policies to a very
-      large extent. Implicitly hard-wiring policies can hamper their
-      performance and limit their functionality. An efficient
-      hash-based container, for example, requires policies for
-      testing key equivalence, hashing keys, translating hash
-      values into positions within the hash table, and determining
-      when and how to resize the table internally. A tree-based
-      container can efficiently support order statistics,
-      <i>i.e.</i>, the ability to query what is the order of each
-      key within the sequence of keys in the container, but only if
-      the container is supplied with a policy to internally update
-      meta-data. There are many other such examples.<p></p></li>
-
-      <li>Ideally, all associative containers would share the same
-      interface. Unfortunately, underlying data structures and
-      mapping semantics differentiate between different containers.
-      For example, suppose one writes a generic function
-      manipulating an associative container <tt>Cntnr</tt>:
-        <pre>
-template&lt;typename Cntnr&gt;
-  void
-  some_op_sequence(Cntnr&amp; r_cnt)
-  {
-    ...
-  }
-</pre>
-
-then what can one assume about <tt>Cntnr</tt>? The answer
-varies according to its underlying data structure. If the
-underlying data structure of <tt>Cntnr</tt> is based on a tree or
-trie, then the order of elements is well defined; otherwise, it is
-not, in general. If the underlying data structure of <tt>Cntnr</tt>
-is based on a collision-chaining hash table, then modifying
-r_<tt>Cntnr</tt> will not invalidate its iterators' order; if the
-underlying data structure is a probing hash table, then this is not
-the case. If the underlying data structure is based on a tree or
-trie, then <tt>r_cnt</tt> can efficiently be split; otherwise, it
-cannot, in general. If the underlying data structure is a red-black
-tree, then splitting <tt>r_cnt</tt> is exception-free; if it is an
-ordered-vector tree, exceptions can be thrown.
-      <p></p></li>
-    </ol>
-
-    <h2><a name="pq" id="pq">Priority Queues</a></h2>
-
-    <p>Priority queues are useful when one needs to efficiently
-    access a minimum (or maximum) value as the set of values
-    changes.</p>
-
-    <ol>
-      <li>Most useful data structures for priority queues have a
-      relatively simple structure, as they are geared toward
-      relatively simple requirements. Unfortunately, these structures
-      do not support access to an arbitrary value, which turns out to
-      be necessary in many algorithms. Say, decreasing an arbitrary
-      value in a graph algorithm. Therefore, some extra mechanism is
-      necessary and must be invented for accessing arbitrary
-      values. There are at least two alternatives: embedding an
-      associative container in a priority queue, or allowing
-      cross-referencing through iterators. The first solution adds
-      significant overhead; the second solution requires a precise
-      definition of iterator invalidation. Which is the next
-      point...<p></p></li>
-
-      <li>Priority queues, like hash-based containers, store values in
-      an order that is meaningless and undefined externally.  For
-      example, a <tt>push</tt> operation can internally reorganize the
-      values. Because of this characteristic, describing a priority
-      queues' iterator is difficult: on one hand, the values to which
-      iterators point can remain valid, but on the other, the logical
-      order of iterators can change unpredictably.<p></p></li>
-
-      <li>Roughly speaking, any element that is both inserted to a
-      priority queue (<i>e.g.</i>, through <tt>push</tt>) and removed
-      from it (<i>e.g.</i>, through <tt>pop</tt>), incurs a
-      logarithmic overhead (in the amortized sense). Different
-      underlying data structures place the actual cost differently:
-      some are optimized for amortized complexity, whereas others
-      guarantee that specific operations only have a constant
-      cost. One underlying data structure might be chosen if modifying
-      a value is frequent (Dijkstra's shortest-path algorithm),
-      whereas a different one might be chosen
-      otherwise. Unfortunately, an array-based binary heap - an
-      underlying data structure that optimizes (in the amortized
-      sense) <tt>push</tt> and <tt>pop</tt> operations, differs from
-      the others in terms of its invalidation guarantees. Other design
-      decisions also impact the cost and placement of the overhead, at
-      the expense of more difference in the the kinds of operations
-      that the underlying data structure can support. These
-      differences pose a challenge when creating a uniform interface
-      for priority queues.<p></p></li>
-    </ol>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/invalidation_guarantee_cd.png b/libstdc++-v3/doc/html/ext/pb_ds/invalidation_guarantee_cd.png
deleted file mode 100644 (file)
index 1f9d124..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/invalidation_guarantee_cd.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/invalidation_guarantee_erase.png b/libstdc++-v3/doc/html/ext/pb_ds/invalidation_guarantee_erase.png
deleted file mode 100644 (file)
index 940a27f..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/invalidation_guarantee_erase.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/join_error.html b/libstdc++-v3/doc/html/ext/pb_ds/join_error.html
deleted file mode 100644 (file)
index f3e3eaf..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-<!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>join_error Interface</title>
-<meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
-</head>
-
-<body>
-<div id="page">
-<h1><tt>join_error</tt> Interface</h1>
-
-<p>A join cannot be performed logical reasons (i.e., the ranges of the
-                                              two container objects
-                                              being joined
-                                              overlaps.</p>
-
-                                              <p>Defined in: <a href=
-                                              "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/exception.hpp"><tt>exception.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="exceptions.html"><span class="c2"><tt>join_error</tt></span></a>
-</pre>
- </td>
-
-<td>
-<p>public</p>
-</td>
-</tr>
-                                              </table>
-                                              </div>
-                                              </body>
-                                              </html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/linear_probe_fn.html b/libstdc++-v3/doc/html/ext/pb_ds/linear_probe_fn.html
deleted file mode 100644 (file)
index 6387d3a..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-<!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>linear_probe_fn Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>linear_probe_fn</tt> Interface</h1>
-
-    <p>A probe sequence policy using fixed increments.</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="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>
-    </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>
-<b>void</b>
-  swap
-  (<span class="c2"><tt>linear_probe_fn</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Swaps content.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link6" id="link6">Protected Methods</a></h2>
-
-    <h3><a name="link7" id="link7">Offset 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>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a>
-  <b>operator</b>()
-  (<a href=
-"#size_type55424436"><tt>size_type</tt></a> i) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the <span class="c1"><tt>i</tt></span>-th
-          offset from the hash value.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/list_update.html b/libstdc++-v3/doc/html/ext/pb_ds/list_update.html
deleted file mode 100644 (file)
index 434e82f..0000000
+++ /dev/null
@@ -1,316 +0,0 @@
-<!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>list_update Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>list_update</tt> Interface</h1>
-
-    <p>A list-update 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="Eq_Fn60085" id="Eq_Fn60085"><b>class</b> Eq_Fn </a>
-</pre>
-        </td>
-
-        <td>
-          <p>Equivalence functor.</p>
-        </td>
-
-        <td>
-          <pre>
-std::equal_to&lt;<a href="#Key2501"><tt>Key</tt></a>&gt;
-</pre>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="Update_Policy1671938590" id=
-"Update_Policy1671938590"><b>class</b> Update_Policy </a>
-</pre>
-        </td>
-
-        <td>
-          <p>Update policy (determines when an element will be
-          moved to the front of the list.</p>
-        </td>
-
-        <td><a href="move_to_front_lu_policy.html"><span class=
-        "c2"><tt>move_to_front_lu_policy</tt></span></a></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&lt;<b>char</b>&gt;
-</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="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="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="update_policy894603998" id=
-"update_policy894603998">update_policy</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#Update_Policy1671938590"><tt>Update_Policy</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>List update policy type.</p>
-        </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>
-
-    <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>
-  list_update
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Default constructor.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>template</b>&lt;
-    <b>class</b> It&gt;
-  list_update
-  (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>
-  list_update
-  (<b>const</b> <span class=
-"c2"><tt>list_update</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Copy constructor.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> 
-  ~list_update
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Destructor.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<span class="c2"><tt>list_update</tt></span> &amp;
-  <b>operator</b>=
-  (<b>const</b> <span class=
-"c2"><tt>list_update</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Assignment operator.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>void</b>
-  swap
-  (<span class="c2"><tt>list_update</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Swaps content.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/list_update_tag.html b/libstdc++-v3/doc/html/ext/pb_ds/list_update_tag.html
deleted file mode 100644 (file)
index f04aaea..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<!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>list_update_tag Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>list_update_tag</tt> Interface</h1>
-
-    <p>List-update 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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/lu.png b/libstdc++-v3/doc/html/ext/pb_ds/lu.png
deleted file mode 100644 (file)
index 7c96dca..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/lu.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/lu_based_containers.html b/libstdc++-v3/doc/html/ext/pb_ds/lu_based_containers.html
deleted file mode 100644 (file)
index c869343..0000000
+++ /dev/null
@@ -1,229 +0,0 @@
-<!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>List-Based Containers</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1>List-Update Design</h1>
-
-    <h2><a name="overview" id="overview">Overview</a></h2>
-
-    <p>The list-based container has the following declaration:</p>
-    <pre>
-<b>template</b>&lt;
-    <b>typename</b> Key,
-    <b>typename</b> Mapped,
-    <b>typename</b> Eq_Fn = std::equal_to&lt;Key&gt;,
-    <b>typename</b> Update_Policy = <a href=
-"move_to_front_lu_policy.html">move_to_front_lu_policy&lt;&gt;</a>,
-    <b>typename</b> Allocator = std::allocator&lt;<b>char</b>&gt; &gt;
-<b>class</b> <a href="list_update.html">list_update</a>;
-</pre>
-
-    <p>The parameters have the following meaning:</p>
-
-    <ol>
-      <li><tt>Key</tt> is the key type.</li>
-
-      <li><tt>Mapped</tt> is the mapped-policy, and is explained in
-      <a href="tutorial.html#assoc_ms">Tutorial::Associative
-      Containers::Associative Containers Others than Maps</a>.</li>
-
-      <li><tt>Eq_Fn</tt> is a key equivalence functor.</li>
-
-      <li><tt>Update_Policy</tt> is a policy updating positions in
-      the list based on access patterns. It is described in the
-      following subsection.</li>
-
-      <li><tt>Allocator</tt> is an allocator
-      type.</li>
-    </ol>
-
-    <p>A list-based associative container is a container that
-    stores elements in a linked-list. It does not order the
-    elements by any particular order related to the keys.
-    List-based containers are primarily useful for creating
-    "multimaps" (see <a href=
-    "motivation.html#assoc_mapping_semantics">Motivation::Associative
-    Containers::Avoiding Multiple Keys</a> and <a href=
-    "tutorial.html#assoc_ms">Tutorial::Associative
-    Containers::Associative Containers Others than Maps</a>). In
-    fact, list-based containers are designed in <tt>pb_ds</tt>
-    expressly for this purpose. This is explained further in
-    <a href="#mmaps">Use for "Multimaps"</a>.</p>
-
-    <p>List-based containers might also be useful for some rare
-    cases, where a key is encapsulated to the extent that only
-    key-equivalence can be tested. Hash-based containers need to
-    know how to transform a key into a size type, and tree-based
-    containers need to know if some key is larger than another.
-    List-based associative containers, conversely, only need to
-    know if two keys are equivalent.</p>
-
-    <p>Since a list-based associative container does not order
-    elements by keys, is it possible to order the list in some
-    useful manner? Remarkably, many on-line competitive [<a href=
-    "references.html#motwani95random">motwani95random</a>]
-    algorithms exist for reordering lists to reflect access
-    prediction [<a href=
-    "references.html#andrew04mtf">andrew04mtf</a>].</p>
-
-    <h2><a name="list_updates" id="list_updates">List
-    Updates</a></h2>
-
-    <h3><a name="general" id="general">General Terms</a></h3>
-
-    <p>Figure <a href="#simple_list">A simple list</a> shows a
-    simple list of integer keys. If we search for the integer 6, we
-    are paying an overhead: the link with key 6 is only the fifth
-    link; if it were the first link, it could be accessed
-    faster.</p>
-
-    <h6 class="c1"><a name="simple_list" id="simple_list"><img src=
-    "simple_list.png" alt="no image" /></a></h6>
-
-    <h6 class="c1">A simple list.</h6>
-
-    <p>List-update algorithms reorder lists as elements are
-    accessed. They try to determine, by the access history, which
-    keys to move to the front of the list. Some of these algorithms
-    require adding some metadata alongside each entry.</p>
-
-    <p>For example, Figure <a href="#lu">The counter algorithm</a>
-    -A shows the counter algorithm. Each node contains both a key
-    and a count metadata (shown in bold). When an element is
-    accessed (<i>e.g.</i> 6) its count is incremented, as shown in
-    Figure <a href="#lu">The counter algorithm</a> -B. If the count
-    reaches some predetermined value, say 10, as shown in Figure
-    <a href="#lu">The counter algorithm</a> -C, the count is set to
-    0 and the node is moved to the front of the list, as in Figure
-    <a href="#lu">The counter algorithm</a> -D.</p>
-
-    <h6 class="c1"><a name="lu" id="lu"><img src="lu.png" alt=
-    "no image" /></a></h6>
-
-    <h6 class="c1">The counter algorithm.</h6>
-
-    <h3><a name="imp_pb_ds" id="imp_pb_ds">Implementation</a></h3>
-
-    <p><tt>pb_ds</tt> allows instantiating lists with policies
-    implementing any algorithm moving nodes to the front of the
-    list (policies implementing algorithms interchanging nodes are
-    unsupported).</p>
-
-    <p>Associative containers based on lists are parametrized by a
-    <tt>Update_Policy</tt> parameter. This parameter defines the
-    type of metadata each node contains, how to create the
-    metadata, and how to decide, using this metadata, whether to
-    move a node to the front of the list. A list-based associative
-    container object derives (publicly) from its update policy.
-    Figure <a href="#update_policy_cd">A list and its update
-    policy</a> shows the scheme, as well as some predefined
-    policies (which are explained below).</p>
-
-    <h6 class="c1"><a name="update_policy_cd" id=
-    "update_policy_cd"><img src="update_policy_cd.png" alt=
-    "no image" /></a></h6>
-
-    <h6 class="c1">A list and its update policy.</h6>
-
-    <p>An instantiation of <tt>Update_Policy</tt> must define
-    internally <tt>update_metadata</tt> as the metadata it
-    requires. Internally, each node of the list contains, besides
-    the usual key and data, an instance of <tt><b>typename</b>
-    Update_Policy::update_metadata</tt>.</p>
-
-    <p>An instantiation of <tt>Update_Policy</tt> must define
-    internally two operators:</p>
-    <pre>
-update_metadata
-<b>operator</b>()();
-
-<b>bool</b>
-<b>operator</b>()(update_metadata &amp;);
-</pre>
-
-    <p>The first is called by the container object, when creating a
-    new node, to create the node's metadata. The second is called
-    by the container object, when a node is accessed (<i>e.g.</i>,
-    when a find operation's key is equivalent to the key of the
-    node), to determine whether to move the node to the front of
-    the list.</p>
-
-    <p>The library contains two predefined implementations of
-    list-update policies [<a href=
-    "references.html#andrew04mtf">andrew04mtf</a>]. The first is
-    <a href=
-    "counter_lu_policy.html"><tt>counter_lu_policy</tt></a>, which
-    implements the counter algorithm described above. The second is
-    <a href=
-    "move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>,
-    which unconditionally move an accessed element to the front of
-    the list. The latter type is very useful in <tt>pb_ds</tt>,
-    since there is no need to associate metadata with each element
-    (this is explained further in <a href="#mmaps">Use for
-    "Multimaps"</a>).</p>
-
-    <h2><a name="mmaps" id="mmaps">Use for "Multimaps"</a></h2>
-
-    <p>In <tt>pb_ds</tt>, there are no equivalents for the STL's
-    multimaps and multisets; instead one uses an associative
-    container mapping primary keys to secondary keys (see <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>).</p>
-
-    <p>List-based containers are especially useful as associative
-    containers for secondary keys. In fact, they are implemented
-    here expressly for this purpose.</p>
-
-    <p>To begin with, these containers use very little per-entry
-    structure memory overhead, since they can be implemented as
-    singly-linked lists. (Arrays use even lower per-entry memory
-    overhead, but they are less flexible in moving around entries,
-    and have weaker invalidation guarantees).</p>
-
-    <p>More importantly, though, list-based containers use very
-    little per-container memory overhead. The memory overhead of an
-    empty list-based container is practically that of a pointer.
-    This is important for when they are used as secondary
-    associative-containers in situations where the average ratio of
-    secondary keys to primary keys is low (or even 1).</p>
-
-    <p>In order to reduce the per-container memory overhead as much
-    as possible, they are implemented as closely as possible to
-    singly-linked lists.</p>
-
-    <ol>
-      <li>List-based containers do not store internally the number
-      of values that they hold. This means that their <tt>size</tt>
-      method has linear complexity (just like <tt>std::list</tt>).
-      Note that finding the number of equivalent-key values in an
-      STL multimap also has linear complexity (because it must be
-      done, <i>e.g.</i>, via <tt>std::distance</tt> of the
-      multimap's <tt>equal_range</tt> method), but usually with
-      higher constants.</li>
-
-      <li>Most associative-container objects each hold a policy
-      object (<i>e.g.</i>, a hash-based container object holds a
-      hash functor). List-based containers, conversely, only have
-      class-wide policy objects.</li>
-    </ol>
-
-    <p>See also <a href=
-    "assoc_performance_tests.html#msc">Associative-Container
-    Performance Tests::Observations::Mapping-Semantics
-    Considerations</a>.</p>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/misc.html b/libstdc++-v3/doc/html/ext/pb_ds/misc.html
deleted file mode 100644 (file)
index 01029e1..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!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>Misc.</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1>Misc.</h1>
-
-    <p><a href="acks.html" title="Acknowledgements">Acks</a>
-    contains acknowledgments; <a href="contact.html">Contact</a>
-    contains contact information;<a href=
-    "disclaimer.html">Disclaimer and Copyright</a> is a standard
-    disclaimer, and <a href="references.html">References</a>
-    contains references.</p>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/motivation.html b/libstdc++-v3/doc/html/ext/pb_ds/motivation.html
deleted file mode 100644 (file)
index 6273172..0000000
+++ /dev/null
@@ -1,993 +0,0 @@
-<!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>Motivation</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1>Motivation</h1>
-
-    <p>Many fine associative-container libraries were already
-    written, most notably, the STL's associative containers. Why
-    then write another library? This section shows some possible
-    advantages of this library, when considering the challenges in
-    <a href="introduction.html">Introduction</a>. Many of these
-    points stem from the fact that the STL introduced
-    associative-containers in a two-step process (first
-    standardizing tree-based containers, only then adding
-    hash-based containers, which are fundamentally different), did
-    not standardize priority queues as containers, and (in our
-    opinion) overloads the iterator concept.</p>
-
-    <h2><a name="assoc" id="assoc">Associative Containers</a></h2>
-
-    <h3><a name="assoc_policies" id="assoc_policies">More
-    Configuration Choices</a></h3>
-
-    <p>Associative containers require a relatively large number of
-    policies to function efficiently in various settings. In some
-    cases this is needed for making their common operations more
-    efficient, and in other cases this allows them to support a
-    larger set of operations</p>
-
-    <ol>
-      <li>Hash-based containers, for example, support look-up and
-      insertion methods (<i>e.g.</i>, <tt>find</tt> and
-      <tt>insert</tt>). In order to locate elements quickly, they
-      are supplied a hash functor, which instruct how to transform
-      a key object into some size type; <i>e.g.</i>, a hash functor
-      might transform <tt>"hello"</tt> into <tt>1123002298</tt>. A
-      hash table, though, requires transforming each key object
-      into some size-type type in some specific domain;
-      <i>e.g.</i>, a hash table with a 128-long table might
-      transform <tt>"hello"</tt> into position 63. The policy by
-      which the hash value is transformed into a position within
-      the table can dramatically affect performance (see <a href=
-      "hash_based_containers.html#hash_policies">Design::Associative
-      Containers::Hash-Based Containers::Hash Policies</a>).
-      Hash-based containers also do not resize naturally (as
-      opposed to tree-based containers, for example). The
-      appropriate resize policy is unfortunately intertwined with
-      the policy that transforms hash value into a position within
-      the table (see <a href=
-      "hash_based_containers.html#resize_policies">Design::Associative
-      Containers::Hash-Based Containers::Resize Policies</a>).
-
-        <p><a href=
-        "assoc_performance_tests.html#hash_based">Associative-Container
-        Performance Tests::Hash-Based Containers</a> quantifies
-        some of these points.</p>
-      </li>
-
-      <li>Tree-based containers, for example, also support look-up
-      and insertion methods, and are primarily useful when
-      maintaining order between elements is important. In some
-      cases, though, one can utilize their balancing algorithms for
-      completely different purposes.
-
-        <p>Figure <a href="#node_invariants">Metadata for
-        order-statistics and interval intersections</a>-A, for
-        example, shows a tree whose each node contains two entries:
-        a floating-point key, and some size-type <i>metadata</i>
-        (in bold beneath it) that is the number of nodes in the
-        sub-tree. (<i>E.g.</i>, the root has key 0.99, and has 5
-        nodes (including itself) in its sub-tree.) A container based
-        on this data structure can obviously answer efficiently
-        whether 0.3 is in the container object, but it can also
-        answer what is the order of 0.3 among all those in the
-        container object [<a href=
-        "references.html#clrs2001">clrs2001</a>] (see <a href=
-        "assoc_examples.html#tree_like_based">Associative Container
-        Examples::Tree-Like-Based Containers (Trees and
-        Tries)</a>).</p>
-
-        <p>As another example, Figure <a href=
-        "#node_invariants">Metadata for order-statistics and
-        interval intersections</a>-B shows a tree whose each node
-        contains two entries: a half-open geometric line interval,
-        and a number <i>metadata</i> (in bold beneath it) that is
-        the largest endpoint of all intervals in its sub-tree.
-        (<i>E.g.</i>, the root describes the interval <i>[20,
-        36)</i>, and the largest endpoint in its sub-tree is 99.) A
-        container based on this data structure can obviously answer
-        efficiently whether <i>[3, 41)</i> is in the container
-        object, but it can also answer efficiently whether the
-        container object has intervals that intersect <i>[3,
-        41)</i> (see <a href=
-        "assoc_examples.html#tree_like_based">Associative Container
-        Examples::Tree-Like-Based Containers (Trees and
-        Tries)</a>). These types of queries are very useful in
-        geometric algorithms and lease-management algorithms.</p>
-
-        <p>It is important to note, however, that as the trees are
-        modified, their internal structure changes. To maintain
-        these invariants, one must supply some policy that is aware
-        of these changes (see <a href=
-        "tree_based_containers.html#invariants">Design::Associative
-        Containers::Tree-Based Containers::Node Invariants</a>);
-        without this, it would be better to use a linked list (in
-        itself very efficient for these purposes).</p>
-
-        <p><a href=
-        "assoc_performance_tests.html#tree_like_based">Associative-Container
-        Performance Tests::Tree-Like-Based Containers</a>
-        quantifies some of these points.</p>
-      </li>
-    </ol>
-
-    <h6 class="c1"><a name="node_invariants" id=
-    "node_invariants"><img src="node_invariants.png" alt=
-    "no image" /></a></h6>
-
-    <h6 class="c1">Metadata for order-statistics and interval
-    intersections.</h6>
-
-    <h3><a name="assoc_ds_genericity" id="assoc_ds_genericity">More
-    Data Structures and Traits</a></h3>
-
-    <p>The STL contains associative containers based on red-black
-    trees and collision-chaining hash tables. These are obviously
-    very useful, but they are not ideal for all types of
-    settings.</p>
-
-    <p>Figure <a href=
-    "#different_underlying_data_structures">Different underlying
-    data structures</a> shows different underlying data structures
-    (the ones currently supported in <tt>pb_ds</tt>). A shows a
-    collision-chaining hash-table, B shows a probing hash-table, C
-    shows a red-black tree, D shows a splay tree, E shows a tree
-    based on an ordered vector(implicit in the order of the
-    elements), F shows a PATRICIA trie, and G shows a list-based
-    container with update policies.</p>
-
-    <p>Each of these data structures has some performance benefits,
-    in terms of speed, size or both (see <a href=
-    "assoc_performance_tests.html">Associative-Container
-    Performance Tests</a> and <a href=
-    "assoc_performance_tests.html#dss_family_choice">Associative-Container
-    Performance Tests::Observations::Underlying Data-Structure
-    Families</a>). For now, though, note that <i>e.g.</i>,
-    vector-based trees and probing hash tables manipulate memory
-    more efficiently than red-black trees and collision-chaining
-    hash tables, and that list-based associative containers are
-    very useful for constructing "multimaps" (see <a href=
-    "#assoc_mapping_semantics">Alternative to Multiple Equivalent
-    Keys</a>, <a href=
-    "assoc_performance_tests.html#multimaps">Associative Container
-    Performance Tests::Multimaps</a>, and <a href=
-    "assoc_performance_tests.html#msc">Associative Container
-    Performance Tests::Observations::Mapping-Semantics
-    Considerations</a>).</p>
-
-    <h6 class="c1"><a name="different_underlying_data_structures"
-    id="different_underlying_data_structures"><img src=
-    "different_underlying_dss.png" alt="no image" /></a></h6>
-
-    <h6 class="c1">Different underlying data structures.</h6>
-
-    <p>Now consider a function manipulating a generic associative
-    container, <i>e.g.</i>,</p>
-    <pre>
-<b>template</b>&lt;
-    <b>class</b> Cntnr&gt;
-<b>int</b> 
-    some_op_sequence
-    (Cntnr &amp;r_cnt)
-{
-    ...
-}
-</pre>
-
-    <p>Ideally, the underlying data structure of <tt>Cntnr</tt>
-    would not affect what can be done with <tt>r_cnt</tt>.
-    Unfortunately, this is not the case.</p>
-
-    <p>For example, if <tt>Cntnr</tt> is <tt>std::map</tt>, then
-    the function can use <tt>std::for_each(r_cnt.find(foo),
-    r_cnt.find(bar), foobar)</tt> in order to apply <tt>foobar</tt>
-    to all elements between <tt>foo</tt> and <tt>bar</tt>. If
-    <tt>Cntnr</tt> is a hash-based container, then this call's
-    results are undefined.</p>
-
-    <p>Also, if <tt>Cntnr</tt> is tree-based, the type and object
-    of the comparison functor can be accessed. If <tt>Cntnr</tt> is
-    hash based, these queries are nonsensical.</p>
-
-    <p>There are various other differences based on the container's
-    underlying data structure. For one, they can be constructed by,
-    and queried for, different policies. Furthermore:</p>
-
-    <ol>
-      <li>Containers based on C, D, E and F store elements in a
-      meaningful order; the others store elements in a meaningless
-      (and probably time-varying) order. By implication, only
-      containers based on C, D, E and F can support erase
-      operations taking an iterator and returning an iterator to
-      the following element without performance loss (see <a href=
-      "#assoc_ers_methods">Slightly Different Methods::Methods
-      Related to Erase</a>).</li>
-
-      <li>Containers based on C, D, E, and F can be split and
-      joined efficiently, while the others cannot. Containers based
-      on C and D, furthermore, can guarantee that this is
-      exception-free; containers based on E cannot guarantee
-      this.</li>
-
-      <li>Containers based on all but E can guarantee that erasing
-      an element is exception free; containers based on E cannot
-      guarantee this. Containers based on all but B and E can
-      guarantee that modifying an object of their type does not
-      invalidate iterators or references to their elements, while
-      containers based on B and E cannot. Containers based on C, D,
-      and E can furthermore make a stronger guarantee, namely that
-      modifying an object of their type does not affect the order
-      of iterators.</li>
-    </ol>
-
-    <p>A unified tag and traits system (as used for the STL's
-    iterators, for example) can ease generic manipulation of
-    associative containers based on different underlying
-    data structures (see <a href=
-    "tutorial.html#assoc_ds_gen">Tutorial::Associative
-    Containers::Determining Containers' Attributes</a> and <a href=
-    "ds_gen.html#container_traits">Design::Associative
-    Containers::Data-Structure Genericity::Data-Structure Tags and
-    Traits</a>).</p>
-
-    <h3><a name="assoc_diff_it" id="assoc_diff_it">Differentiating
-    between Iterator Types</a></h3>
-
-    <p>Iterators are centric to the STL's design, because of the
-    container/algorithm/iterator decomposition that allows an
-    algorithm to operate on a range through iterators of some
-    sequence (<i>e.g.</i>, one originating from a container).
-    Iterators, then, are useful because they allow going over a
-    <u>sequence</u>. The STL also uses iterators for accessing a
-    <u>specific</u> element - <i>e.g.</i>, when an associative
-    container returns one through <tt>find</tt>. The STL, however,
-    consistently uses the same types of iterators for both
-    purposes: going over a range, and accessing a specific found
-    element. Before the introduction of hash-based containers to
-    the STL, this made sense (with the exception of priority
-    queues, which are discussed in <a href="#pq">Priority
-    Queues</a>).</p>
-
-    <p>Using the STL's associative containers together with
-    non-order-preserving associative containers (and also because
-    of priority-queues container), there is a possible need for
-    different types of iterators for self-organizing containers -
-    the iterator concept seems overloaded to mean two different
-    things (in some cases). The following subsections explain this;
-    <a href="tutorial.html#assoc_find_range">Tutorial::Associative
-    Containers::Point-Type and Range-Type Methods</a> explains an
-    alternative design which does not complicate the use of
-    order-preserving containers, but is better for unordered
-    containers; <a href=
-    "ds_gen.html#find_range">Design::Associative
-    Containers::Data-Structure Genericity::Point-Type and
-    Range-Type Methods</a> explains the design further.</p>
-
-    <h4><a name="assoc_find_it_range_it" id=
-    "assoc_find_it_range_it">Using Point-Type Iterators for
-    Range-Type Operations</a></h4>
-
-    <p>Suppose <tt>cntnr</tt> is some associative container, and
-    say <tt>c</tt> is an object of type <tt>cntnr</tt>. Then what
-    will be the outcome of</p>
-    <pre>
-std::for_each(c.find(1), c.find(5), foo);
-</pre>
-
-    <p>If <tt>cntnr</tt> is a tree-based container object, then an
-    in-order walk will apply <tt>foo</tt> to the relevant elements,
-    <i>e.g.</i>, as in Figure <a href="#range_it_in_hts">Range
-    iteration in different data structures</a> -A. If <tt>c</tt> is
-    a hash-based container, then the order of elements between any
-    two elements is undefined (and probably time-varying); there is
-    no guarantee that the elements traversed will coincide with the
-    <i>logical</i> elements between 1 and 5, <i>e.g.</i>, as in
-    Figure <a href="#range_it_in_hts">Range iteration in different
-    data structures</a>-B.</p>
-
-    <h6 class="c1"><a name="range_it_in_hts" id=
-    "range_it_in_hts"><img src="point_iterators_range_ops_1.png"
-    alt="no image" /></a></h6>
-
-    <h6 class="c1">Range iteration in different
-    data structures.</h6>
-
-    <p>In our opinion, this problem is not caused just because
-    red-black trees are order preserving while collision-chaining
-    hash tables are (generally) not - it is more fundamental. Most
-    of the STL's containers order sequences in a well-defined
-    manner that is determined by their <u>interface</u>: calling
-    <tt>insert</tt> on a tree-based container modifies its sequence
-    in a predictable way, as does calling <tt>push_back</tt> on a
-    list or a vector. Conversely, collision-chaining hash tables,
-    probing hash tables, priority queues, and list-based containers
-    (which are very useful for "multimaps") are self-organizing
-    data structures; the effect of each operation modifies their
-    sequences in a manner that is (practically) determined by their
-    <u>implementation</u>.</p>
-
-    <p>Consequently, applying an algorithm to a sequence obtained
-    from most containers <u>may or may not</u> make sense, but
-    applying it to a sub-sequence of a self-organizing container
-    <u>does not</u>.</p>
-
-    <h4><a name="assoc_range_it_for_find_it" id=
-    "assoc_range_it_for_find_it">The Cost of Enabling Range
-    Capabilities to Point-Type Iterators</a></h4>
-
-    <p>Suppose <tt>c</tt> is some collision-chaining hash-based
-    container object, and one calls <tt>c.find(3)</tt>. Then what
-    composes the returned iterator?</p>
-
-    <p>Figure <a href="#find_its_in_hash_tables">Point-type
-    iterators in hash tables</a>-A shows the simplest (and most
-    efficient) implementation of a collision-chaining hash table.
-    The little box marked <tt>point_iterator</tt> shows an object
-    that contains a pointer to the element's node. Note that this
-    "iterator" has no way to move to the next element (<i>i.e.</i>,
-    it cannot support <tt><b>operator</b>++</tt>). Conversely, the
-    little box marked <tt>iterator</tt> stores both a pointer to
-    the element, as well as some other information (<i>e.g.</i>,
-    the bucket number of the element). the second iterator, then,
-    is "heavier" than the first one- it requires more time and
-    space. If we were to use a different container to
-    cross-reference into this hash-table using these iterators - it
-    would take much more space. As noted in <a href=
-    "#assoc_find_it_range_it">Using Point-Type Iterators for
-    Range-Type Operations</a>, nothing much can be done by
-    incrementing these iterators, so why is this extra information
-    needed?</p>
-
-    <p>Alternatively, one might create a collision-chaining
-    hash-table where the lists might be linked, forming a
-    monolithic total-element list, as in Figure <a href=
-    "#find_its_in_hash_tables">Point-type iterators in hash
-    tables</a>-B (this seems similar to the Dinkumware design
-    [<a href="references.html#dinkumware_stl">dinkumware_stl</a>]).
-    Here the iterators are as light as can be, but the hash-table's
-    operations are more complicated.</p>
-
-    <h6 class="c1"><a name="find_its_in_hash_tables" id=
-    "find_its_in_hash_tables"><img src=
-    "point_iterators_range_ops_2.png" alt="no image" /></a></h6>
-
-    <h6 class="c1">Point-type iterators in hash tables.</h6>
-
-    <p>It should be noted that containers based on
-    collision-chaining hash-tables are not the only ones with this
-    type of behavior; many other self-organizing data structures
-    display it as well.</p>
-
-    <h4><a name="assoc_inv_guar" id="assoc_inv_guar">Invalidation
-    Guarantees</a></h4>
-
-    <p>Consider the following snippet:</p>
-    <pre>
-it = c.find(3);
-
-c.erase(5);
-</pre>
-
-    <p>Following the call to <tt>erase</tt>, what is the validity
-    of <tt>it</tt>: can it be de-referenced? can it be
-    incremented?</p>
-
-    <p>The answer depends on the underlying data structure of the
-    container. Figure <a href=
-    "#invalidation_guarantee_erase">Effect of erase in different
-    underlying data structures</a> shows three cases: A1 and A2
-    show a red-black tree; B1 and B2 show a probing hash-table; C1
-    and C2 show a collision-chaining hash table.</p>
-
-    <h6 class="c1"><a name="invalidation_guarantee_erase" id=
-    "invalidation_guarantee_erase"><img src=
-    "invalidation_guarantee_erase.png" alt="no image" /></a></h6>
-
-    <h6 class="c1">Effect of erase in different underlying
-    data structures.</h6>
-
-    <ol>
-      <li>Erasing 5 from A1 yields A2. Clearly, an iterator to 3
-      can be de-referenced and incremented. The sequence of
-      iterators changed, but in a way that is well-defined by the
-      <u>interface</u>.</li>
-
-      <li>Erasing 5 from B1 yields B2. Clearly, an iterator to 3 is
-      not valid at all - it cannot be de-referenced or incremented;
-      the order of iterators changed in a way that is (practically)
-      determined by the <u>implementation</u> and not by the
-      <u>interface</u>.</li>
-
-      <li>Erasing 5 from C1 yields C2. Here the situation is more
-      complicated. On the one hand, there is no problem in
-      de-referencing <tt>it</tt>. On the other hand, the order of
-      iterators changed in a way that is (practically) determined
-      by the <u>implementation</u> and not by the
-      <u>interface</u>.</li>
-    </ol>
-
-    <p>So in classic STL, it is not always possible to express
-    whether <tt>it</tt> is valid or not. This is true also for
-    <tt>insert</tt>, <i>e.g.</i>. Again, the iterator concept seems
-    overloaded.</p>
-
-    <h3><a name="assoc_methods" id="assoc_methods">Slightly
-    Different Methods</a></h3>
-
-    <p>[<a href="references.html#meyers02both">meyers02both</a>]
-    points out that a class's methods should comprise only
-    operations which depend on the class's internal structure;
-    other operations are best designed as external functions.
-    Possibly, therefore, the STL's associative containers lack some
-    useful methods, and provide some other methods which would be
-    better left out (<i>e.g.</i>, [<a href=
-    "references.html#sgi_stl">sgi_stl</a>] ).</p>
-
-    <h4><a name="assoc_ers_methods" id="assoc_ers_methods">Methods
-    Related to Erase</a></h4>
-
-    <ol>
-      <li>Order-preserving STL associative containers provide the
-      method
-        <pre>
-iterator 
-    erase
-    (iterator it)
-</pre>which takes an iterator, erases the corresponding element,
-and returns an iterator to the following element. Also hash-based
-STL associative containers provide this method. This <u>seemingly
-increases</u> genericity between associative containers, since, <i>
-        e.g.</i>, it is possible to use
-        <pre>
-<b>typename</b> C::iterator it = c.begin();
-<b>typename</b> C::iterator e_it = c.end();
-
-<b>while</b>(it != e_it)
-    it = pred(*it)? c.erase(it) : ++it;
-</pre>in order to erase from a container object <tt>
-        c</tt> all element which match a predicate <tt>pred</tt>.
-        However, in a different sense this actually
-        <u>decreases</u> genericity: an integral implication of
-        this method is that tree-based associative containers'
-        memory use is linear in the total number of elements they
-        store, while hash-based containers' memory use is unbounded
-        in the total number of elements they store. Assume a
-        hash-based container is allowed to decrease its size when
-        an element is erased. Then the elements might be rehashed,
-        which means that there is no "next" element - it is simply
-        undefined. Consequently, it is possible to infer from the
-        fact that STL hash-based containers provide this method
-        that they cannot downsize when elements are erased
-        (<a href="assoc_performance_tests.html#hash_based">Performance
-        Tests::Hash-Based Container Tests</a> quantifies this.) As
-        a consequence, different code is needed to manipulate
-        different containers, assuming that memory should be
-        conserved. <tt>pb_ds</tt>'s non-order preserving
-        associative containers omit this method.
-      </li>
-
-      <li>All of <tt>pb_ds</tt>'s associative containers include a
-      conditional-erase method
-        <pre>
-<b>template</b>&lt;
-    <b>class</b> Pred&gt;
-size_type
-    erase_if
-    (Pred pred)
-</pre>which erases all elements matching a predicate. This is
-probably the only way to ensure linear-time multiple-item erase
-which can actually downsize a container.
-      </li>
-
-      <li>STL associative containers provide methods for
-      multiple-item erase of the form
-        <pre>
-size_type
-    erase
-    (It b, 
-        It e)
-</pre>erasing a range of elements given by a pair of iterators. For
-tree-based or trie-based containers, this can implemented more
-efficiently as a (small) sequence of split and join operations. For
-other, unordered, containers, this method isn't much better than an
-external loop. Moreover, if <tt>c</tt> is a hash-based container,
-then, <i>e.g.</i>, <tt>c.erase(c.find(2), c.find(5))</tt> is almost
-certain to do something different than erasing all elements whose
-keys are between 2 and 5, and is likely to produce other undefined
-behavior.
-      </li>
-    </ol>
-
-    <h4><a name="assoc_split_join_methods" id=
-    "assoc_split_join_methods">Methods Related to Split and
-    Join</a></h4>
-
-    <p>It is well-known that tree-based and trie-based container
-    objects can be efficiently split or joined [<a href=
-    "references.html#clrs2001">clrs2001</a>]. Externally splitting
-    or joining trees is super-linear, and, furthermore, can throw
-    exceptions. Split and join methods, consequently, seem good
-    choices for tree-based container methods, especially, since as
-    noted just before, they are efficient replacements for erasing
-    sub-sequences. <a href=
-    "assoc_performance_tests.html#tree_like_based">Performance
-    Tests::Tree-Like-Based Container Tests</a> quantifies this.</p>
-
-    <h4><a name="assoc_insert_methods" id=
-    "assoc_insert_methods">Methods Related to Insert</a></h4>
-
-    <p>STL associative containers provide methods of the form</p>
-    <pre>
-<b>template</b>&lt;
-    <b>class</b> It&gt;
-size_type
-    insert
-    (It b,
-        It e);
-</pre>for inserting a range of elements given by a pair of
-iterators. At best, this can be implemented as an external loop,
-or, even more efficiently, as a join operation (for the case of
-tree-based or trie-based containers). Moreover, these methods seem
-similar to constructors taking a range given by a pair of
-iterators; the constructors, however, are transactional, whereas
-the insert methods are not; this is possibly confusing.
-
-    <h4><a name="assoc_equiv_comp_methods" id=
-    "assoc_equiv_comp_methods">Functions Related to
-    Comparison</a></h4>
-
-    <p>Associative containers are parametrized by policies
-    allowing to test key equivalence; <i>e.g.</i> a hash-based
-    container can do this through its equivalence functor, and a
-    tree-based container can do this through its comparison
-    functor. In addition, some STL associative containers have
-    global function operators, <i>e.g.</i>,
-    <tt><b>operator</b>==</tt> and <tt><b>operator</b>&lt;=</tt>,
-    that allow comparing entire associative containers.</p>
-
-    <p>In our opinion, these functions are better left out. To
-    begin with, they do not significantly improve over an external
-    loop. More importantly, however, they are possibly misleading -
-    <tt><b>operator</b>==</tt>, for example, usually checks for
-    equivalence, or interchangeability, but the associative
-    container cannot check for values' equivalence, only keys'
-    equivalence; also, are two containers considered equivalent if
-    they store the same values in different order? this is an
-    arbitrary decision.</p>
-
-    <h3><a name="assoc_mapping_semantics" id=
-    "assoc_mapping_semantics">Alternative to Multiple Equivalent
-    Keys</a></h3>
-
-    <p>Maps (or sets) allow mapping (or storing) unique-key values.
-    The STL, however, also supplies associative containers which
-    map (or store) multiple values with equivalent keys:
-    <tt>std::multimap</tt>, <tt>std::multiset</tt>,
-    <tt>std::tr1::unordered_multimap</tt>, and
-    <tt>unordered_multiset</tt>. We first discuss how these might
-    be used, then why we think it is best to avoid them.</p>
-
-    <p>Suppose one builds a simple bank-account application that
-    records for each client (identified by an <tt>std::string</tt>)
-    and account-id (marked by an <tt><b>unsigned long</b></tt>) -
-    the balance in the account (described by a
-    <tt><b>float</b></tt>). Suppose further that ordering this
-    information is not useful, so a hash-based container is
-    preferable to a tree based container. Then one can use</p>
-    <pre>
-std::tr1::unordered_map&lt;std::pair&lt;std::string, <b>unsigned long</b>&gt;, <b>float</b>, ...&gt;
-</pre>which <u>hashes every combination of client and
-account-id</u>. This might work well, except for the fact that it
-is now impossible to efficiently list all of the accounts of a
-specific client (this would practically require iterating over all
-entries). Instead, one can use
-    <pre>
-std::tr1::unordered_multimap&lt;std::pair&lt;std::string, <tt><b>unsigned long</b></tt>&gt;, <b>float</b>, ...&gt;
-</pre>which <u>hashes every client</u>, and <u>decides equivalence
-based on client</u> only. This will ensure that all accounts
-belonging to a specific user are stored consecutively.
-
-    <p>Also, suppose one wants an integers' priority queue
-    (<i>i.e.,</i> a container that supports <tt>push</tt>,
-    <tt>pop</tt>, and <tt>top</tt> operations, the last of which
-    returns the largest <tt><b>int</b></tt>) that also supports
-    operations such as <tt>find</tt> and <tt>lower_bound</tt>. A
-    reasonable solution is to build an adapter over
-    <tt>std::set&lt;<b>int</b>&gt;</tt>. In this adapter,
-    <i>e.g.</i>, <tt>push</tt> will just call the tree-based
-    associative container's <tt>insert</tt> method; <tt>pop</tt>
-    will call its <tt>end</tt> method, and use it to return the
-    preceding element (which must be the largest). Then this might
-    work well, except that the container object cannot hold
-    multiple instances of the same integer (<tt>push(4)</tt>,
-    <i>e.g.</i>, will be a no-op if <tt>4</tt> is already in the
-    container object). If multiple keys are necessary, then one
-    might build the adapter over an
-    <tt>std::multiset&lt;<b>int</b>&gt;</tt>.</p>
-
-    <p class="c1">STL non-unique-mapping containers, then, are
-    useful when (1) a key can be decomposed in to a primary key and
-    a secondary key, (2) a key is needed multiple times, or (3) any
-    combination of (1) and (2).</p>
-
-    <p>Figure <a href="#embedded_lists_1">Non-unique mapping
-    containers in the STL's design</a> shows how the STL's design
-    works internally; in this figure nodes shaded equally represent
-    equivalent-key values. Equivalent keys are stored consecutively
-    using the properties of the underlying data structure: binary
-    search trees (Figure <a href="#embedded_lists_1">Non-unique
-    mapping containers in the STL's design</a>-A) store
-    equivalent-key values consecutively (in the sense of an
-    in-order walk) naturally; collision-chaining hash tables
-    (Figure <a href="#embedded_lists_1">Non-unique mapping
-    containers in the STL's design</a>-B) store equivalent-key
-    values in the same bucket, the bucket can be arranged so that
-    equivalent-key values are consecutive.</p>
-
-    <h6 class="c1"><a name="embedded_lists_1" id=
-    "embedded_lists_1"><img src="embedded_lists_1.png" alt=
-    "no image" /></a></h6>
-
-    <h6 class="c1">Non-unique mapping containers in the STL's
-    design.</h6>
-
-    <p>Put differently, STL non-unique mapping
-    associative-containers are associative containers that map
-    primary keys to linked lists that are embedded into the
-    container. Figure <a href="#embedded_lists_2">Effect of
-    embedded lists in STL multimaps</a> shows again the two
-    containers from Figure <a href="#embedded_lists_1">Non-unique
-    mapping containers in the STL's design</a>, this time with the
-    embedded linked lists of the grayed nodes marked
-    explicitly.</p>
-
-    <h6 class="c1"><a name="embedded_lists_2" id=
-    "embedded_lists_2"><img src="embedded_lists_2.png" alt=
-    "no image" /></a></h6>
-
-    <h6 class="c1">Effect of embedded lists in STL multimaps.</h6>
-
-    <p>These embedded linked lists have several disadvantages.</p>
-
-    <ol>
-      <li>The underlying data structure embeds the linked lists
-      according to its own consideration, which means that the
-      search path for a value might include several different
-      equivalent-key values. For example, the search path for the
-      the black node in either of Figures <a href=
-      "#embedded_lists_1">Non-unique mapping containers in the
-      STL's design</a> A or B, includes more than a single gray
-      node.</li>
-
-      <li>The links of the linked lists are the underlying
-      data structures' nodes, which typically are quite structured.
-      <i>E.g.</i>, in the case of tree-based containers (Figure
-      <a href="#embedded_lists_2">Effect of embedded lists in STL
-      multimaps</a>-B), each "link" is actually a node with three
-      pointers (one to a parent and two to children), and a
-      relatively-complicated iteration algorithm. The linked lists,
-      therefore, can take up quite a lot of memory, and iterating
-      over all values equal to a given key (<i>e.g.</i>, through
-      the return value of the STL's <tt>equal_range</tt>) can be
-      expensive.</li>
-
-      <li>The primary key is stored multiply; this uses more
-      memory.</li>
-
-      <li>Finally, the interface of this design excludes several
-      useful underlying data structures. <i>E.g.</i>, of all the
-      unordered self-organizing data structures, practically only
-      collision-chaining hash tables can (efficiently) guarantee
-      that equivalent-key values are stored consecutively.</li>
-    </ol>
-
-    <p>The above reasons hold even when the ratio of secondary keys
-    to primary keys (or average number of identical keys) is small,
-    but when it is large, there are more severe problems:</p>
-
-    <ol>
-      <li>The underlying data structures order the links inside
-      each embedded linked-lists according to their internal
-      considerations, which effectively means that each of the
-      links is unordered. Irrespective of the underlying
-      data structure, searching for a specific value can degrade to
-      linear complexity.</li>
-
-      <li>Similarly to the above point, it is impossible to apply
-      to the secondary keys considerations that apply to primary
-      keys. For example, it is not possible to maintain secondary
-      keys by sorted order.</li>
-
-      <li>While the interface "understands" that all equivalent-key
-      values constitute a distinct list (<i>e.g.</i>, through
-      <tt>equal_range</tt>), the underlying data structure
-      typically does not. This means, <i>e.g.</i>, that operations
-      such as erasing from a tree-based container all values whose
-      keys are equivalent to a a given key can be super-linear in
-      the size of the tree; this is also true also for several
-      other operations that target a specific list.</li>
-    </ol>
-
-    <p>In <tt>pb_ds</tt>, therefore, all associative containers map
-    (or store) unique-key values. One can (1) map primary keys to
-    secondary associative-containers (<i>i.e.</i>, containers of
-    secondary keys) or non-associative containers (2) map identical
-    keys to a size-type representing the number of times they
-    occur, or (3) any combination of (1) and (2). Instead of
-    allowing multiple equivalent-key values, <tt>pb_ds</tt>
-    supplies associative containers based on underlying
-    data structures that are suitable as secondary
-    associative-containers (see <a href=
-    "assoc_performance_tests.html#msc">Associative-Container
-    Performance Tests::Observations::Mapping-Semantics
-    Considerations</a>).</p>
-
-    <p>Figures <a href="#embedded_lists_3">Non-unique mapping
-    containers in <tt>pb_ds</tt></a> A and B show the equivalent
-    structures in <tt>pb_ds</tt>'s design, to those in Figures
-    <a href="#embedded_lists_1">Non-unique mapping containers in
-    the STL's design</a> A and B, respectively. Each shaded box
-    represents some size-type or secondary
-    associative-container.</p>
-
-    <h6 class="c1"><a name="embedded_lists_3" id=
-    "embedded_lists_3"><img src="embedded_lists_3.png" alt=
-    "no image" /></a></h6>
-
-    <h6 class="c1">Non-unique mapping containers in the
-    <tt>pb_ds</tt>.</h6>
-
-    <p>In the first example above, then, one would use an
-    associative container mapping each user to an associative
-    container which maps each application id to a start time (see
-    <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>);
-    in the second example, one would use an associative container
-    mapping each <tt><b>int</b></tt> to some size-type indicating
-    the number of times it logically occurs (see <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>).</p>
-
-    <p><a href=
-    "assoc_performance_tests.html#multimaps">Associative-Container
-    Performance Tests::Multimaps</a> quantifies some of these
-    points, and <a href=
-    "assoc_performance_tests.html#msc">Associative-Container
-    Performance Tests::Observations::Mapping-Semantics
-    Considerations</a> shows some simple calculations.</p>
-
-    <p><a href="assoc_examples.html#mmaps">Associative-Container
-    Examples::Multimaps</a> shows some simple examples of using
-    "multimaps".</p>
-
-    <p><a href="lu_based_containers.html">Design::Associative
-    Containers::List-Based Containers</a> discusses types of
-    containers especially suited as secondary
-    associative-containers.</p>
-
-    <h2><a name="pq" id="pq">Priority Queues</a></h2>
-
-    <h3><a name="pq_more_ops" id="pq_more_ops">Slightly Different
-    Methods</a></h3>
-
-    <p>Priority queues are containers that allow efficiently
-    inserting values and accessing the maximal value (in the sense
-    of the container's comparison functor); <i>i.e.</i>, their
-    interface supports <tt>push</tt> and <tt>pop</tt>. The STL's
-    priority queues indeed support these methods, but they support
-    little else. For algorithmic and software-engineering purposes,
-    other methods are needed:</p>
-
-    <ol>
-      <li>Many graph algorithms [<a href=
-      "references.html#clrs2001">clrs2001</a>] require increasing a
-      value in a priority queue (again, in the sense of the
-      container's comparison functor), or joining two
-      priority-queue objects.</li>
-
-      <li>It is sometimes necessary to erase an arbitrary value in
-      a priority queue. For example, consider the <tt>select</tt>
-      function for monitoring file descriptors:
-        <pre>
-<b>int</b> 
-    select
-    (<b>int</b> nfds,             
-        fd_set *readfds,                
-        fd_set *writefds,
-        fd_set *errorfds, 
-        <b>struct</b> timeval *timeout);
-</pre>then, as the <tt>select</tt> manual page [<a href=
-"references.html#select_man">select_man</a>] states:
-
-        <p><q>The nfds argument specifies the range of file
-        descriptors to be tested. The select() function tests file
-        descriptors in the range of 0 to nfds-1.</q></p>
-
-        <p>It stands to reason, therefore, that we might wish to
-        maintain a minimal value for <tt>nfds</tt>, and priority
-        queues immediately come to mind. Note, though, that when a
-        socket is closed, the minimal file description might
-        change; in the absence of an efficient means to erase an
-        arbitrary value from a priority queue, we might as well
-        avoid its use altogether.</p>
-
-        <p><a href="pq_examples.html#xref">Priority-Queue
-        Examples::Cross-Referencing</a> shows examples for these
-        types of operations.</p>
-      </li>
-
-      <li>STL containers typically support iterators. It is
-      somewhat unusual for <tt>std::priority_queue</tt> to omit
-      them (see, <i>e.g.</i>, [<a href=
-      "references.html#meyers01stl">meyers01stl</a>]). One might
-      ask why do priority queues need to support iterators, since
-      they are self-organizing containers with a different purpose
-      than abstracting sequences. There are several reasons:
-
-        <ol>
-          <li>Iterators (even in self-organizing containers) are
-          useful for many purposes, <i>e.g.</i>, cross-referencing
-          containers, serialization, and debugging code that uses
-          these containers.</li>
-
-          <li>The STL's hash-based containers support iterators,
-          even though they too are self-organizing containers with
-          a different purpose than abstracting sequences.</li>
-
-          <li>In STL-like containers, it is natural to specify the
-          interface of operations for modifying a value or erasing
-          a value (discussed previously) in terms of a iterators.
-          This is discussed further in <a href=
-          "pq_design.html#pq_it">Design::Priority
-          Queues::Iterators</a>. It should be noted that the STL's
-          containers also use iterators for accessing and
-          manipulating a specific value. <i>E.g.</i>, in hash-based
-          containers, one checks the existence of a key by
-          comparing the iterator returned by <tt>find</tt> to the
-          iterator returned by <tt>end</tt>, and not by comparing a
-          pointer returned by <tt>find</tt> to <tt>NULL</tt>.</li>
-        </ol>
-      </li>
-    </ol>
-
-    <p><a href="pq_performance_tests.html">Performance
-    Tests::Priority Queues</a> quantifies some of these points.</p>
-
-    <h3><a name="pq_ds_genericity" id="pq_ds_genericity">More Data
-    Structures and Traits</a></h3>
-
-    <p>There are three main implementations of priority queues: the
-    first employs a binary heap, typically one which uses a
-    sequence; the second uses a tree (or forest of trees), which is
-    typically less structured than an associative container's tree;
-    the third simply uses an associative container. These are
-    shown, respectively, in Figures <a href=
-    "#pq_different_underlying_dss">Underlying Priority-Queue
-    Data-Structures</a> A1 and A2, B, and C.</p>
-
-    <h6 class="c1"><a name="pq_different_underlying_dss" id=
-    "pq_different_underlying_dss"><img src=
-    "pq_different_underlying_dss.png" alt="no image" /></a></h6>
-
-    <h6 class="c1">Underlying Priority-Queue Data-Structures.</h6>
-
-    <p>No single implementation can completely replace any of the
-    others. Some have better <tt>push</tt> and <tt>pop</tt>
-    amortized performance, some have better bounded (worst case)
-    response time than others, some optimize a single method at the
-    expense of others, <i>etc.</i>. In general the "best"
-    implementation is dictated by the problem (see <a href=
-    "pq_performance_tests.html#pq_observations">Performance
-    Tests::Priority Queues::Observations</a>).</p>
-
-    <p>As with associative containers (see <a href=
-    "#assoc_ds_genericity">Associative Containers::Traits for
-    Underlying Data-Structures</a>), the more implementations
-    co-exist, the more necessary a traits mechanism is for handling
-    generic containers safely and efficiently. This is especially
-    important for priority queues, since the invalidation
-    guarantees of one of the most useful data structures - binary
-    heaps - is markedly different than those of most of the
-    others.</p>
-
-    <p><a href="pq_design.html#pq_traits">Design::Priority
-    Queues::Traits</a> discusses this further.</p>
-
-    <h3><a name="pq_binary_heap" id="pq_binary_heap">Binary Heap
-    Implementation</a></h3>
-
-    <p>Binary heaps are one of the most useful underlying
-    data structures for priority queues. They are very efficient in
-    terms of memory (since they don't require per-value structure
-    metadata), and have the best amortized <tt>push</tt> and
-    <tt>pop</tt> performance for primitive types (<i>e.g.</i>,
-    <tt><b>int</b></tt>s).</p>
-
-    <p>The STL's <tt>priority_queue</tt> implements this data
-    structure as an adapter over a sequence, typically
-    <tt>std::vector</tt> or <tt>std::deque</tt>, which correspond
-    to Figures <a href="#pq_different_underlying_dss">Underlying
-    Priority-Queue Data-Structures</a> A1 and A2, respectively.</p>
-
-    <p>This is indeed an elegant example of the adapter concept and
-    the algorithm/container/iterator decomposition (see [<a href=
-    "references.html#nelson96stlpq">nelson96stlpql</a>]). There are
-    possibly reasons, however, why a binary-heap priority queue
-    would be better implemented as a container instead of a
-    sequence adapter:</p>
-
-    <ol>
-      <li><tt>std::priority_queue</tt> cannot erase values from its
-      adapted sequence (irrespective of the sequence type). This
-      means that the memory use of an <tt>std::priority_queue</tt>
-      object is always proportional to the maximal number of values
-      it ever contained, and not to the number of values that it
-      currently contains (see <a href=
-      "priority_queue_text_pop_mem_usage_test.html">Priority Queue
-      Text <tt>pop</tt> Memory Use Test</a>); this implementation
-      of binary heaps acts very differently than other underlying
-      data structures (<i>e.g.</i>, pairing heaps).</li>
-
-      <li>Some combinations of adapted sequences and value types
-      are very inefficient or just don't make sense. If one uses
-      <tt>std::priority_queue&lt;std::vector&lt;std::string&gt;
-      &gt; &gt;</tt>, for example, then not only will each
-      operation perform a logarithmic number of
-      <tt>std::string</tt> assignments, but, furthermore, any
-      operation (including <tt>pop</tt>) can render the container
-      useless due to exceptions. Conversely, if one uses
-      <tt>std::priority_queue&lt;std::deque&lt;<b>int</b>&gt; &gt;
-      &gt;</tt>, then each operation uses incurs a logarithmic
-      number of indirect accesses (through pointers) unnecessarily.
-      It might be better to let the container make a conservative
-      deduction whether to use the structure in Figures <a href=
-      "#pq_different_underlying_dss">Underlying Priority-Queue
-      Data-Structures</a> A1 or A2.</li>
-
-      <li>There does not seem to be a systematic way to determine
-      what exactly can be done with the priority queue.
-
-        <ol>
-          <li>If <tt>p</tt> is a priority queue adapting an
-          <tt>std::vector</tt>, then it is possible to iterate over
-          all values by using <tt>&amp;p.top()</tt> and
-          <tt>&amp;p.top() + p.size()</tt>, but this will not work
-          if <tt>p</tt> is adapting an <tt>std::deque</tt>; in any
-          case, one cannot use <tt>p.begin()</tt> and
-          <tt>p.end()</tt>. If a different sequence is adapted, it
-          is even more difficult to determine what can be
-          done.</li>
-
-          <li>If <tt>p</tt> is a priority queue adapting an
-          <tt>std::deque</tt>, then the reference return by
-          <tt>p.top()</tt> will remain valid until it is popped,
-          but if <tt>p</tt> adapts an <tt>std::vector</tt>, the
-          next <tt>push</tt> will invalidate it. If a different
-          sequence is adapted, it is even more difficult to
-          determine what can be done.</li>
-        </ol>
-      </li>
-
-      <li>Sequence-based binary heaps can still implement
-      linear-time <tt>erase</tt> and <tt>modify</tt> operations.
-      This means that if one needs, <i>e.g.</i>, to erase a small
-      (say logarithmic) number of values, then one might still
-      choose this underlying data structure. Using
-      <tt>std::priority_queue</tt>, however, this will generally
-      change the order of growth of the entire sequence of
-      operations.</li>
-    </ol>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/move_to_front_lu_policy.html b/libstdc++-v3/doc/html/ext/pb_ds/move_to_front_lu_policy.html
deleted file mode 100644 (file)
index 4ed4d40..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-<!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>move_to_front_lu_policy Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>move_to_front_lu_policy</tt> Interface</h1>
-
-    <p>A list-update policy that unconditionally moves elements to
-    the front of the list.</p>
-
-    <p>Defined in: <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/list_update_policy.hpp"><tt>list_update_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="Allocator35940069" id=
-"Allocator35940069"><b>class</b> Allocator </a>
-</pre>
-        </td>
-
-        <td>
-          <p>Allocator type.</p>
-
-          <p>This is used only for definitions, e.g., the size
-          type.</p>
-        </td>
-
-        <td>
-          <pre>
-std::allocator&lt;<b>char</b>&gt;
-</pre>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link2" id="link2">Public Types and
-    Constants</a></h2>
-
-    <h3><a name="link3" id="link3">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="link4" id="link4">Metadata-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="metadata_type2849297114" id=
-"metadata_type2849297114">metadata_type</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="null_lu_metadata.html"><span class=
-"c2"><tt>null_lu_metadata</tt></span></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Metadata on which this functor operates.</p>
-
-          <p>In this case, none.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="metadata_reference583863863" id=
-"metadata_reference583863863">metadata_reference</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#Allocator35940069"><tt>Allocator</tt></a>::<b>template</b> rebind&lt;  
-    <a href=
-"#metadata_type2849297114"><tt>metadata_type</tt></a>&gt;::other::reference
-</pre>
-        </td>
-
-        <td>
-          <p>Reference to metadata on which this functor
-          operates.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link5" id="link5">Public Methods</a></h2>
-
-    <h3><a name="link6" id="link6">Metadata 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="#metadata_type2849297114"><tt>metadata_type</tt></a>
-  <b>operator</b>()
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Creates a metadata object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <b>bool</b> 
-  <b>operator</b>()
-  (<a href=
-"#metadata_reference583863863"><tt>metadata_reference</tt></a> r_metadata) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Decides whether a metadata object should be moved to
-          the front of the list.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large.html b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large.html
deleted file mode 100644 (file)
index 74d33a3..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-<!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>"Multimap" Text Find Timing Test with Large Average
-  Secondary-Key to Primary-Key Ratio</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>"Multimap" Text Find Timing Test with Large Average
-    Secondary-Key to Primary-Key Ratio</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of pairs into a container. The
-    first item of each pair is a string from an arbitrary text
-    [<a href="references.html#wickland96thirty">wickland96thirty</a>], and
-    the second is a uniform i.i.d.integer. The container is a
-    "multimap" - it considers the first member of each pair as a
-    primary key, and the second member of each pair as a secondary
-    key (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative
-    Containers::Alternative to Multiple Equivalent Keys</a>). There
-    are 100 distinct primary keys, and the ratio of secondary keys
-    to primary keys ranges to about 20.</p>
-<p>The test measures the average find-time as a function of the
-    number of values inserted. For <tt>pb_ds</tt>'s containers, it
-    finds the secondary key from a container obtained from finding
-    a primary key. For the native multimaps, it searches a range
-    obtained using <tt>std::equal_range</tt> on a primary key.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/multimap_text_find_timing_large.cc"><tt>multimap_text_find_timing_test</tt></a>
-    thirty_years_among_the_dead_preproc.txt 100 3 4 4)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the find-time scalability of different
-    "multimap" designs (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative
-    Containers::Mapping Semantics</a>).</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NTG">NTG</a>, <a href="#NTM">NTM</a>, and
-    <a href="#NTL">NTL</a> show the results for "multimaps" which
-    use a tree-based container for primary keys, in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively; Figures <a href="#NHG"></a>NHG, <a href="#NHM">NHM</a>, and <a href="#NHL">NHL</a> show the results for
-    "multimaps" which use a hash-based container for primary keys,
-    in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>,
-    <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>,
-    and <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively.</p>
-<div id="NTG_res_div">
-<div id="NTG_gcc">
-<div id="NTG_multimap_text_find_timing_test_large_s2p_tree">
-<div id="NTG_assoc">
-<div id="NTG_Native_and_primary_tree-based_multimap_types_find_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTG" id="NTG"><img src="multimap_text_find_timing_test_large_s2p_tree_gcc.png" alt="no image" /></a></h6>NTG: Native and primary tree-based multimap types find timing test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_mmap-
-<tt>std::multimap</tt></li>
-<li>
-rb_tree_mmap_lu_mtf_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-<li>
-rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NTM_res_div">
-<div id="NTM_msvc">
-<div id="NTM_multimap_text_find_timing_test_large_s2p_tree">
-<div id="NTM_assoc">
-<div id="NTM_Native_and_primary_tree-based_multimap_types_find_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTM" id="NTM"><img src="multimap_text_find_timing_test_large_s2p_tree_msvc.png" alt="no image" /></a></h6>NTM: Native and primary tree-based multimap types find timing test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_mmap-
-<tt>std::multimap</tt></li>
-<li>
-rb_tree_mmap_lu_mtf_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-<li>
-rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NTL_res_div">
-<div id="NTL_local">
-<div id="NTL_multimap_text_find_timing_test_large_s2p_tree">
-<div id="NTL_assoc">
-<div id="NTL_Native_and_primary_tree-based_multimap_types_find_timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTL" id= "NTL"><img src="multimap_text_find_timing_test_large_s2p_tree_local.png" alt="no image" /></a></h6>NTL: Native and primary tree-based multimap types find timing test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHG_res_div">
-<div id="NHG_gcc">
-<div id="NHG_multimap_text_find_timing_test_large_s2p_hash">
-<div id="NHG_assoc">
-<div id="NHG_Native_and_primary_hash-based_multimap_types_find_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHG" id="NHG"><img src="multimap_text_find_timing_test_large_s2p_hash_gcc.png" alt="no image" /></a></h6>NHG: Native and primary hash-based multimap types find timing test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_hash_mmap-
-<tt>__gnucxx::hash_multimap</tt></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHM_res_div">
-<div id="NHM_msvc">
-<div id="NHM_multimap_text_find_timing_test_large_s2p_hash">
-<div id="NHM_assoc">
-<div id="NHM_Native_and_primary_hash-based_multimap_types_find_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHM" id="NHM"><img src="multimap_text_find_timing_test_large_s2p_hash_msvc.png" alt="no image" /></a></h6>NHM: Native and primary hash-based multimap types find timing test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_hash_mmap-
-<tt>stdext::hash_multimap</tt></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHL_res_div">
-<div id="NHL_local">
-<div id="NHL_multimap_text_find_timing_test_large_s2p_hash">
-<div id="NHL_assoc">
-<div id="NHL__Native_and_primary_hash-based_multimap_types_find_timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHL" id= "NHL"><img src="multimap_text_find_timing_test_large_s2p_hash_local.png" alt="no image" /></a></h6>NHL:  Native and primary hash-based multimap types find timing test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>See <a href="assoc_performance_tests.html#msc">Observations::Mapping-Semantics
-    Considerations</a>.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_gcc.png
deleted file mode 100644 (file)
index 03a62f5..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_local.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_local.png
deleted file mode 100644 (file)
index 121af9e..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_msvc.png
deleted file mode 100644 (file)
index 4462d28..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_gcc.png
deleted file mode 100644 (file)
index 89e4644..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_local.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_local.png
deleted file mode 100644 (file)
index 3ac90d5..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_msvc.png
deleted file mode 100644 (file)
index 2032095..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small.html b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small.html
deleted file mode 100644 (file)
index 1b379d8..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-<!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>"Multimap" Text Find Timing Test with Small Average
-  Secondary-Key to Primary-Key Ratio</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>"Multimap" Text Find Timing Test with Small Average
-    Secondary-Key to Primary-Key Ratio</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of pairs into a container. The
-    first item of each pair is a string from an arbitrary text
-    [<a href="references.html#wickland96thirty">wickland96thirty</a>], and
-    the second is a uniform i.i.d.integer. The container is a
-    "multimap" - it considers the first member of each pair as a
-    primary key, and the second member of each pair as a secondary
-    key (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative
-    Containers::Alternative to Multiple Equivalent Keys</a>). There
-    are 400 distinct primary keys, and the ratio of secondary keys
-    to primary keys ranges from 1 to 5.</p>
-<p>The test measures the average find-time as a function of the
-    number of values inserted. For <tt>pb_ds</tt>'s containers, it
-    finds the secondary key from a container obtained from finding
-    a primary key. For the native multimaps, it searches a range
-    obtained using <tt>std::equal_range</tt> on a primary key.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/multimap_text_find_timing_small.cc"><tt>multimap_text_find_timing_test</tt></a>
-    thirty_years_among_the_dead_preproc.txt 400 1 1 6)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the find-time scalability of different
-    "multimap" designs (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative
-    Containers::Mapping Semantics</a>).</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NTG">NTG</a>, <a href="#NTM">NTM</a>, and
-    <a href="#NTL">NTL</a> show the results for "multimaps" which
-    use a tree-based container for primary keys, in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively; Figures <a href="#NHG"></a>NHG, <a href="#NHM">NHM</a>, and <a href="#NHL">NHL</a> show the results for
-    "multimaps" which use a hash-based container for primary keys,
-    in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>,
-    <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>,
-    and <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively.</p>
-<div id="NTG_res_div">
-<div id="NTG_gcc">
-<div id="NTG_multimap_text_find_timing_test_small_s2p_tree">
-<div id="NTG_assoc">
-<div id="NHG_Native_and_primary_tree-based_multimap_types_find_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTG" id="NTG"><img src="multimap_text_find_timing_test_small_s2p_tree_gcc.png" alt="no image" /></a></h6>NTG: NHG Native and primary tree-based multimap types find timing test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_mmap-
-<tt>std::multimap</tt></li>
-<li>
-rb_tree_mmap_lu_mtf_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-<li>
-rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NTM_res_div">
-<div id="NTM_msvc">
-<div id="NTM_multimap_text_find_timing_test_small_s2p_tree">
-<div id="NTM_assoc">
-<div id="NHM_Native_and_primary_tree-based_multimap_types_find_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTM" id="NTM"><img src="multimap_text_find_timing_test_small_s2p_tree_msvc.png" alt="no image" /></a></h6>NTM: NHM Native and primary tree-based multimap types find timing test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_mmap-
-<tt>std::multimap</tt></li>
-<li>
-rb_tree_mmap_lu_mtf_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-<li>
-rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NTL_res_div">
-<div id="NTL_local">
-<div id="NTL_multimap_text_find_timing_test_small_s2p_tree">
-<div id="NTL_assoc">
-<div id="NTL_Native_and_primary_tree-based_multimap_types_find_timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTL" id= "NTL"><img src="multimap_text_find_timing_test_small_s2p_tree_local.png" alt="no image" /></a></h6>NTL: Native and primary tree-based multimap types find timing test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHG_res_div">
-<div id="NHG_gcc">
-<div id="NHG_multimap_text_find_timing_test_small_s2p_hash">
-<div id="NHG_assoc">
-<div id="NHG_Native_and_primary_hash-based_multimap_types_find_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHG" id="NHG"><img src="multimap_text_find_timing_test_small_s2p_hash_gcc.png" alt="no image" /></a></h6>NHG: Native and primary hash-based multimap types find timing test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_hash_mmap-
-<tt>__gnucxx::hash_multimap</tt></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHM_res_div">
-<div id="NHM_msvc">
-<div id="NHM_multimap_text_find_timing_test_small_s2p_hash">
-<div id="NHM_assoc">
-<div id="NHM_Native_and_primary_hash-based_multimap_types_find_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHM" id="NHM"><img src="multimap_text_find_timing_test_small_s2p_hash_msvc.png" alt="no image" /></a></h6>NHM: Native and primary hash-based multimap types find timing test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_hash_mmap-
-<tt>stdext::hash_multimap</tt></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHL_res_div">
-<div id="NHL_local">
-<div id="NHL_multimap_text_find_timing_test_small_s2p_hash">
-<div id="NHL_assoc">
-<div id="NHL__Native_and_primary_hash-based_multimap_types_find_timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHL" id= "NHL"><img src="multimap_text_find_timing_test_small_s2p_hash_local.png" alt="no image" /></a></h6>NHL:  Native and primary hash-based multimap types find timing test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>See <a href="assoc_performance_tests.html#msc">Observations::Mapping-Semantics
-    Considerations</a>.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_gcc.png
deleted file mode 100644 (file)
index 60e8509..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_local.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_local.png
deleted file mode 100644 (file)
index 4fc3d59..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_msvc.png
deleted file mode 100644 (file)
index 11aa9e0..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_gcc.png
deleted file mode 100644 (file)
index f54369b..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_local.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_local.png
deleted file mode 100644 (file)
index 123c3a6..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_msvc.png
deleted file mode 100644 (file)
index 035fd93..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large.html b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large.html
deleted file mode 100644 (file)
index 4affbf4..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-<!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>Hash-List "Multimap" Text Memory Use Test with Large
-  Average Secondary-Key to Primary-Key Ratio</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>"Multimap" Text Memory Use Test with Large Average
-    Secondary-Key to Primary-Key Ratio</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of pairs into a container. The
-    first item of each pair is a string from an arbitrary text
-    [<a href="references.html#wickland96thirty">wickland96thirty</a>], and
-    the second is a uniform i.i.d.integer. The container is a
-    "multimap" - it considers the first member of each pair as a
-    primary key, and the second member of each pair as a secondary
-    key (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative
-    Containers::Alternative to Multiple Equivalent Keys</a>). There
-    are 100 distinct primary keys. The test measures the memory use
-    as a function of the number of values inserted.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc"><tt>multimap_text_insert_mem_usage_test</tt></a>
-    thirty_years_among_the_dead_preproc.txt 100 200 2100 100)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the memory scalability of different
-    "multimap" designs (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative
-    Containers::Mapping Semantics</a>).</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NTG">NTG</a>, <a href="#NTM">NTM</a>, and
-    <a href="#NTL">NTL</a> show the results for "multimaps" which
-    use a tree-based container for primary keys, in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively; Figures <a href="#NHG"></a>NHG, <a href="#NHM">NHM</a>, and <a href="#NHL">NHL</a> show the results for
-    "multimaps" which use a hash-based container for primary keys,
-    in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>,
-    <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>,
-    and <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively.</p>
-<div id="NTG_res_div">
-<div id="NTG_gcc">
-<div id="NTG_multimap_text_insert_mem_usage_test_large_s2p_tree">
-<div id="NTG_assoc">
-<div id="NHG_Native_and_primary_tree-based_multimap_types_mem_usage_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTG" id="NTG"><img src="multimap_text_insert_mem_usage_test_large_s2p_tree_gcc.png" alt="no image" /></a></h6>NTG: NHG Native and primary tree-based multimap types mem usage test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-n_mmap-
-<tt>std::multimap</tt></li>
-<li>
-rb_tree_mmap_lu_mtf_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NTM_res_div">
-<div id="NTM_msvc">
-<div id="NTM_multimap_text_insert_mem_usage_test_large_s2p_tree">
-<div id="NTM_assoc">
-<div id="NHM_Native_and_primary_tree-based_multimap_types_mem_usage_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTM" id="NTM"><img src="multimap_text_insert_mem_usage_test_large_s2p_tree_msvc.png" alt="no image" /></a></h6>NTM: NHM Native and primary tree-based multimap types mem usage test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_mmap-
-<tt>std::multimap</tt></li>
-<li>
-rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-rb_tree_mmap_lu_mtf_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NTL_res_div">
-<div id="NTL_local">
-<div id="NTL_multimap_text_insert_mem_usage_test_large_s2p_tree">
-<div id="NTL_assoc">
-<div id="NTL_Native_and_primary_tree-based_multimap_types_mem_usage_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTL" id= "NTL"><img src="multimap_text_insert_mem_usage_test_large_s2p_tree_local.png" alt="no image" /></a></h6>NTL: Native and primary tree-based multimap types mem usage test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHG_res_div">
-<div id="NHG_gcc">
-<div id="NHG_multimap_text_insert_mem_usage_test_large_s2p_hash">
-<div id="NHG_assoc">
-<div id="NHG_Native_and_primary_hash-based_multimap_types_mem_usage_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHG" id="NHG"><img src="multimap_text_insert_mem_usage_test_large_s2p_hash_gcc.png" alt="no image" /></a></h6>NHG: Native and primary hash-based multimap types mem usage test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-n_hash_mmap-
-<tt>__gnucxx::hash_multimap</tt></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHM_res_div">
-<div id="NHM_msvc">
-<div id="NHM_multimap_text_insert_mem_usage_test_large_s2p_hash">
-<div id="NHM_assoc">
-<div id="NHM_Native_and_primary_hash-based_multimap_types_mem_usage_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHM" id="NHM"><img src="multimap_text_insert_mem_usage_test_large_s2p_hash_msvc.png" alt="no image" /></a></h6>NHM: Native and primary hash-based multimap types mem usage test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_hash_mmap-
-<tt>stdext::hash_multimap</tt></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHL_res_div">
-<div id="NHL_local">
-<div id="NHL_multimap_text_insert_mem_usage_test_large_s2p_hash">
-<div id="NHL_assoc">
-<div id="NHL__Native_and_primary_hash-based_multimap_types_mem_usage_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHL" id= "NHL"><img src="multimap_text_insert_mem_usage_test_large_s2p_hash_local.png" alt="no image" /></a></h6>NHL:  Native and primary hash-based multimap types mem usage test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>See <a href="assoc_performance_tests.html#msc">Observations::Mapping-Semantics
-    Considerations</a>.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_gcc.png
deleted file mode 100644 (file)
index 51a3f8d..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_local.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_local.png
deleted file mode 100644 (file)
index 73a35ce..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_msvc.png
deleted file mode 100644 (file)
index 3a938c0..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_gcc.png
deleted file mode 100644 (file)
index a992d8f..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_local.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_local.png
deleted file mode 100644 (file)
index fce364c..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_msvc.png
deleted file mode 100644 (file)
index 26841bd..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small.html b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small.html
deleted file mode 100644 (file)
index 462fce4..0000000
+++ /dev/null
@@ -1,212 +0,0 @@
-<!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>Hash-List "Multimap" Text Memory Use Test with Small
-  Average Secondary-Key to Primary-Key Ratio</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>"Multimap" Text Memory Use Test with Small Average
-    Secondary-Key to Primary-Key Ratio</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of pairs into a container. The
-    first item of each pair is a string from an arbitrary text
-    [<a href="references.html#wickland96thirty">wickland96thirty</a>], and
-    the second is a uniform i.i.d.integer. The container is a
-    "multimap" - it considers the first member of each pair as a
-    primary key, and the second member of each pair as a secondary
-    key (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative
-    Containers::Alternative to Multiple Equivalent Keys</a>). There
-    are 100 distinct primary keys, and the ratio of secondary keys
-    to primary keys ranges to about 20.</p>
-<p>The test measures the memory use as a function of the number
-    of values inserted.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage_small.cc"><tt>multimap_text_insert_mem_usage_test</tt></a>
-    thirty_years_among_the_dead_preproc.txt 100 3 4 4)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the memory scalability of different
-    "multimap" designs (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative
-    Containers::Mapping Semantics</a>).</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NTG">NTG</a>, <a href="#NTM">NTM</a>, and
-    <a href="#NTL">NTL</a> show the results for "multimaps" which
-    use a tree-based container for primary keys, in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively; Figures <a href="#NHG"></a>NHG, <a href="#NHM">NHM</a>, and <a href="#NHL">NHL</a> show the results for
-    "multimaps" which use a hash-based container for primary keys,
-    in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>,
-    <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>,
-    and <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively.</p>
-<div id="NTG_res_div">
-<div id="NTG_gcc">
-<div id="NTG_multimap_text_insert_mem_usage_test_small_s2p_tree">
-<div id="NTG_assoc">
-<div id="NTG_Native_and_primary_tree-based_multimap_types_mem_usage_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTG" id="NTG"><img src="multimap_text_insert_mem_usage_test_small_s2p_tree_gcc.png" alt="no image" /></a></h6>NTG: Native and primary tree-based multimap types mem usage test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-n_mmap-
-<tt>std::multimap</tt></li>
-<li>
-rb_tree_mmap_lu_mtf_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NTM_res_div">
-<div id="NTM_msvc">
-<div id="NTM_multimap_text_insert_mem_usage_test_small_s2p_tree">
-<div id="NTM_assoc">
-<div id="NHM_Native_and_primary_tree-based_multimap_types_mem_usage_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTM" id="NTM"><img src="multimap_text_insert_mem_usage_test_small_s2p_tree_msvc.png" alt="no image" /></a></h6>NTM: NHM Native and primary tree-based multimap types mem usage test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-n_mmap-
-<tt>std::multimap</tt></li>
-<li>
-rb_tree_mmap_lu_mtf_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NTL_res_div">
-<div id="NTL_local">
-<div id="NTL_multimap_text_insert_mem_usage_test_small_s2p_tree">
-<div id="NTL_assoc">
-<div id="NTL_Native_and_primary_tree-based_multimap_types_mem_usage_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTL" id= "NTL"><img src="multimap_text_insert_mem_usage_test_small_s2p_tree_local.png" alt="no image" /></a></h6>NTL: Native and primary tree-based multimap types mem usage test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHG_res_div">
-<div id="NHG_gcc">
-<div id="NHG_multimap_text_insert_mem_usage_test_small_s2p_hash">
-<div id="NHG_assoc">
-<div id="NHG_Native_and_primary_hash-based_multimap_types_mem_usage_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHG" id="NHG"><img src="multimap_text_insert_mem_usage_test_small_s2p_hash_gcc.png" alt="no image" /></a></h6>NHG: Native and primary hash-based multimap types mem usage test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-n_hash_mmap-
-<tt>__gnucxx::hash_multimap</tt></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHM_res_div">
-<div id="NHM_msvc">
-<div id="NHM_multimap_text_insert_mem_usage_test_small_s2p_hash">
-<div id="NHM_assoc">
-<div id="NHM_Native_and_primary_hash-based_multimap_types_mem_usage_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHM" id="NHM"><img src="multimap_text_insert_mem_usage_test_small_s2p_hash_msvc.png" alt="no image" /></a></h6>NHM: Native and primary hash-based multimap types mem usage test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-n_hash_mmap-
-<tt>stdext::hash_multimap</tt></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHL_res_div">
-<div id="NHL_local">
-<div id="NHL_multimap_text_insert_mem_usage_test_small_s2p_hash">
-<div id="NHL_assoc">
-<div id="NHL__Native_and_primary_hash-based_multimap_types_mem_usage_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHL" id= "NHL"><img src="multimap_text_insert_mem_usage_test_small_s2p_hash_local.png" alt="no image" /></a></h6>NHL:  Native and primary hash-based multimap types mem usage test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>See <a href="assoc_performance_tests.html#msc">Observations::Mapping-Semantics
-    Considerations</a>.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_gcc.png
deleted file mode 100644 (file)
index d3eba9d..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_local.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_local.png
deleted file mode 100644 (file)
index df0becc..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_msvc.png
deleted file mode 100644 (file)
index 1828896..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_gcc.png
deleted file mode 100644 (file)
index 9334bc3..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_local.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_local.png
deleted file mode 100644 (file)
index 9bacb35..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_msvc.png
deleted file mode 100644 (file)
index 2f20e57..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large.html b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large.html
deleted file mode 100644 (file)
index b9a2d99..0000000
+++ /dev/null
@@ -1,212 +0,0 @@
-<!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>"Multimap" Text Insert Timing Test with Large Average
-  Secondary-Key to Primary-Key Ratio</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>"Multimap" Text Insert Timing Test with Large Average
-    Secondary-Key to Primary-Key Ratio</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of pairs into a container. The
-    first item of each pair is a string from an arbitrary text
-    [<a href="references.html#wickland96thirty">wickland96thirty</a>], and
-    the second is a uniform i.i.d.integer. The container is a
-    "multimap" - it considers the first member of each pair as a
-    primary key, and the second member of each pair as a secondary
-    key (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative
-    Containers::Alternative to Multiple Equivalent Keys</a>). There
-    are 100 distinct primary keys, and the ratio of secondary keys
-    to primary keys ranges to about 20.</p>
-<p>The test measures the memory use as a function of the number
-    of values inserted.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc"><tt>multimap_text_insert_mem_usage_test</tt></a>
-    thirty_years_among_the_dead_preproc.txt 400 1 6 6)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the insert-time scalability of different
-    "multimap" designs (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative
-    Containers::Mapping Semantics</a>).</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NTG">NTG</a>, <a href="#NTM">NTM</a>, and
-    <a href="#NTL">NTL</a> show the results for "multimaps" which
-    use a tree-based container for primary keys, in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively; Figures <a href="#NHG"></a>NHG, <a href="#NHM">NHM</a>, and <a href="#NHL">NHL</a> show the results for
-    "multimaps" which use a hash-based container for primary keys,
-    in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>,
-    <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>,
-    and <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively.</p>
-<div id="NTG_res_div">
-<div id="NTG_gcc">
-<div id="NTG_multimap_text_insert_timing_test_large_s2p_tree">
-<div id="NTG_assoc">
-<div id="NTG_Native_and_primary_tree-based_multimap_types_insert_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTG" id="NTG"><img src="multimap_text_insert_timing_test_large_s2p_tree_gcc.png" alt="no image" /></a></h6>NTG: Native and primary tree-based multimap types insert timing test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_mmap-
-<tt>std::multimap</tt></li>
-<li>
-rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-rb_tree_mmap_lu_mtf_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NTM_res_div">
-<div id="NTM_msvc">
-<div id="NTM_multimap_text_insert_timing_test_large_s2p_tree">
-<div id="NTM_assoc">
-<div id="NHM_Native_and_primary_tree-based_multimap_types_insert_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTM" id="NTM"><img src="multimap_text_insert_timing_test_large_s2p_tree_msvc.png" alt="no image" /></a></h6>NTM: NHM Native and primary tree-based multimap types insert timing test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-n_mmap-
-<tt>std::multimap</tt></li>
-<li>
-rb_tree_mmap_lu_mtf_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NTL_res_div">
-<div id="NTL_local">
-<div id="NTL_multimap_text_insert_timing_test_large_s2p_tree">
-<div id="NTL_assoc">
-<div id="NTL_Native_and_primary_tree-based_multimap_types_insert_timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTL" id= "NTL"><img src="multimap_text_insert_timing_test_large_s2p_tree_local.png" alt="no image" /></a></h6>NTL: Native and primary tree-based multimap types insert timing test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHG_res_div">
-<div id="NHG_gcc">
-<div id="NHG_multimap_text_insert_timing_test_large_s2p_hash">
-<div id="NHG_assoc">
-<div id="NHG_Native_and_primary_hash-based_multimap_types_insert_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHG" id="NHG"><img src="multimap_text_insert_timing_test_large_s2p_hash_gcc.png" alt="no image" /></a></h6>NHG: Native and primary hash-based multimap types insert timing test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_hash_mmap-
-<tt>__gnucxx::hash_multimap</tt></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHM_res_div">
-<div id="NHM_msvc">
-<div id="NHM_multimap_text_insert_timing_test_large_s2p_hash">
-<div id="NHM_assoc">
-<div id="NHM_Native_and_primary_hash-based_multimap_types_insert_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHM" id="NHM"><img src="multimap_text_insert_timing_test_large_s2p_hash_msvc.png" alt="no image" /></a></h6>NHM: Native and primary hash-based multimap types insert timing test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_hash_mmap-
-<tt>stdext::hash_multimap</tt></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHL_res_div">
-<div id="NHL_local">
-<div id="NHL_multimap_text_insert_timing_test_large_s2p_hash">
-<div id="NHL_assoc">
-<div id="NHL__Native_and_primary_hash-based_multimap_types_insert_timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHL" id= "NHL"><img src="multimap_text_insert_timing_test_large_s2p_hash_local.png" alt="no image" /></a></h6>NHL:  Native and primary hash-based multimap types insert timing test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>See <a href="assoc_performance_tests.html#msc">Observations::Mapping-Semantics
-    Considerations</a>.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_gcc.png
deleted file mode 100644 (file)
index 55b0bf4..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_local.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_local.png
deleted file mode 100644 (file)
index de6ee23..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_msvc.png
deleted file mode 100644 (file)
index 02f5d0b..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_gcc.png
deleted file mode 100644 (file)
index 83366eb..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_local.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_local.png
deleted file mode 100644 (file)
index 307ca2d..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_msvc.png
deleted file mode 100644 (file)
index 47196bf..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small.html b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small.html
deleted file mode 100644 (file)
index cda3629..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
-<!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>"Multimap" Text Insert Timing Test with Small Average
-  Secondary-Key to Primary-Key Ratio</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>"Multimap" Text Insert Timing Test with Small Average
-    Secondary-Key to Primary-Key Ratio</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of pairs into a container. The
-    first item of each pair is a string from an arbitrary text
-    [<a href="references.html#wickland96thirty">wickland96thirty</a>], and
-    the second is a uniform i.i.d.integer. The container is a
-    "multimap" - it considers the first member of each pair as a
-    primary key, and the second member of each pair as a secondary
-    key (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative
-    Containers::Alternative to Multiple Equivalent Keys</a>). There
-    are 400 distinct primary keys, and the ratio of secondary keys
-    to primary keys ranges from 1 to 5.</p>
-<p>The test measures the average insert-time as a function of
-    the number of values inserted. For <tt>pb_ds</tt>'s containers,
-    it inserts a primary key into the primary associative
-    container, then a secondary key into the secondary associative
-    container. For the native multimaps, it obtains a range using
-    <tt>std::equal_range</tt>, and inserts a value only if it was
-    not contained already.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_timing_small.cc"><tt>multimap_text_insert_timing_test</tt></a>
-    thirty_years_among_the_dead_preproc.txt 400 1 1 6)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the insert-time scalability of different
-    "multimap" designs (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative
-    Containers::Alternative to Multiple Equivalent Keys</a>).</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NTG">NTG</a>, <a href="#NTM">NTM</a>, and
-    <a href="#NTL">NTL</a> show the results for "multimaps" which
-    use a tree-based container for primary keys, in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively; Figures <a href="#NHG"></a>NHG, <a href="#NHM">NHM</a>, and <a href="#NHL">NHL</a> show the results for
-    "multimaps" which use a hash-based container for primary keys,
-    in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>,
-    <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>,
-    and <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively.</p>
-<div id="NTG_res_div">
-<div id="NTG_gcc">
-<div id="NTG_multimap_text_insert_timing_test_small_s2p_tree">
-<div id="NTG_assoc">
-<div id="NTG_Native_and_primary_tree-based_multimap_types_insert_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTG" id="NTG"><img src="multimap_text_insert_timing_test_small_s2p_tree_gcc.png" alt="no image" /></a></h6>NTG: Native and primary tree-based multimap types insert timing test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_mmap-
-<tt>std::multimap</tt></li>
-<li>
-rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-rb_tree_mmap_lu_mtf_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NTM_res_div">
-<div id="NTM_msvc">
-<div id="NTM_multimap_text_insert_timing_test_small_s2p_tree">
-<div id="NTM_assoc">
-<div id="NHM_Native_and_primary_tree-based_multimap_types_insert_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTM" id="NTM"><img src="multimap_text_insert_timing_test_small_s2p_tree_msvc.png" alt="no image" /></a></h6>NTM: NHM Native and primary tree-based multimap types insert timing test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-n_mmap-
-<tt>std::multimap</tt></li>
-<li>
-rb_tree_mmap_lu_mtf_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NTL_res_div">
-<div id="NTL_local">
-<div id="NTL_multimap_text_insert_timing_test_small_s2p_tree">
-<div id="NTL_assoc">
-<div id="NTL_Native_and_primary_tree-based_multimap_types_insert_timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTL" id= "NTL"><img src="multimap_text_insert_timing_test_small_s2p_tree_local.png" alt="no image" /></a></h6>NTL: Native and primary tree-based multimap types insert timing test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHG_res_div">
-<div id="NHG_gcc">
-<div id="NHG_multimap_text_insert_timing_test_small_s2p_hash">
-<div id="NHG_assoc">
-<div id="NHG_Native_and_primary_hash-based_multimap_types_insert_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHG" id="NHG"><img src="multimap_text_insert_timing_test_small_s2p_hash_gcc.png" alt="no image" /></a></h6>NHG: Native and primary hash-based multimap types insert timing test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_hash_mmap-
-<tt>__gnucxx::hash_multimap</tt></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHM_res_div">
-<div id="NHM_msvc">
-<div id="NHM_multimap_text_insert_timing_test_small_s2p_hash">
-<div id="NHM_assoc">
-<div id="NHM_Native_and_primary_hash-based_multimap_types_insert_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHM" id="NHM"><img src="multimap_text_insert_timing_test_small_s2p_hash_msvc.png" alt="no image" /></a></h6>NHM: Native and primary hash-based multimap types insert timing test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i></li>
-<li>
-n_hash_mmap-
-<tt>stdext::hash_multimap</tt></li>
-<li>
-cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set-
-<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a>
-with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a>
-, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>
- with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>
-, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>
- with <i>&alpha;<sub>min</sub></i> = <i>1/8</i> and <i>&alpha;<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a>
- with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NHL_res_div">
-<div id="NHL_local">
-<div id="NHL_multimap_text_insert_timing_test_small_s2p_hash">
-<div id="NHL_assoc">
-<div id="NHL_Native_and_primary_hash-based_multimap_types_insert_timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHL" id= "NHL"><img src="multimap_text_insert_timing_test_small_s2p_hash_local.png" alt="no image" /></a></h6>NHL: Native and primary hash-based multimap types insert timing test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>See <a href="assoc_performance_tests.html#msc">Observations::Mapping-Semantics
-    Considerations</a>.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_gcc.png
deleted file mode 100644 (file)
index 3c2d87e..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_local.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_local.png
deleted file mode 100644 (file)
index 4174fab..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_msvc.png
deleted file mode 100644 (file)
index 81d5839..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_gcc.png
deleted file mode 100644 (file)
index 368f073..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_local.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_local.png
deleted file mode 100644 (file)
index c5f4e57..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_msvc.png
deleted file mode 100644 (file)
index 99f2d69..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/node_invariant_invalidations.png b/libstdc++-v3/doc/html/ext/pb_ds/node_invariant_invalidations.png
deleted file mode 100644 (file)
index bbd9184..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/node_invariant_invalidations.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/node_invariants.png b/libstdc++-v3/doc/html/ext/pb_ds/node_invariants.png
deleted file mode 100644 (file)
index b375f51..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/node_invariants.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/null_hash_fn.html b/libstdc++-v3/doc/html/ext/pb_ds/null_hash_fn.html
deleted file mode 100644 (file)
index 34f1ee0..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-<!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>null_hash_fn Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>null_hash_fn</tt> Interface</h1>
-
-    <p>A "null" hash function, indicating that the combining hash
-    function is actually a ranged hash function.</p>
-
-    <p><a href=
-    "concepts.html#concepts_null_policies">Interface::Concepts::Null
-    Policy Classes</a> explains the concept of a null policy. See
-    also <a href=
-    "hash_based_containers.html#hash_policies">Design::Hash-Based
-    Containers::Hash Policies</a>.</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>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/null_lu_metadata.html b/libstdc++-v3/doc/html/ext/pb_ds/null_lu_metadata.html
deleted file mode 100644 (file)
index e8fb6a3..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<!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>null_lu_metadata Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>null_lu_metadata</tt> Interface</h1>
-
-    <p>A null type that means that each link in a list-based
-    container does not actually need metadata.</p>
-
-    <p>Defined in: <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/list_update_policy.hpp"><tt>list_update_policy.hpp</tt></a></p>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/null_mapped_type.html b/libstdc++-v3/doc/html/ext/pb_ds/null_mapped_type.html
deleted file mode 100644 (file)
index d62fac5..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<!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>null_mapped_type Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>null_mapped_type</tt> Interface</h1>
-
-    <p>A mapped-policy indicating that an associative container is
-    a "set"</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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/null_probe_fn.html b/libstdc++-v3/doc/html/ext/pb_ds/null_probe_fn.html
deleted file mode 100644 (file)
index 1c8811e..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-<!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>null_probe_fn Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>null_probe_fn</tt> Interface</h1>
-
-    <p>A "null" probe function, indicating that the combining probe
-    function is actually a ranged probe function.</p>
-
-    <p><a href=
-    "concepts.html#concepts_null_policies">Interface::Concepts::Null
-    Policy Classes</a> explains the concept of a null policy.</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>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/null_tree_node_update.html b/libstdc++-v3/doc/html/ext/pb_ds/null_tree_node_update.html
deleted file mode 100644 (file)
index cc1c900..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-<!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>null_tree_node_update Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>null_tree_node_update</tt> Interface</h1>
-
-    <p>A "null" node updater, indicating that no node updates are
-    required.</p>
-
-    <p><a href=
-    "concepts.html#concepts_null_policies">Interface::Concepts::Null
-    Policy Classes</a> explains the concept of a null policy.</p>
-
-    <p>Defined in: <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tree_policy.hpp"><tt>tree_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="Const_Node_Iterator1933878761" id=
-"Const_Node_Iterator1933878761"><b>class</b> Const_Node_Iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Const node iterator type.</p>
-        </td>
-
-        <td>-</td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="Node_Iterator4206909839" id=
-"Node_Iterator4206909839"><b>class</b> Node_Iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Node iterator type.</p>
-        </td>
-
-        <td>-</td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="Cmp_Fn294335" id="Cmp_Fn294335"><b>class</b> Cmp_Fn</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Comparison functor.</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>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/null_trie_node_update.html b/libstdc++-v3/doc/html/ext/pb_ds/null_trie_node_update.html
deleted file mode 100644 (file)
index 18ea007..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-<!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>null_trie_node_update Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>null_trie_node_update</tt> Interface</h1>
-
-    <p>A "null" node updater, indicating that no node updates are
-    required.</p>
-
-    <p><a href=
-    "concepts.html#concepts_null_policies">Interface::Concepts::Null
-    Policy Classes</a> explains the concept of a null policy.</p>
-
-    <p>Defined in: <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/trie_policy.hpp"><tt>trie_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="Const_Node_Iterator1933878761" id=
-"Const_Node_Iterator1933878761"><b>class</b> Const_Node_Iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Const node iterator type.</p>
-        </td>
-
-        <td>-</td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="Node_Iterator4206909839" id=
-"Node_Iterator4206909839"><b>class</b> Node_Iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Node iterator type.</p>
-        </td>
-
-        <td>-</td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="E_Access_Traits686553840" id=
-"E_Access_Traits686553840"><b>class</b> E_Access_Traits</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Comparison functor.</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>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/ov_tree_tag.html b/libstdc++-v3/doc/html/ext/pb_ds/ov_tree_tag.html
deleted file mode 100644 (file)
index 01d7f90..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<!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>ov_tree_tag Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>ov_tree_tag</tt> Interface</h1>
-
-    <p>Ordered-vector tree 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="tree_tag.html"><span class=
-"c2"><tt>tree_tag</tt></span></a>
-</pre>
-        </td>
-
-        <td>
-          <p>public</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/pairing_heap_tag.html b/libstdc++-v3/doc/html/ext/pb_ds/pairing_heap_tag.html
deleted file mode 100644 (file)
index 5901d1a..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<!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>pairing_heap_tag Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>pairing_heap_tag</tt> Interface</h1>
-
-    <p>Pairing-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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_gcc.png
deleted file mode 100644 (file)
index 4168787..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_local.png b/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_local.png
deleted file mode 100644 (file)
index 81f7a59..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_msvc.png
deleted file mode 100644 (file)
index 42b7079..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_gcc.png
deleted file mode 100644 (file)
index 9a7ce6c..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_local.png b/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_local.png
deleted file mode 100644 (file)
index 472d869..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_msvc.png
deleted file mode 100644 (file)
index d5488ef..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/pat_trie.png b/libstdc++-v3/doc/html/ext/pb_ds/pat_trie.png
deleted file mode 100644 (file)
index e7129a1..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/pat_trie.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/pat_trie_tag.html b/libstdc++-v3/doc/html/ext/pb_ds/pat_trie_tag.html
deleted file mode 100644 (file)
index 2e9a32c..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<!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>pat_trie_tag Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>pat_trie_tag</tt> Interface</h1>
-
-    <p>PATRICIA trie 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="tree_tag.html"><span class=
-"c2"><tt>tree_tag</tt></span></a>
-</pre>
-        </td>
-
-        <td>
-          <p>public</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/point_invalidation_guarantee.html b/libstdc++-v3/doc/html/ext/pb_ds/point_invalidation_guarantee.html
deleted file mode 100644 (file)
index f677221..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<!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>point_invalidation_guarantee Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>point_invalidation_guarantee</tt> Interface</h1>
-
-    <p>Signifies an invalidation guarantee that includes all those
-    of its base, and additionally, that any point-type iterator,
-    pointer, or reference to a container object's mapped value type
-    is valid as long as its corresponding entry has not be erased,
-    regardless of modifications to the container object.</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_invalidation_guarantee.html"><span class=
-"c2"><tt>basic_invalidation_guarantee</tt></span></a>
-</pre>
-        </td>
-
-        <td>
-          <p>public</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/point_iterators_cd.png b/libstdc++-v3/doc/html/ext/pb_ds/point_iterators_cd.png
deleted file mode 100644 (file)
index 25a69fc..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/point_iterators_cd.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/point_iterators_range_ops_1.png b/libstdc++-v3/doc/html/ext/pb_ds/point_iterators_range_ops_1.png
deleted file mode 100644 (file)
index c5bc8e5..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/point_iterators_range_ops_1.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/point_iterators_range_ops_2.png b/libstdc++-v3/doc/html/ext/pb_ds/point_iterators_range_ops_2.png
deleted file mode 100644 (file)
index c3f94ee..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/point_iterators_range_ops_2.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/pq_container_traits.html b/libstdc++-v3/doc/html/ext/pb_ds/pq_container_traits.html
deleted file mode 100644 (file)
index dcd995f..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-<!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 a priority-queue 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="container_category1247973216" id=
-"container_category1247973216">container_category</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-Underlying data structure.
-</pre>
-        </td>
-
-        <td>
-          <p>Data structure category.</p>
-        </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="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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/pq_design.html b/libstdc++-v3/doc/html/ext/pb_ds/pq_design.html
deleted file mode 100644 (file)
index 9595600..0000000
+++ /dev/null
@@ -1,381 +0,0 @@
-<!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>Priority-Queues</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1>Priority-Queue Design</h1>
-
-    <h2><a name="overview" id="overview">Overview</a></h2>
-
-    <p>The priority-queue container has the following
-    declaration:</p>
-    <pre>
-<b>template</b>&lt;
-    <b>typename</b> Value_Type,
-    <b>typename</b> Cmp_Fn = std::less&lt;Value_Type&gt;,
-    <b>typename</b> Tag = <a href="pairing_heap_tag.html">pairing_heap_tag</a>,
-    <b>typename</b> Allocator = std::allocator&lt;<b>char</b>&gt; &gt;
-<b>class</b> <a href="priority_queue.html">priority_queue</a>;
-</pre>
-
-    <p>The parameters have the following meaning:</p>
-
-    <ol>
-      <li><tt>Value_Type</tt> is the value type.</li>
-
-      <li><tt>Cmp_Fn</tt> is a value comparison functor</li>
-
-      <li><tt>Tag</tt> specifies which underlying data structure
-      to use.</li>
-
-      <li><tt>Allocator</tt> is an allocator
-      type.</li>
-    </ol>
-
-    <p>The <tt>Tag</tt> parameter specifies which underlying
-    data structure to use. Instantiating it by <a href=
-    "pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>,
-    <a href=
-    "binary_heap_tag.html"><tt>binary_heap_tag</tt></a>,
-    <a href=
-    "binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a>,
-    <a href=
-    "rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a>,
-    or <a href=
-    "thin_heap_tag.html"><tt>thin_heap_tag</tt></a>,
-    specifies, respectively, an underlying pairing heap [<a href=
-    "references.html#fredman86pairing">fredman86pairing</a>],
-    binary heap [<a href="references.html#clrs2001">clrs2001</a>],
-    binomial heap [<a href=
-    "references.html#clrs2001">clrs2001</a>], a binomial heap with
-    a redundant binary counter [<a href=
-    "references.html#maverik_lowerbounds">maverik_lowerbounds</a>],
-    or a thin heap [<a href=
-    "references.html#kt99fat_heaps">kt99fat_heas</a>]. These are
-    explained further in <a href="#pq_imp">Implementations</a>.</p>
-
-    <p>As mentioned in <a href=
-    "tutorial.html#pq">Tutorial::Priority Queues</a>, 
-    <a href=
-    "priority_queue.html"><tt>__gnu_pbds::priority_queue</tt></a>
-    shares most of the same interface with <tt>std::priority_queue</tt>.
-    <i>E.g.</i> if <tt>q</tt> is a priority queue of type
-    <tt>Q</tt>, then <tt>q.top()</tt> will return the "largest"
-    value in the container (according to <tt><b>typename</b>
-    Q::cmp_fn</tt>). <a href=
-    "priority_queue.html"><tt>__gnu_pbds::priority_queue</tt></a>
-    has a larger (and very slightly different) interface than
-    <tt>std::priority_queue</tt>, however, since typically
-    <tt>push</tt> and <tt>pop</tt> are deemed insufficient for
-    manipulating priority-queues. </p>
-
-    <p>Different settings require different priority-queue
-    implementations which are described in <a href=
-    "#pq_imp">Implementations</a>; <a href="#pq_traits">Traits</a>
-    discusses ways to differentiate between the different traits of
-    different implementations.</p>
-
-    <h2><a name="pq_it" id="pq_it">Iterators</a></h2>
-
-    <p>There are many different underlying-data structures for
-    implementing priority queues. Unfortunately, most such
-    structures are oriented towards making <tt>push</tt> and
-    <tt>top</tt> efficient, and consequently don't allow efficient
-    access of other elements: for instance, they cannot support an efficient
-    <tt>find</tt> method. In the use case where it
-    is important to both access and "do something with" an
-    arbitrary value, one would be out of luck. For example, many graph algorithms require
-    modifying a value (typically increasing it in the sense of the
-    priority queue's comparison functor).</p>
-
-    <p>In order to access and manipulate an arbitrary value in a
-    priority queue, one needs to reference the internals of the
-    priority queue from some form of an associative container -
-    this is unavoidable. Of course, in order to maintain the
-    encapsulation of the priority queue, this needs to be done in a
-    way that minimizes exposure to implementation internals.</p>
-
-    <p>In <tt>pb_ds</tt> the priority queue's <tt>insert</tt>
-    method returns an iterator, which if valid can be used for subsequent <tt>modify</tt> and
-    <tt>erase</tt> operations. This both preserves the priority
-    queue's encapsulation, and allows accessing arbitrary values (since the
-    returned iterators from the <tt>push</tt> operation can be
-    stored in some form of associative container).</p>
-
-    <p>Priority queues' iterators present a problem regarding their
-    invalidation guarantees. One assumes that calling
-    <tt><b>operator</b>++</tt> on an iterator will associate it
-    with the "next" value. Priority-queues are
-    self-organizing: each operation changes what the "next" value
-    means. Consequently, it does not make sense that <tt>push</tt>
-    will return an iterator that can be incremented - this can have
-    no possible use. Also, as in the case of hash-based containers,
-    it is awkward to define if a subsequent <tt>push</tt> operation
-    invalidates a prior returned iterator: it invalidates it in the
-    sense that its "next" value is not related to what it
-    previously considered to be its "next" value. However, it might not
-    invalidate it, in the sense that it can be
-    de-referenced and used for <tt>modify</tt> and <tt>erase</tt>
-    operations.</p>
-
-    <p>Similarly to the case of the other unordered associative
-    containers, <tt>pb_ds</tt> uses a distinction between
-    point-type and range type iterators. A priority queue's <tt>iterator</tt> can always be
-    converted to a <tt>point_iterator</tt>, and a
-    <tt>const_iterator</tt> can always be converted to a
-    <tt>const_point_iterator</tt>.</p>
-
-    <p>The following snippet demonstrates manipulating an arbitrary
-    value:</p>
-    <pre>
-<i>// A priority queue of integers.</i>
-<a href=
-"priority_queue.html">priority_queue</a>&lt;<b>int</b>&gt; p;
-
-<i>// Insert some values into the priority queue.</i>
-<a href=
-"priority_queue.html">priority_queue</a>&lt;<b>int</b>&gt;::point_iterator it = p.push(0);
-
-p.push(1);
-p.push(2);
-
-<i>// Now modify a value.</i>
-p.modify(it, 3);
-
-assert(p.top() == 3);
-</pre>
-
-    <p>(<a href="pq_examples.html#xref">Priority Queue
-    Examples::Cross-Referencing</a> shows a more detailed
-    example.)</p>
-
-    <p>It should be noted that an alternative design could embed an
-    associative container in a priority queue. Could, but most probably should not. To begin with, it should be noted that one
-    could always encapsulate a priority queue and an associative
-    container mapping values to priority queue iterators with no
-    performance loss. One cannot, however, "un-encapsulate" a
-    priority queue embedding an associative container, which might
-    lead to performance loss. Assume, that one needs to
-    associate each value with some data unrelated to priority
-    queues. Then using <tt>pb_ds</tt>'s design, one could use an
-    associative container mapping each value to a pair consisting
-    of this data and a priority queue's iterator. Using the
-    embedded method would need to use two associative
-    containers. Similar problems might arise in cases where a value
-    can reside simultaneously in many priority queues.</p>
-
-    <h2><a name="pq_imp" id="pq_imp">Implementations</a></h2>
-
-    <p>There are three main implementations of priority queues: the
-    first employs a binary heap, typically one which uses a
-    sequence; the second uses a tree (or forest of trees), which is
-    typically less structured than an associative container's tree;
-    the third simply uses an associative container. These are
-    shown, respectively, in Figures <a href=
-    "#pq_different_underlying_dss">Underlying Priority-Queue
-    Data-Structures</a> A1 and A2, Figure <a href=
-    "#pq_different_underlying_dss">Underlying Priority-Queue
-    Data-Structures</a> B, and Figures <a href=
-    "#pq_different_underlying_dss">Underlying Priority-Queue
-    Data-Structures</a> C.</p>
-
-    <h6 class="c1"><a name="pq_different_underlying_dss" id=
-    "pq_different_underlying_dss"><img src=
-    "pq_different_underlying_dss.png" alt="no image" /></a></h6>
-
-    <h6 class="c1">Underlying Priority-Queue Data-Structures.</h6>
-
-    <p>Roughly speaking, any value that is both pushed and popped
-    from a priority queue must incur a logarithmic expense (in the
-    amortized sense). Any priority queue implementation that would
-    avoid this, would violate known bounds on comparison-based
-    sorting (see, <i>e.g.</i>, [<a href=
-    "references.html#clrs2001">clrs2001</a>] and <a href=
-    "references.html#brodal96priority">brodal96priority</a>]).</p>
-
-    <p>Most implementations do
-    not differ in the asymptotic amortized complexity of
-    <tt>push</tt> and <tt>pop</tt> operations, but they differ in
-    the constants involved, in the complexity of other operations
-    (<i>e.g.</i>, <tt>modify</tt>), and in the worst-case
-    complexity of single operations. In general, the more
-    "structured" an implementation (<i>i.e.</i>, the more internal
-    invariants it possesses) - the higher its amortized complexity
-    of <tt>push</tt> and <tt>pop</tt> operations.</p>
-
-    <p><tt>pb_ds</tt> implements different algorithms using a
-    single class: <a href="priority_queue.html">priority_queue</a>.
-    Instantiating the <tt>Tag</tt> template parameter, "selects"
-    the implementation:</p>
-
-    <ol>
-      <li>Instantiating <tt>Tag = <a href=
-      "binary_heap_tag.html">binary_heap_tag</a></tt> creates
-      a binary heap of the form in Figures <a href=
-      "#pq_different_underlying_dss">Underlying Priority-Queue
-      Data-Structures</a> A1 or A2. The former is internally
-      selected by <a href="priority_queue.html">priority_queue</a>
-      if <tt>Value_Type</tt> is instantiated by a primitive type
-      (<i>e.g.</i>, an <tt><b>int</b></tt>); the latter is
-      internally selected for all other types (<i>e.g.</i>,
-      <tt>std::string</tt>). This implementations is relatively
-      unstructured, and so has good <tt>push</tt> and <tt>pop</tt>
-      performance; it is the "best-in-kind" for primitive
-      types, <i>e.g.</i>, <tt><b>int</b></tt>s. Conversely, it has
-      high worst-case performance, and can support only linear-time
-      <tt>modify</tt> and <tt>erase</tt> operations; this is
-      explained further in <a href="#pq_traits">Traits</a>.</li>
-
-      <li>Instantiating <tt>Tag = <a href=
-      "pairing_heap_tag.html">pairing_heap_tag</a></tt>
-      creates a pairing heap of the form in Figure <a href=
-      "#pq_different_underlying_dss">Underlying Priority-Queue
-      Data-Structures</a> B. This implementations too is relatively
-      unstructured, and so has good <tt>push</tt> and <tt>pop</tt>
-      performance; it is the "best-in-kind" for non-primitive
-      types, <i>e.g.</i>, <tt>std:string</tt>s. It also has very
-      good worst-case <tt>push</tt> and <tt>join</tt> performance
-      (<i>O(1)</i>), but has high worst-case <tt>pop</tt>
-      complexity.</li>
-
-      <li>Instantiating <tt>Tag = <a href=
-      "binomial_heap_tag.html">binomial_heap_tag</a></tt>
-      creates a binomial heap of the form in Figure <a href=
-      "#pq_different_underlying_dss">Underlying Priority-Queue
-      Data-Structures</a> B. This implementations is more
-      structured than a pairing heap, and so has worse
-      <tt>push</tt> and <tt>pop</tt> performance. Conversely, it
-      has sub-linear worst-case bounds for <tt>pop</tt>,
-      <i>e.g.</i>, and so it might be preferred in cases where
-      responsiveness is important.</li>
-
-      <li>Instantiating <tt>Tag = <a href=
-      "rc_binomial_heap_tag.html">rc_binomial_heap_tag</a></tt>
-      creates a binomial heap of the form in Figure <a href=
-      "#pq_different_underlying_dss">Underlying Priority-Queue
-      Data-Structures</a> B, accompanied by a redundant counter
-      which governs the trees. This implementations is therefore
-      more structured than a binomial heap, and so has worse
-      <tt>push</tt> and <tt>pop</tt> performance. Conversely, it
-      guarantees <i>O(1)</i> <tt>push</tt> complexity, and so it
-      might be preferred in cases where the responsiveness of a
-      binomial heap is insufficient.</li>
-
-      <li>Instantiating <tt>Tag = <a href=
-      "thin_heap_tag.html">thin_heap_tag</a></tt> creates a
-      thin heap of the form in Figure <a href=
-      "#pq_different_underlying_dss">Underlying Priority-Queue
-      Data-Structures</a> B. This implementations too is more
-      structured than a pairing heap, and so has worse
-      <tt>push</tt> and <tt>pop</tt> performance. Conversely, it
-      has better worst-case and identical amortized complexities
-      than a Fibonacci heap, and so might be more appropriate for
-      some graph algorithms.</li>
-    </ol>
-
-    <p><a href="pq_performance_tests.html">Priority-Queue
-    Performance Tests</a> shows some results for the above, and
-    discusses these points further.</p>
-
-    <p>Of course, one can use any order-preserving associative
-    container as a priority queue, as in Figure <a href=
-    "#pq_different_underlying_dss">Underlying Priority-Queue
-    Data-Structures</a> C, possibly by creating an adapter class
-    over the associative container (much as 
-    <tt>std::priority_queue</tt> can adapt <tt>std::vector</tt>).
-    This has the advantage that no cross-referencing is necessary
-    at all; the priority queue itself is an associative container.
-    Most associative containers are too structured to compete with
-    priority queues in terms of <tt>push</tt> and <tt>pop</tt>
-    performance.</p>
-
-    <h2><a name="pq_traits" id="pq_traits">Traits</a></h2>
-
-    <p>It would be nice if all priority queues could
-    share exactly the same behavior regardless of implementation. Sadly, this is not possible. Just one for instance is in join operations: joining
-    two binary heaps might throw an exception (not corrupt
-    any of the heaps on which it operates), but joining two pairing
-    heaps is exception free.</p>
-
-    <p>Tags and traits are very useful for manipulating generic
-    types. <a href=
-    "priority_queue.html"><tt>__gnu_pbds::priority_queue</tt></a>
-    publicly defines <tt>container_category</tt> as one of the tags
-    discussed in <a href="#pq_imp">Implementations</a>. Given any
-    container <tt>Cntnr</tt>, the tag of the underlying
-    data structure can be found via <tt><b>typename</b>
-    Cntnr::container_category</tt>; this is one of the types shown in
-    Figure <a href="#pq_tag_cd">Data-structure tag class
-    hierarchy</a>.</p>
-
-    <h6 class="c1"><a name="pq_tag_cd" id=
-    "pq_tag_cd"><img src="priority_queue_tag_cd.png" alt=
-    "no image" /></a></h6>
-
-    <h6 class="c1">Data-structure tag class hierarchy.</h6>
-
-    <p>Additionally, a traits mechanism can be used to query a
-    container type for its attributes. Given any container
-    <tt>Cntnr</tt>, then <tt><a href=
-    "assoc_container_traits.html">__gnu_pbds::container_traits</a>&lt;Cntnr&gt;</tt>
-    is a traits class identifying the properties of the
-    container.</p>
-
-    <p>To find if a container might throw if two of its objects are
-    joined, one can use <a href=
-    "assoc_container_traits.html"><tt>container_traits</tt></a><tt>&lt;Cntnr&gt;::split_join_can_throw</tt>,
-    for example.</p>
-
-    <p>Different priority-queue implementations have different invalidation guarantees. This is
-    especially important, since as explained in <a href=
-    "#pq_it">Iterators</a>, there is no way to access an arbitrary
-    value of priority queues except for iterators. Similarly to
-    associative containers, one can use
-    <a href=
-    "assoc_container_traits.html"><tt>container_traits</tt></a><tt>&lt;Cntnr&gt;::invalidation_guarantee</tt>
-    to get the invalidation guarantee type of a priority queue.</p>
-
-    <p>It is easy to understand from Figure <a href=
-    "#pq_different_underlying_dss">Underlying Priority-Queue
-    Data-Structures</a>, what <a href=
-    "assoc_container_traits.html"><tt>container_traits</tt></a><tt>&lt;Cntnr&gt;::invalidation_guarantee</tt>
-    will be for different implementations. All implementations of
-    type <a href="#pq_different_underlying_dss">Underlying
-    Priority-Queue Data-Structures</a> B have <a href=
-    "point_invalidation_guarantee.html"><tt>point_invalidation_guarantee</tt></a>:
-    the container can freely internally reorganize the nodes -
-    range-type iterators are invalidated, but point-type iterators
-    are always valid. Implementations of type <a href=
-    "#pq_different_underlying_dss">Underlying Priority-Queue
-    Data-Structures</a> A1 and A2 have <a href=
-    "basic_invalidation_guarantee.html"><tt>basic_invalidation_guarantee</tt></a>:
-    the container can freely internally reallocate the array - both
-    point-type and range-type iterators might be invalidated.</p>
-
-    <p>This has major implications, and constitutes a good reason to avoid
-    using binary heaps. A binary heap can perform <tt>modify</tt>
-    or <tt>erase</tt> efficiently <u>given a valid point-type
-    iterator</u>. However, inn order to supply it with a valid point-type
-    iterator, one needs to iterate (linearly) over all
-    values, then supply the relevant iterator (recall that a
-    range-type iterator can always be converted to a point-type
-    iterator). This means that if the number of <tt>modify</tt> or
-    <tt>erase</tt> operations is non-negligible (say
-    super-logarithmic in the total sequence of operations) - binary
-    heaps will perform badly.</p>
-    <pre>
-
-</pre>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/pq_different_underlying_dss.png b/libstdc++-v3/doc/html/ext/pb_ds/pq_different_underlying_dss.png
deleted file mode 100644 (file)
index 9d84791..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/pq_different_underlying_dss.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/pq_examples.html b/libstdc++-v3/doc/html/ext/pb_ds/pq_examples.html
deleted file mode 100644 (file)
index 15311eb..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-<!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>Examples</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1>Priority-Queue 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_priority_queue.cc"><tt>basic_priority_queue.cc</tt></a>
-      Basic use of priority queues.</li>
-
-      <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/priority_queue_split_join.cc"><tt>priority_queue_split_join.cc</tt></a>
-      Splitting and joining priority queues.</li>
-
-      <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/priority_queue_erase_if.cc"><tt>priority_queue_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/priority_queue_container_traits.cc"><tt>priority_queue_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>
-    </ol>
-
-    <h2><a name="xref" id="xref">Cross Referencing</a></h2>
-
-
-    <ol>
-      <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/priority_queue_xref.cc"><tt>priority_queue_xref.cc</tt></a>
-      Cross referencing an associative container and a priority
-      queue.</li>
-
-      <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/priority_queue_dijkstra.cc"><tt>priority_queue_dijkstra.cc</tt></a>
-      Cross referencing a vector and a priority queue using a
-      <u>very</u> simple version of Dijkstra's shortest path
-      algorithm.</li>
-    </ol>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/pq_performance_tests.html b/libstdc++-v3/doc/html/ext/pb_ds/pq_performance_tests.html
deleted file mode 100644 (file)
index 3a6b269..0000000
+++ /dev/null
@@ -1,332 +0,0 @@
-<!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>Priority-Queue Performance Tests</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>Priority-Queue Performance Tests</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="pq_tests" id="pq_tests">Tests</a></h2>
-<ol>
-<li><a href="priority_queue_text_push_timing_test.html">Priority Queue
-      Text <tt>push</tt> Timing Test</a></li>
-<li><a href="priority_queue_text_push_pop_timing_test.html">Priority
-      Queue Text <tt>push</tt> and <tt>pop</tt> Timing
-      Test</a></li>
-<li><a href="priority_queue_random_int_push_timing_test.html">Priority
-      Queue Random Integer <tt>push</tt> Timing Test</a></li>
-<li><a href="priority_queue_random_int_push_pop_timing_test.html">Priority
-      Queue Random Integer <tt>push</tt> and <tt>pop</tt> Timing
-      Test</a></li>
-<li><a href="priority_queue_text_pop_mem_usage_test.html">Priority Queue
-      Text <tt>pop</tt> Memory Use Test</a></li>
-<li><a href="priority_queue_text_join_timing_test.html">Priority Queue
-      Text <tt>join</tt> Timing Test</a></li>
-<li><a href="priority_queue_text_modify_up_timing_test.html">Priority
-      Queue Text <tt>modify</tt> Timing Test - I</a></li>
-<li><a href="priority_queue_text_modify_down_timing_test.html">Priority
-      Queue Text <tt>modify</tt> Timing Test - II</a></li>
-</ol>
-<h2><a name="pq_observations" id="pq_observations">Observations</a></h2>
-<h3><a name="pq_observations_cplx" id="pq_observations_cplx">Underlying Data Structures
-    Complexity</a></h3>
-<p>The following table shows the complexities of the different
-    underlying data structures in terms of orders of growth. It is
-    interesting to note that this table implies something about the
-    constants of the operations as well (see <a href="#pq_observations_amortized_push_pop">Amortized <tt>push</tt>
-    and <tt>pop</tt> operations</a>).</p>
-<table class="c1" width="100%" border="1" summary="pq complexities">
-<tr>
-<td align="left"></td>
-<td align="left"><tt>push</tt></td>
-<td align="left"><tt>pop</tt></td>
-<td align="left"><tt>modify</tt></td>
-<td align="left"><tt>erase</tt></td>
-<td align="left"><tt>join</tt></td>
-</tr>
-<tr>
-<td align="left">
-<p><tt>std::priority_queue</tt></p>
-</td>
-<td align="left">
-<p><i>&Theta;(n)</i> worst</p>
-<p><i>&Theta;(log(n))</i> amortized</p>
-</td>
-<td align="left">
-<p class="c1">&Theta;(log(n)) Worst</p>
-</td>
-<td align="left">
-<p><i>Theta;(n log(n))</i> Worst</p>
-<p><sub><a href="#std_mod1">[std note 1]</a></sub></p>
-</td>
-<td align="left">
-<p class="c3">&Theta;(n log(n))</p>
-<p><sub><a href="#std_mod2">[std note 2]</a></sub></p>
-</td>
-<td align="left">
-<p class="c3">&Theta;(n log(n))</p>
-<p><sub><a href="#std_mod1">[std note 1]</a></sub></p>
-</td>
-</tr>
-<tr>
-<td align="left">
-<p><a href="priority_queue.html"><tt>priority_queue</tt></a></p>
-<p>with <tt>Tag</tt> =</p>
-<p><a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a></p>
-</td>
-<td align="left">
-<p class="c1">O(1)</p>
-</td>
-<td align="left">
-<p><i>&Theta;(n)</i> worst</p>
-<p><i>&Theta;(log(n))</i> amortized</p>
-</td>
-<td align="left">
-<p><i>&Theta;(n)</i> worst</p>
-<p><i>&Theta;(log(n))</i> amortized</p>
-</td>
-<td align="left">
-<p><i>&Theta;(n)</i> worst</p>
-<p><i>&Theta;(log(n))</i> amortized</p>
-</td>
-<td align="left">
-<p class="c1">O(1)</p>
-</td>
-</tr>
-<tr>
-<td align="left">
-<p><a href="priority_queue.html"><tt>priority_queue</tt></a></p>
-<p>with <tt>Tag</tt> =</p>
-<p><a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a></p>
-</td>
-<td align="left">
-<p><i>&Theta;(n)</i> worst</p>
-<p><i>&Theta;(log(n))</i> amortized</p>
-</td>
-<td align="left">
-<p><i>&Theta;(n)</i> worst</p>
-<p><i>&Theta;(log(n))</i> amortized</p>
-</td>
-<td align="left">
-<p class="c1">&Theta;(n)</p>
-</td>
-<td align="left">
-<p class="c1">&Theta;(n)</p>
-</td>
-<td align="left">
-<p class="c1">&Theta;(n)</p>
-</td>
-</tr>
-<tr>
-<td align="left">
-<p><a href="priority_queue.html"><tt>priority_queue</tt></a></p>
-<p>with <tt>Tag</tt> =</p>
-<p><a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a></p>
-</td>
-<td align="left">
-<p><i>&Theta;(log(n))</i> worst</p>
-<p><i>O(1)</i> amortized</p>
-</td>
-<td align="left">
-<p class="c1">&Theta;(log(n))</p>
-</td>
-<td align="left">
-<p class="c1">&Theta;(log(n))</p>
-</td>
-<td align="left">
-<p class="c1">&Theta;(log(n))</p>
-</td>
-<td align="left">
-<p class="c1">&Theta;(log(n))</p>
-</td>
-</tr>
-<tr>
-<td align="left">
-<p><a href="priority_queue.html"><tt>priority_queue</tt></a></p>
-<p>with <tt>Tag</tt> =</p>
-<p><a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a></p>
-</td>
-<td align="left">
-<p class="c1">O(1)</p>
-</td>
-<td align="left">
-<p class="c1">&Theta;(log(n))</p>
-</td>
-<td align="left">
-<p class="c1">&Theta;(log(n))</p>
-</td>
-<td align="left">
-<p class="c1">&Theta;(log(n))</p>
-</td>
-<td align="left">
-<p class="c1">&Theta;(log(n))</p>
-</td>
-</tr>
-<tr>
-<td align="left">
-<p><a href="priority_queue.html"><tt>priority_queue</tt></a></p>
-<p>with <tt>Tag</tt> =</p>
-<p><a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a></p>
-</td>
-<td align="left">
-<p class="c1">O(1)</p>
-</td>
-<td align="left">
-<p><i>&Theta;(n)</i> worst</p>
-<p><i>&Theta;(log(n))</i> amortized</p>
-</td>
-<td align="left">
-<p><i>&Theta;(log(n))</i> worst</p>
-<p><i>O(1)</i> amortized,</p>or
-
-          <p><i>&Theta;(log(n))</i> amortized</p>
-<p><sub><a href="#thin_heap_note">[thin_heap_note]</a></sub></p>
-</td>
-<td align="left">
-<p><i>&Theta;(n)</i> worst</p>
-<p><i>&Theta;(log(n))</i> amortized</p>
-</td>
-<td align="left">
-<p class="c1">&Theta;(n)</p>
-</td>
-</tr>
-</table>
-<p><sub><a name="std_mod1" id="std_mod1">[std note 1]</a> This
-    is not a property of the algorithm, but rather due to the fact
-    that the STL's priority queue implementation does not support
-    iterators (and consequently the ability to access a specific
-    value inside it). If the priority queue is adapting an
-    <tt>std::vector</tt>, then it is still possible to reduce this
-    to <i>&Theta;(n)</i> by adapting over the STL's adapter and
-    using the fact that <tt>top</tt> returns a reference to the
-    first value; if, however, it is adapting an
-    <tt>std::deque</tt>, then this is impossible.</sub></p>
-<p><sub><a name="std_mod2" id="std_mod2">[std note 2]</a> As
-    with <a href="#std_mod1">[std note 1]</a>, this is not a
-    property of the algorithm, but rather the STL's implementation.
-    Again, if the priority queue is adapting an
-    <tt>std::vector</tt> then it is possible to reduce this to
-    <i>&Theta;(n)</i>, but with a very high constant (one must call
-    <tt>std::make_heap</tt> which is an expensive linear
-    operation); if the priority queue is adapting an
-    <tt>std::dequeu</tt>, then this is impossible.</sub></p>
-<p><sub><a name="thin_heap_note" id="thin_heap_note">[thin_heap_note]</a> A thin heap has
-    <i>&amp;Theta(log(n))</i> worst case <tt>modify</tt> time
-    always, but the amortized time depends on the nature of the
-    operation: I) if the operation increases the key (in the sense
-    of the priority queue's comparison functor), then the amortized
-    time is <i>O(1)</i>, but if II) it decreases it, then the
-    amortized time is the same as the worst case time. Note that
-    for most algorithms, I) is important and II) is not.</sub></p>
-<h3><a name="pq_observations_amortized_push_pop" id="pq_observations_amortized_push_pop">Amortized <tt>push</tt>
-    and <tt>pop</tt> operations</a></h3>
-<p>In many cases, a priority queue is needed primarily for
-    sequences of <tt>push</tt> and <tt>pop</tt> operations. All of
-    the underlying data structures have the same amortized
-    logarithmic complexity, but they differ in terms of
-    constants.</p>
-<p>The table above shows that the different data structures are
-    "constrained" in some respects. In general, if a data structure
-    has lower worst-case complexity than another, then it will
-    perform slower in the amortized sense. Thus, for example a
-    redundant-counter binomial heap (<a href="priority_queue.html"><tt>priority_queue</tt></a> with
-    <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a>)
-    has lower worst-case <tt>push</tt> performance than a binomial
-    heap (<a href="priority_queue.html"><tt>priority_queue</tt></a>
-    with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a>),
-    and so its amortized <tt>push</tt> performance is slower in
-    terms of constants.</p>
-<p>As the table shows, the "least constrained" underlying
-    data structures are binary heaps and pairing heaps.
-    Consequently, it is not surprising that they perform best in
-    terms of amortized constants.</p>
-<ol>
-<li>Pairing heaps seem to perform best for non-primitive
-      types (<i>e.g.</i>, <tt>std::string</tt>s), as shown by
-      <a href="priority_queue_text_push_timing_test.html">Priority
-      Queue Text <tt>push</tt> Timing Test</a> and <a href="priority_queue_text_push_pop_timing_test.html">Priority
-      Queue Text <tt>push</tt> and <tt>pop</tt> Timing
-      Test</a></li>
-<li>binary heaps seem to perform best for primitive types
-      (<i>e.g.</i>, <tt><b>int</b></tt>s), as shown by <a href="priority_queue_random_int_push_timing_test.html">Priority
-      Queue Random Integer <tt>push</tt> Timing Test</a> and
-      <a href="priority_queue_random_int_push_pop_timing_test.html">Priority
-      Queue Random Integer <tt>push</tt> and <tt>pop</tt> Timing
-      Test</a>.</li>
-</ol>
-<h3><a name="pq_observations_graph" id="pq_observations_graph">Graph Algorithms</a></h3>
-<p>In some graph algorithms, a decrease-key operation is
-    required [<a href="references.html#clrs2001">clrs2001</a>];
-    this operation is identical to <tt>modify</tt> if a value is
-    increased (in the sense of the priority queue's comparison
-    functor). The table above and <a href="priority_queue_text_modify_up_timing_test.html">Priority Queue
-    Text <tt>modify</tt> Timing Test - I</a> show that a thin heap
-    (<a href="priority_queue.html"><tt>priority_queue</tt></a> with
-    <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>)
-    outperforms a pairing heap (<a href="priority_queue.html"><tt>priority_queue</tt></a> with
-    <tt>Tag</tt> =<tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>),
-    but the rest of the tests show otherwise.</p>
-<p>This makes it difficult to decide which implementation to
-    use in this case. Dijkstra's shortest-path algorithm, for
-    example, requires <i>&Theta;(n)</i> <tt>push</tt> and
-    <tt>pop</tt> operations (in the number of vertices), but
-    <i>O(n<sup>2</sup>)</i> <tt>modify</tt> operations, which can
-    be in practice <i>&Theta;(n)</i> as well. It is difficult to
-    find an <i>a-priori</i> characterization of graphs in which the
-    <u>actual</u> number of <tt>modify</tt> operations will dwarf
-    the number of <tt>push</tt> and <tt>pop</tt> operations.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/pq_regression_tests.html b/libstdc++-v3/doc/html/ext/pb_ds/pq_regression_tests.html
deleted file mode 100644 (file)
index 9084409..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<!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>Priority-Queue Regression Tests</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1>Priority-Queue 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>i.e.</i>,
-    <tt>std::priority_queue</tt>). It then performs a random
-    sequence of methods with random arguments (<i>e.g.</i>, pushes,
-    pops, 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>, that the size returned by the
-    <tt>size</tt> method corresponds to the distance between its
-    <tt>begin</tt> and end iterators).</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>
-
-    <h2><a name="pq_tests" id="pq_tests">Tests</a></h2>
-
-    <p><a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/regression/priority_queue_rand.cc"><tt>priority_queue_rand.cc</tt></a>
-    checks all priority queue types.</p>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/pq_tests.html b/libstdc++-v3/doc/html/ext/pb_ds/pq_tests.html
deleted file mode 100644 (file)
index de8cb44..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<!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>Priority-Queue Tests</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1>Priority-Queue Tests</h1>
-
-    <p><a href="pq_regression_tests.html">Priority-Queue Regression
-    Tests</a> describes the regression tests; <a href=
-    "pq_performance_tests.html">Priority-Queue Performance
-    Tests</a> describes the performance tests.</p>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/prerequisites.html b/libstdc++-v3/doc/html/ext/pb_ds/prerequisites.html
deleted file mode 100644 (file)
index 7c88884..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-<!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>Prerequisites</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1>Usage Prerequisites</h1>
-
-    <p><tt>pb_ds</tt> has been successfully tested with the
-    following compilers:</p>
-
-    <ol>
-      <li>g++ 3.3.1, 3.4.4, 4.0, 4.1, and what will be 4.2</li>
-
-      <li>Intel icpc 8.1 and 9</li>
-
-      <li>Visual C++ .Net 2005</li>
-    </ol>
-
-    <p>The library contains only header files, and does not require
-    any other libraries except the STL. All classes are defined in
-    <tt><b>namespace</b> pb_ds</tt>. The library internally uses
-    macros beginning with <tt>PB_DS</tt> (<i>e.g.</i>, for header
-    guards), but <tt>#<b>undef</b></tt>s anything it
-    <tt>#<b>define</b></tt>s (except for header guards). Compiling
-    the library in an environment where macros beginning in
-    <tt>PB_DS</tt> are defined, may yield unpredictable results in
-    compilation, execution, or both.</p>
-
-    <p> Further dependencies are necessary to create the visual output
-    for the performance tests. To create these graphs, two additional
-    packages will be needed: <b>pychart</b> and <b>Beautiful
-    Soup</b>. Both are freely available.
-    </p>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue.html b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue.html
deleted file mode 100644 (file)
index def310f..0000000
+++ /dev/null
@@ -1,995 +0,0 @@
-<!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>priority_queue Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>priority_queue</tt> Interface</h1>
-
-    <p>Basic priority queue.</p>
-
-    <p>Defined in: <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/priority_queue.hpp"><tt>priority_queue.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="Value_Type216514186" id=
-"Value_Type216514186"><b>typename</b> Value_Type</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Value type.</p>
-        </td>
-
-        <td>-</td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="Cmp_Fn294335" id="Cmp_Fn294335"><b>class</b> Cmp_Fn </a>
-</pre>
-        </td>
-
-        <td>
-          <p>Comparison functor.</p>
-        </td>
-
-        <td>
-          <pre>
-std::less&lt;<a href=
-"#Value_Type216514186"><tt>Value_Type</tt></a>&gt;
-</pre>
-        </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><a href="pairing_heap_tag.html"><span class=
-        "c2"><tt>pairing_heap_tag</tt></span></a></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&lt;<b>char</b>&gt;
-</pre>
-        </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="binary_heap_tag.html"><span class=
-            "c2"><tt>binary_heap_tag</tt></span></a></li>
-
-            <li><a href="binomial_heap_tag.html"><span class=
-            "c2"><tt>binomial_heap_tag</tt></span></a></li>
-
-            <li><a href="rc_binomial_heap_tag.html"><span class=
-            "c2"><tt>rc_binomial_heap_tag</tt></span></a></li>
-
-            <li><a href="pairing_heap_tag.html"><span class=
-            "c2"><tt>pairing_heap_tag</tt></span></a></li>
-
-            <li><a href="thin_heap_tag.html"><span class=
-            "c2"><tt>thin_heap_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="cmp_fn394495" id="cmp_fn394495">cmp_fn</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#Cmp_Fn294335"><tt>Cmp_Fn</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Comparison functor type.</p>
-        </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">Value-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="value_type279018186" id=
-"value_type279018186">value_type</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#Value_Type216514186"><tt>Value_Type</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Value type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="reference54418471" id="reference54418471">reference</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind&lt;
-    <a href=
-"#value_type279018186"><tt>value_type</tt></a>&gt;::other::reference
-</pre>
-        </td>
-
-        <td>
-          <p>Value reference type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="const_reference495461441" id=
-"const_reference495461441">const_reference</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind&lt;
-    <a href=
-"#value_type279018186"><tt>value_type</tt></a>&gt;::other::const_reference
-</pre>
-        </td>
-
-        <td>
-          <p>Const value <a href=
-          "#reference54418471"><tt>reference</tt></a> type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="pointer2179769" id="pointer2179769">pointer</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind&lt;
-    <a href=
-"#value_type279018186"><tt>value_type</tt></a>&gt;::other::pointer
-</pre>
-        </td>
-
-        <td>
-          <p>Value pointer type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="const_pointer878814947" id=
-"const_pointer878814947">const_pointer</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind&lt;
-    <a href=
-"#value_type279018186"><tt>value_type</tt></a>&gt;::other::const_pointer
-</pre>
-        </td>
-
-        <td>
-          <p>Const Value <a href=
-          "#pointer2179769"><tt>pointer</tt></a> type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link7" id="link7">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_point_iterator2364676009" id=
-"const_point_iterator2364676009">const_point_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-Const point-type iterator.
-</pre>
-        </td>
-
-        <td>
-          <p>Const point-type iterator.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="point_iterator2789896775" id=
-"point_iterator2789896775">point_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-Point-type iterator.
-</pre>
-        </td>
-
-        <td>
-          <p>Point-type iterator.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="const_iterator98626788" id=
-"const_iterator98626788">const_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-Const range-type 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>
-Range-type iterator.
-</pre>
-        </td>
-
-        <td>
-          <p>Range-type iterator.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link8" id="link8">Public Methods</a></h2>
-
-    <h3><a name="link9" id="link9">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>
-  priority_queue
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Default constructor.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-  priority_queue
-  (<b>const</b> <a href=
-"#cmp_fn394495"><tt>cmp_fn</tt></a> &amp;r_cmp_fn)
-</pre>
-        </td>
-
-        <td>
-          <p>Constructor taking some policy objects. <span class=
-          "c1"><tt>r_cmp_fn</tt></span> will be copied by the
-          <a href="#Cmp_Fn294335"><tt>Cmp_Fn</tt></a> object of the
-          container object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>template</b>&lt;
-    <b>class</b> It&gt;
-  priority_queue
-  (It first_it, 
-    It last_it)
-</pre>
-        </td>
-
-        <td>
-          <p>Constructor taking iterators to a range of <a href=
-          "#value_type279018186"><tt>value_type</tt></a>s. The
-          <a href="#value_type279018186"><tt>value_type</tt></a>s
-          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>&lt;
-    <b>class</b> It&gt;
-  priority_queue
-  (It first_it, 
-    It last_it,
-    <b>const</b> <a href=
-"#cmp_fn394495"><tt>cmp_fn</tt></a> &amp;r_cmp_fn)
-</pre>
-        </td>
-
-        <td>
-          <p>Constructor taking iterators to a range of <a href=
-          "#value_type279018186"><tt>value_type</tt></a>s and some
-          policy objects The <a href=
-          "#value_type279018186"><tt>value_type</tt></a>s 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_cmp_fn</tt></span> will be copied by the
-          <a href="#cmp_fn394495"><tt>cmp_fn</tt></a> object of the
-          container object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-  priority_queue
-  (<b>const</b> <span class=
-"c2"><tt>priority_queue</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Copy constructor.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> 
-  ~priority_queue
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Destructor.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<span class="c2"><tt>priority_queue</tt></span> &amp;
-  <b>operator</b>=
-  (<b>const</b> <span class=
-"c2"><tt>priority_queue</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Assignment operator.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>void</b>
-  swap
-  (<span class="c2"><tt>priority_queue</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Swaps content.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link10" id="link10">Information 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>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a>
-  size
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the number of distinct <a href=
-          "#value_type279018186"><tt>value_type</tt></a> objects
-          the container object is storing.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a>
-  max_size
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns an upper bound on the number of distinct
-          <a href="#value_type279018186"><tt>value_type</tt></a>
-          objects this container can store.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <b>bool</b>
-  empty
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns whether the container object is not storing
-          any <a href=
-          "#value_type279018186"><tt>value_type</tt></a>
-          objects.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link11" id="link11">Insert 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>inline</b> <a href=
-"#point_iterator2789896775"><tt>point_iterator</tt></a>
-  push
-  (<a href=
-"#const_reference495461441"><tt>const_reference</tt></a> r_val)
-</pre>
-        </td>
-
-        <td>
-          <p>Inserts a <a href=
-          "#value_type279018186"><tt>value_type</tt></a> object.
-          returns a <a href=
-          "#point_iterator2789896775"><tt>point_iterator</tt></a>
-          object associated with the new pushed <span class=
-          "c1"><tt>r_val</tt></span>.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link12" id="link12">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>
-<b>inline</b> <a href=
-"#const_reference495461441"><tt>const_reference</tt></a> 
-  top
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the <a href=
-          "#const_reference495461441"><tt>const_reference</tt></a>
-          of the largest <a href=
-          "#value_type279018186"><tt>value_type</tt></a> in the
-          container object, i.e., a <a href=
-          "#value_type279018186"><tt>value_type</tt></a> v_max for
-          which any other <a href=
-          "#value_type279018186"><tt>value_type</tt></a> v in the
-          container object will satisfy !<a href=
-          "#cmp_fn394495"><tt>cmp_fn</tt></a>()(v_max, v).</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link13" id="link13">Modify 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>inline</b> <b>void</b>
-  modify
-  (<a href=
-"#point_iterator2789896775"><tt>point_iterator</tt></a> it,
-    <a href=
-"#const_reference495461441"><tt>const_reference</tt></a> r_new_val)
-</pre>
-        </td>
-
-        <td>
-          <p>Modifies the <a href=
-          "#value_type279018186"><tt>value_type</tt></a> associated
-          with the <a href=
-          "#point_iterator2789896775"><tt>point_iterator</tt></a>
-          <span class="c1"><tt>it</tt></span> into <span class=
-          "c1"><tt>r_new_val</tt></span>.</p>
-
-          <p>To use this method, <a href=
-          "#value_type279018186"><tt>value_type</tt></a> must be
-          assignable.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link14" id="link14">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>
-<b>inline</b> <b>void</b>
-  pop
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Pops the largest <a href=
-          "#value_type279018186"><tt>value_type</tt></a>.</p>
-
-          <p>If the container object is empty, results are
-          undefined.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <b>void</b>
-  erase
-  (<a href=
-"#point_iterator2789896775"><tt>point_iterator</tt></a> it)
-</pre>
-        </td>
-
-        <td>
-          <p>Erases the <a href=
-          "#value_type279018186"><tt>value_type</tt></a> associated
-          with the <a href=
-          "#point_iterator2789896775"><tt>point_iterator</tt></a>
-          <span class="c1"><tt>it</tt></span>.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>template</b>&lt;
-  <b>class</b> Pred&gt;
-<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> 
-  erase_if
-  (Pred prd)
-</pre>
-        </td>
-
-        <td>
-          <p>Erases any <a href=
-          "#value_type279018186"><tt>value_type</tt></a> satisfying
-          the predicate <span class="c1"><tt>prd</tt></span>;
-          returns the number of <a href=
-          "#value_type279018186"><tt>value_type</tt></a>s
-          erased.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>void</b> 
-  clear
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Clears the container object.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link15" id="link15">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>priority_queue</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Joins two container objects. 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 policies must be
-          equivalent to this object's policies.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>template</b>&lt;
-  <b>class</b> Pred&gt;
-<b>inline</b> <b>void</b>
-  split
-  (Pred prd,
-    <span class="c2"><tt>priority_queue</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Splits into two container objects. When this function
-          returns, <span class="c1"><tt>other</tt></span> will be
-          contain only values v for which <span class=
-          "c1"><tt>prd</tt></span>(v) is <tt><b>true</b></tt>.</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>
-
-    <h3><a name="link16" id="link16">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>
-<b>inline</b> <a href="#iterator10418194"><tt>iterator</tt></a>
-  begin
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Returns an <a href=
-          "#iterator10418194"><tt>iterator</tt></a> corresponding
-          to the first <a href=
-          "#value_type279018186"><tt>value_type</tt></a> in the
-          container.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <a href=
-"#const_iterator98626788"><tt>const_iterator</tt></a>
-  begin
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns a <a href=
-          "#const_iterator98626788"><tt>const_iterator</tt></a>
-          corresponding to the first <a href=
-          "#value_type279018186"><tt>value_type</tt></a> in the
-          container.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <a href="#iterator10418194"><tt>iterator</tt></a>
-  end
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Returns an <a href=
-          "#iterator10418194"><tt>iterator</tt></a> corresponding
-          to the just-after-last <a href=
-          "#value_type279018186"><tt>value_type</tt></a> in the
-          container.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <a href=
-"#const_iterator98626788"><tt>const_iterator</tt></a>
-  end
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns a <a href=
-          "#const_iterator98626788"><tt>const_iterator</tt></a>
-          corresponding to the just-after-last <a href=
-          "#value_type279018186"><tt>value_type</tt></a> in the
-          container.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test.html b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test.html
deleted file mode 100644 (file)
index 903331d..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-<!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>Priority Queue Random Int Push Pop Timing Test</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>Priority Queue Random Integer <tt>push</tt> and
-    <tt>pop</tt> Timing Test</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of values with i.i.d. integer
-    keys into a container using <tt>push</tt> , then removes them
-    using <tt>pop</tt> . It measures the average time for
-    <tt>push</tt> and <tt>pop</tt> as a function of the number of
-    values.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc">
-<tt>priority_queue_random_int_push_pop_timing_test</tt></a>
-    thirty_years_among_the_dead_preproc.txt 200 200 2100)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the effect of different underlying
-    data structures (see <a href="pq_design.html#pq_imp">Design::Priority
-    Queues::Implementations</a>).</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NPG">NPG</a>, <a href="#NPM">NPM</a>, and
-    <a href="#NPL">NPL</a> shows the results for the native
-    priority queues and <tt>pb_ds</tt> 's priority queues in
-    <a href="pq_performance_tests.html#gcc"><u>g++</u></a>,
-    <a href="pq_performance_tests.html#msvc"><u>msvc++</u></a>, and
-    <a href="pq_performance_tests.html#local"><u>local</u></a>,
-    respectively.</p>
-<div id="NPG_res_div">
-<div id="NPG_gcc">
-<div id="NPG_priority_queue_random_int_push_pop_timing_test">
-<div id="NPG_pq">
-<div id="NPG_Native_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt___tt_pop_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPG" id="NPG"><img src="priority_queue_random_int_push_pop_timing_test_gcc.png" alt="no image" /></a></h6>NPG: Native and <tt>pb ds</tt> priority queue <tt>push</tt> <tt>pop</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-thin_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>
-</li>
-<li>
-rc_binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a>
-</li>
-<li>
-binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a>
-</li>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-<li>
-n_pq_deque-
-<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li>
-<li>
-n_pq_vector-
-<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li>
-<li>
-binary_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NPM_res_div">
-<div id="NPM_msvc">
-<div id="NPM_priority_queue_random_int_push_pop_timing_test">
-<div id="NPM_pq">
-<div id="NPM_Native_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt___tt_pop_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPM" id="NPM"><img src="priority_queue_random_int_push_pop_timing_test_msvc.png" alt="no image" /></a></h6>NPM: Native and <tt>pb ds</tt> priority queue <tt>push</tt> <tt>pop</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-thin_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>
-</li>
-<li>
-rc_binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a>
-</li>
-<li>
-binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a>
-</li>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-<li>
-n_pq_deque-
-<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li>
-<li>
-n_pq_vector-
-<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li>
-<li>
-binary_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NPL_res_div">
-<div id="NPL_local">
-<div id="NPL_priority_queue_random_int_push_pop_timing_test">
-<div id="NPL_pq">
-<div id="NPL_Native_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt___tt_pop_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPL" id= "NPL"><img src="priority_queue_random_int_push_pop_timing_test_local.png" alt="no image" /></a></h6>NPL: Native and <tt>pb ds</tt> priority queue <tt>push</tt> <tt>pop</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>Binary heaps are the most suited for sequences of
-    <tt>push</tt> and <tt>pop</tt> operations of primitive types
-    (<i>e.g.</i> <tt><b>int</b></tt>s). This is explained in
-    <a href="priority_queue_random_int_push_timing_test.html">Priority
-    Queue Random Int <tt>push</tt> Timing Test</a> . (See <a href="priority_queue_text_push_pop_timing_test.html">Priority Queue
-    Text <tt>push</tt> Timing Test</a> for the case of primitive
-    types.)</p>
-<p>At first glance it seems that the STL's vector-based
-    priority queue is approximately on par with <tt>pb_ds</tt>'s
-    corresponding priority queue. There are two differences
-    however:</p>
-<ol>
-<li>The STL's priority queue does not downsize the underlying
-      vector (or deque) as the priority queue becomes smaller
-      (see <a href="priority_queue_text_pop_mem_usage_test.html">Priority Queue
-      Text <tt>pop</tt> Memory Use Test</a>). It is therefore
-      gaining some speed at the expense of space.</li>
-<li>From <a href="priority_queue_random_int_push_pop_timing_test.html">Priority
-      Queue Random Integer <tt>push</tt> and <tt>pop</tt> Timing
-      Test</a>, it seems that the STL's priority queue is slower in
-      terms of <tt>pus</tt> operations. Since the number of
-      <tt>pop</tt> operations is at most that of <tt>push</tt>
-      operations, the test here is the "best" for the STL's
-      priority queue.</li>
-</ol>
-<p><a href="pq_performance_tests.html#pq_observations">Priority-Queue
-    Performance Tests::Observations</a> discusses this further and
-    summarizes.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_gcc.png
deleted file mode 100644 (file)
index 68f5e2b..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_local.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_local.png
deleted file mode 100644 (file)
index b8cc153..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_msvc.png
deleted file mode 100644 (file)
index 4fc191c..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test.html b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test.html
deleted file mode 100644 (file)
index ba91f60..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-<!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>Priority Queue Random Int Push Timing Test</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>Priority Queue Random Integer <tt>push</tt> Timing
-    Test</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of values with i.i.d integer keys
-    into a container using <tt>push</tt> . It measures the average
-    time for <tt>push</tt> as a function of the number of
-    values.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/priority_queue_random_int_push_timing.cc"><tt>
-    priority_queue_random_intpush_timing_test</tt></a>
-    thirty_years_among_the_dead_preproc.txt 200 200 2100)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the effect of different underlying
-    data structures (see <a href="pq_design.html#pq_imp">Design::Priority
-    Queues::Implementations</a>).</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NPG">NPG</a>, <a href="#NPM">NPM</a>, and
-    <a href="#NPL">NPL</a> show the results for the native priority
-    queues and <tt>pb_ds</tt> 's priority queues in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively; Figures <a href="#NBPG">NBPG</a>, <a href="#NBPM">NBPM</a>, and <a href="#NBPL">NBPL</a> shows the
-    results for the binary-heap based native priority queues and
-    <tt>pb_ds</tt> 's priority queues in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively</p>
-<div id="NPG_res_div">
-<div id="NPG_gcc">
-<div id="NPG_priority_queue_random_int_push_timing_test">
-<div id="NPG_pq">
-<div id="NPG_Native_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPG" id="NPG"><img src="priority_queue_random_int_push_timing_test_gcc.png" alt="no image" /></a></h6>NPG: Native and <tt>pb ds</tt> priority queue <tt>push</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-rc_binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a>
-</li>
-<li>
-binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a>
-</li>
-<li>
-n_pq_deque-
-<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-<li>
-thin_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>
-</li>
-<li>
-n_pq_vector-
-<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li>
-<li>
-binary_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NPM_res_div">
-<div id="NPM_msvc">
-<div id="NPM_priority_queue_random_int_push_timing_test">
-<div id="NPM_pq">
-<div id="NPM_Native_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPM" id="NPM"><img src="priority_queue_random_int_push_timing_test_msvc.png" alt="no image" /></a></h6>NPM: Native and <tt>pb ds</tt> priority queue <tt>push</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-rc_binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a>
-</li>
-<li>
-binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a>
-</li>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-<li>
-thin_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>
-</li>
-<li>
-n_pq_deque-
-<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li>
-<li>
-n_pq_vector-
-<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li>
-<li>
-binary_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NPL_res_div">
-<div id="NPL_local">
-<div id="NPL_priority_queue_random_int_push_timing_test">
-<div id="NPL_pq">
-<div id="NPL_Native_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPL" id= "NPL"><img src="priority_queue_random_int_push_timing_test_local.png" alt="no image" /></a></h6>NPL: Native and <tt>pb ds</tt> priority queue <tt>push</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NBPG_res_div">
-<div id="NBPG_gcc">
-<div id="NBPG_binary_priority_queue_random_int_push_timing_test">
-<div id="NBPG_pq">
-<div id="NBPG_Native_and__tt_pb_ds_455tt__binary_priority_queue__tt_push_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NBPG" id="NBPG"><img src="binary_priority_queue_random_int_push_timing_test_gcc.png" alt="no image" /></a></h6>NBPG: Native and <tt>pb ds</tt> binary priority queue <tt>push</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_pq_deque-
-<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li>
-<li>
-n_pq_vector-
-<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li>
-<li>
-binary_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NBPM_res_div">
-<div id="NBPM_msvc">
-<div id="NBPM_binary_priority_queue_random_int_push_timing_test">
-<div id="NBPM_pq">
-<div id="NBPM_Native_and__tt_pb_ds_455tt__binary_priority_queue__tt_push_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NBPM" id="NBPM"><img src="binary_priority_queue_random_int_push_timing_test_msvc.png" alt="no image" /></a></h6>NBPM: Native and <tt>pb ds</tt> binary priority queue <tt>push</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_pq_deque-
-<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li>
-<li>
-n_pq_vector-
-<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li>
-<li>
-binary_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NBPL_res_div">
-<div id="NBPL_local">
-<div id="NBPL_binary_priority_queue_random_int_push_timing_test">
-<div id="NBPL_pq">
-<div id="NBPL_Native_and__tt_pb_ds_455tt__binary_priority_queue__tt_push_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NBPL" id= "NBPL"><img src="binary_priority_queue_random_int_push_timing_test_local.png" alt="no image" /></a></h6>NBPL: Native and <tt>pb ds</tt> binary priority queue <tt>push</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>Binary heaps are the most suited for sequences of
-    <tt>push</tt> and <tt>pop</tt> operations of primitive types
-    (<i>e.g.</i> <tt><b>int</b></tt>s). They are less constrained
-    than any other type, and since it is very efficient to store
-    such types in arrays, they outperform even pairing heaps. (See
-    <a href="priority_queue_text_push_timing_test.html">Priority
-    Queue Text <tt>push</tt> Timing Test</a> for the case of
-    non-primitive types.)</p>
-<p><a href="pq_performance_tests.html#pq_observations">Priority-Queue
-    Performance Tests::Observations</a> discusses this further and
-    summarizes.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test_gcc.png
deleted file mode 100644 (file)
index ee8c9b7..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test_local.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test_local.png
deleted file mode 100644 (file)
index 51fa718..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test_msvc.png
deleted file mode 100644 (file)
index 0a1a8ea..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_tag.html b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_tag.html
deleted file mode 100644 (file)
index 8b6d81c..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<!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>priority_queue_tag Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>priority_queue_tag</tt> Interface</h1>
-
-    <p>Basic priority-queue 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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_tag_cd.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_tag_cd.png
deleted file mode 100644 (file)
index ed8d875..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_tag_cd.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_tag_cd.svg b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_tag_cd.svg
deleted file mode 100644 (file)
index be007ae..0000000
+++ /dev/null
@@ -1,368 +0,0 @@
-<?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:xlink="http://www.w3.org/1999/xlink"
-   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="pq_tag_diagram_2.svg"
-   inkscape:export-filename="/mnt/share/src/policy_based_data_structures/pb_ds_images/pq_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="608.69002"
-     inkscape:cy="490.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="383"
-       id="guide1315" />
-    <sodipodi:guide
-       orientation="vertical"
-       position="241"
-       id="guide1317" />
-    <sodipodi:guide
-       orientation="vertical"
-       position="680"
-       id="guide1319" />
-    <sodipodi:guide
-       orientation="vertical"
-       position="749"
-       id="guide1321" />
-    <sodipodi:guide
-       orientation="vertical"
-       position="124"
-       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="195"
-       id="guide3326" />
-    <sodipodi:guide
-       orientation="vertical"
-       position="427"
-       id="guide3328" />
-    <sodipodi:guide
-       orientation="vertical"
-       position="795"
-       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="382.17499"
-       x="241.73018"
-       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" />
-    <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="52.730194"
-       y="382.17499" />
-    <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="122.35258"
-       y="395.91092"
-       id="text3394"
-       sodipodi:linespacing="100%"><tspan
-         sodipodi:role="line"
-         id="tspan1383"
-         x="122.35258"
-         y="395.91092">pairing_heap_tag</tspan></text>
-    <text
-       sodipodi:linespacing="100%"
-       id="text3400"
-       y="395.91092"
-       x="310.55255"
-       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"
-       xml:space="preserve"><tspan
-         sodipodi:role="line"
-         id="tspan1381"
-         x="310.55255"
-         y="395.91092">bionomial_heap_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="tspan1363"
-         x="495.20001"
-         y="307.09772">priority_queue_tag</tspan></text>
-    <path
-       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.16226137;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 124.54034,382.1132 L 124.54034,360.6132 L 311.75594,359.6132 L 311.75594,382.1132"
-       id="path2244" />
-    <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="425.73022"
-       y="382.17499" />
-    <text
-       sodipodi:linespacing="100%"
-       id="text3406"
-       y="395.91092"
-       x="495.3526"
-       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-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
-       xml:space="preserve"><tspan
-         sodipodi:role="line"
-         id="tspan1377"
-         x="495.3526"
-         y="395.91092">rc_binomial_heap_tag</tspan></text>
-    <rect
-       y="382.17499"
-       x="607.93024"
-       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
-       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-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
-       x="679.15259"
-       y="395.91092"
-       id="text3412"
-       sodipodi:linespacing="100%"><tspan
-         sodipodi:role="line"
-         id="tspan1379"
-         x="679.15259"
-         y="395.91092">binary_heap_tag</tspan></text>
-    <path
-       id="path3347"
-       d="M 495.79886,382.13056 L 495.79886,321.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" />
-    <rect
-       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="rect2281"
-       width="141.64481"
-       height="23.200001"
-       x="795.625"
-       y="382.17499" />
-    <text
-       sodipodi:linespacing="100%"
-       id="text2283"
-       y="395.91092"
-       x="866.84735"
-       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-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
-       xml:space="preserve"><tspan
-         sodipodi:role="line"
-         id="tspan1359"
-         x="866.84735"
-         y="395.91092">thin_heap_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-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 311.5,360 L 680,360"
-       id="path2309" />
-    <use
-       x="0"
-       y="0"
-       xlink:href="#path2244"
-       id="use2311"
-       transform="matrix(-1,0,0,1,992.3371,0)"
-       width="990"
-       height="765" />
-  </g>
-</svg>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test.html b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test.html
deleted file mode 100644 (file)
index a4bf576..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-<!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>Priority Queue Text Join Timing Test</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>Priority Queue Text <tt>join</tt> Timing Test</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of values with keys from an
-    arbitrary text ([ <a href="references.html#wickland96thirty">wickland96thirty</a> ]) into
-    two containers, then merges the containers. It uses
-    <tt>join</tt> for <tt>pb_ds</tt>'s priority queues; for the
-    STL's priority queues, it successively pops values from one
-    container and pushes them into the other. The test measures the
-    average time as a function of the number of values.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/priority_queue_text_join_timing.cc"><tt>priority_queue_text_join_timing_test</tt></a>
-    thirty_years_among_the_dead_preproc.txt 200 200 2100)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the effect of different underlying
-    data structures (see <a href="pq_design.html#pq_imp">Design::Priority
-    Queues::Implementations</a>).</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NPG">NPG</a>, <a href="#NPM">NPM</a>, and
-    <a href="#NPL">NPL</a> show the results for the native priority
-    queues and <tt>pb_ds</tt> 's priority queues in <a href="pq_performance_tests.html#gcc"><u>g++</u></a>, <a href="pq_performance_tests.html#msvc"><u>msvc</u></a>, and <a href="pq_performance_tests.html#local"><u>local</u></a>,
-    respectively.</p>
-<div id="NPG_res_div">
-<div id="NPG_gcc">
-<div id="NPG_priority_queue_text_join_timing_test">
-<div id="NPG_pq">
-<div id="NPG_Native_tree_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPG" id="NPG"><img src="priority_queue_text_join_timing_test_gcc.png" alt="no image" /></a></h6>NPG: Native tree and <tt>pb ds</tt> priority queue <tt>push</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_pq_deque-
-<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li>
-<li>
-n_pq_vector-
-<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li>
-<li>
-binary_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a>
-</li>
-<li>
-thin_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>
-</li>
-<li>
-rc_binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a>
-</li>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-<li>
-binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NPM_res_div">
-<div id="NPM_msvc">
-<div id="NPM_priority_queue_text_join_timing_test">
-<div id="NPM_pq">
-<div id="NPM_Native_tree_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPM" id="NPM"><img src="priority_queue_text_join_timing_test_msvc.png" alt="no image" /></a></h6>NPM: Native tree and <tt>pb ds</tt> priority queue <tt>push</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_pq_deque-
-<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li>
-<li>
-n_pq_vector-
-<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li>
-<li>
-binary_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a>
-</li>
-<li>
-thin_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>
-</li>
-<li>
-rc_binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a>
-</li>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-<li>
-binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NPL_res_div">
-<div id="NPL_local">
-<div id="NPL_priority_queue_text_join_timing_test">
-<div id="NPL_pq">
-<div id="NPL_Native_tree_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPL" id= "NPL"><img src="priority_queue_text_join_timing_test_local.png" alt="no image" /></a></h6>NPL: Native tree and <tt>pb ds</tt> priority queue <tt>push</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>In this test the node-based heaps perform <tt>join</tt> in
-    either logarithmic or constant time. The binary heap requires
-    linear time, since the well-known heapify algorithm [<a href="references.html#clrs2001">clrs2001</a>] is linear.</p>
-<p>It would be possible to apply the heapify algorithm to the
-    STL containers, if they would support iteration (which they
-    don't). Barring iterators, it is still somehow possible to
-    perform linear-time merge on a <tt>std::vector</tt>-based STL
-    priority queue, using <tt>top()</tt> and <tt>size()</tt> (since
-    they are enough to expose the underlying array), but this is
-    impossible for a <tt>std::deque</tt>-based STL priority queue.
-    Without heapify, the cost is super-linear.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test_gcc.png
deleted file mode 100644 (file)
index a48bb35..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test_local.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test_local.png
deleted file mode 100644 (file)
index 67318f0..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test_msvc.png
deleted file mode 100644 (file)
index 0575b99..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test.html b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test.html
deleted file mode 100644 (file)
index 7ece80b..0000000
+++ /dev/null
@@ -1,204 +0,0 @@
-<!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>Priority Queue Text Modify (Down) Timing Test</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>Priority Queue Text <tt>modify</tt> Timing Test - II</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of values with keys from an
-    arbitrary text ([ <a href="references.html#wickland96thirty">wickland96thirty</a> ]) into
-    into a container then modifies each one "down" (<i>i.e.,</i> it
-    makes it smaller). It uses <tt>modify</tt> for <tt>pb_ds</tt>'s
-    priority queues; for the STL's priority queues, it pops values
-    from a container until it reaches the value that should be
-    modified, then pushes values back in. It measures the average
-    time for <tt>modify</tt> as a function of the number of
-    values.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_timing.cc"><tt>priority_queue_text_modify_down_timing_test</tt></a>
-    thirty_years_among_the_dead_preproc.txt 200 200 2100 f)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The main purpose of this test is to contrast <a href="priority_queue_text_modify_up_timing_test.html">Priority Queue
-    Text <tt>modify</tt> Timing Test - I</a>.</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NPG">NPG</a>, <a href="#NPM">NPM</a>, and
-    <a href="#NPL">NPL</a> show the results for the native priority
-    queues and <tt>pb_ds</tt> 's priority queues in <a href="pq_performance_tests.html#gcc"><u>g++</u></a>, <a href="pq_performance_tests.html#msvc"><u>msvc++</u></a>, and
-    <a href="pq_performance_tests.html#local"><u>local</u></a>,
-    respectively; Figures <a href="#NRTG">NRTG</a>, <a href="#NRTM">NRTM</a>, and <a href="#NRTL">NRTL</a> show the results
-    for the pairing heap and thin heaps in <a href="pq_performance_tests.html#gcc"><u>g++</u></a>, <a href="pq_performance_tests.html#msvc"><u>msvc++</u></a>, and
-    <a href="pq_performance_tests.html#local"><u>local</u></a>,
-    respectively,</p>
-<div id="NPG_res_div">
-<div id="NPG_gcc">
-<div id="NPG_priority_queue_text_modify_down_timing_test">
-<div id="NPG_pq">
-<div id="NPG_Native_and__tt_pb_ds_455tt__priority_queue__tt_modify_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPG" id="NPG"><img src="priority_queue_text_modify_down_timing_test_gcc.png" alt="no image" /></a></h6>NPG: Native and <tt>pb ds</tt> priority queue <tt>modify</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_pq_deque-
-<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li>
-<li>
-n_pq_vector-
-<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li>
-<li>
-binary_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a>
-</li>
-<li>
-thin_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>
-</li>
-<li>
-rc_binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a>
-</li>
-<li>
-binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a>
-</li>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NPM_res_div">
-<div id="NPM_msvc">
-<div id="NPM_priority_queue_text_modify_down_timing_test">
-<div id="NPM_pq">
-<div id="NPM_Native_and__tt_pb_ds_455tt__priority_queue__tt_modify_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPM" id="NPM"><img src="priority_queue_text_modify_down_timing_test_msvc.png" alt="no image" /></a></h6>NPM: Native and <tt>pb ds</tt> priority queue <tt>modify</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_pq_deque-
-<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li>
-<li>
-n_pq_vector-
-<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li>
-<li>
-binary_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a>
-</li>
-<li>
-thin_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>
-</li>
-<li>
-rc_binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a>
-</li>
-<li>
-binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a>
-</li>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NPL_res_div">
-<div id="NPL_local">
-<div id="NPL_priority_queue_text_modify_down_timing_test">
-<div id="NPL_pq">
-<div id="NPL_Native_and__tt_pb_ds_455tt__priority_queue__tt_modify_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPL" id= "NPL"><img src="priority_queue_text_modify_down_timing_test_local.png" alt="no image" /></a></h6>NPL: Native and <tt>pb ds</tt> priority queue <tt>modify</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NRTG_res_div">
-<div id="NRTG_gcc">
-<div id="NRTG_priority_queue_text_modify_down_timing_test_pairing_thin">
-<div id="NRTG_pq">
-<div id="NRTG_Pairing_and_thin__priority_queue__tt_modify_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NRTG" id="NRTG"><img src="priority_queue_text_modify_down_timing_test_pairing_thin_gcc.png" alt="no image" /></a></h6>NRTG: Pairing and thin  priority queue <tt>modify</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-thin_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>
-</li>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NRTM_res_div">
-<div id="NRTM_msvc">
-<div id="NRTM_priority_queue_text_modify_down_timing_test_pairing_thin">
-<div id="NRTM_pq">
-<div id="NRTM_Pairing_and_thin__priority_queue__tt_modify_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NRTM" id="NRTM"><img src="priority_queue_text_modify_down_timing_test_pairing_thin_msvc.png" alt="no image" /></a></h6>NRTM: Pairing and thin  priority queue <tt>modify</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-thin_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>
-</li>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NRTL_res_div">
-<div id="NRTL_local">
-<div id="NRTL_priority_queue_text_modify_down_timing_test_pairing_thin">
-<div id="NRTL_pq">
-<div id="NRTL_Pairing_and_thin__priority_queue__tt_modify_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NRTL" id= "NRTL"><img src="priority_queue_text_modify_down_timing_test_pairing_thin_local.png" alt="no image" /></a></h6>NRTL: Pairing and thin  priority queue <tt>modify</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>Most points in these results are similar to <a href="priority_queue_text_modify_up_timing_test.html">Priority Queue
-    Text <tt>modify</tt> Timing Test - I</a>.</p>
-<p>It is interesting to note, however, that as opposed to that
-    test, a thin heap (<a href="priority_queue.html"><tt>priority_queue</tt></a> with
-    <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>) is
-    outperformed by a pairing heap (<a href="priority_queue.html"><tt>priority_queue</tt></a> with
-    <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>).
-    In this case, both heaps essentially perform an <tt>erase</tt>
-    operation followed by a <tt>push</tt> operation. As the other
-    tests show, a pairing heap is usually far more efficient than a
-    thin heap, so this is not surprising.</p>
-<p>Most algorithms that involve priority queues increase values
-    (in the sense of the priority queue's comparison functor), and
-    so <a href="priority_queue_text_modify_up_timing_test.html">Priority Queue
-    Text <tt>modify</tt> Timing Test - I</a> is more interesting
-    than this test.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_gcc.png
deleted file mode 100644 (file)
index 74cbc65..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_local.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_local.png
deleted file mode 100644 (file)
index d8d3b7a..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_msvc.png
deleted file mode 100644 (file)
index 20b6637..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_gcc.png
deleted file mode 100644 (file)
index ca90183..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_local.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_local.png
deleted file mode 100644 (file)
index 23ac5e7..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_msvc.png
deleted file mode 100644 (file)
index bf68bf9..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test.html b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test.html
deleted file mode 100644 (file)
index 72a1e0a..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-<!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>Priority Queue Text Modify (Up) Timing Test</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>Priority Queue Text <tt>modify</tt> Timing Test - I</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of values with keys from an
-    arbitrary text ([ <a href="references.html#wickland96thirty">wickland96thirty</a> ]) into
-    into a container then modifies each one "up" (<i>i.e.,</i> it
-    makes it larger). It uses <tt>modify</tt> for <tt>pb_ds</tt>'s
-    priority queues; for the STL's priority queues, it pops values
-    from a container until it reaches the value that should be
-    modified, then pushes values back in. It measures the average
-    time for <tt>modify</tt> as a function of the number of
-    values.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_timing.cc"><tt>priority_queue_text_modify_up_timing_test</tt></a>
-    thirty_years_among_the_dead_preproc.txt 200 200 2100 t)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the effect of different underlying
-    data structures (see <a href="pq_design.html#pq_imp">Design::Priority
-    Queues::Implementations</a>) for graph algorithms settings.
-    Note that making an arbitrary value larger (in the sense of the
-    priority queue's comparison functor) corresponds to
-    decrease-key in standard graph algorithms [<a href="references.html#clrs2001">clrs2001</a>].</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NPG">NPG</a>, <a href="#NPM">NPM</a>, and
-    <a href="#NPL">NPL</a> show the results for the native priority
-    queues and <tt>pb_ds</tt> 's priority queues in <a href="pq_performance_tests.html#gcc"><u>g++</u></a>, <a href="pq_performance_tests.html#msvc"><u>msvc++</u></a>, and
-    <a href="pq_performance_tests.html#local"><u>local</u></a>,
-    respectively; Figures <a href="#NRTG">NRTG</a>, <a href="#NRTM">NRTM</a>, and <a href="#NRTL">NRTL</a> show the results
-    for the pairing heap and thin heaps in <a href="pq_performance_tests.html#gcc"><u>g++</u></a>, <a href="pq_performance_tests.html#msvc"><u>msvc++</u></a>, and
-    <a href="pq_performance_tests.html#local"><u>local</u></a>,
-    respectively,</p>
-<div id="NPG_res_div">
-<div id="NPG_gcc">
-<div id="NPG_priority_queue_text_modify_up_timing_test">
-<div id="NPG_pq">
-<div id="NPG_Native_and__tt_pb_ds_455tt__priority_queue__tt_modify_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPG" id="NPG"><img src="priority_queue_text_modify_up_timing_test_gcc.png" alt="no image" /></a></h6>NPG: Native and <tt>pb ds</tt> priority queue <tt>modify</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_pq_deque-
-<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li>
-<li>
-n_pq_vector-
-<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li>
-<li>
-binary_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a>
-</li>
-<li>
-rc_binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a>
-</li>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-<li>
-binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a>
-</li>
-<li>
-thin_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NPM_res_div">
-<div id="NPM_msvc">
-<div id="NPM_priority_queue_text_modify_up_timing_test">
-<div id="NPM_pq">
-<div id="NPM_Native_and__tt_pb_ds_455tt__priority_queue__tt_modify_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPM" id="NPM"><img src="priority_queue_text_modify_up_timing_test_msvc.png" alt="no image" /></a></h6>NPM: Native and <tt>pb ds</tt> priority queue <tt>modify</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_pq_deque-
-<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li>
-<li>
-n_pq_vector-
-<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li>
-<li>
-binary_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a>
-</li>
-<li>
-rc_binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a>
-</li>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-<li>
-binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a>
-</li>
-<li>
-thin_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NPL_res_div">
-<div id="NPL_local">
-<div id="NPL_priority_queue_text_modify_up_timing_test">
-<div id="NPL_pq">
-<div id="NPL_Native_and__tt_pb_ds_455tt__priority_queue__tt_modify_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPL" id= "NPL"><img src="priority_queue_text_modify_up_timing_test_local.png" alt="no image" /></a></h6>NPL: Native and <tt>pb ds</tt> priority queue <tt>modify</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NRTG_res_div">
-<div id="NRTG_gcc">
-<div id="NRTG_priority_queue_text_modify_up_timing_test_pairing_thin">
-<div id="NRTG_pq">
-<div id="NRTG_Pairing_and_thin__priority_queue__tt_modify_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NRTG" id="NRTG"><img src="priority_queue_text_modify_up_timing_test_pairing_thin_gcc.png" alt="no image" /></a></h6>NRTG: Pairing and thin  priority queue <tt>modify</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-<li>
-thin_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NRTM_res_div">
-<div id="NRTM_msvc">
-<div id="NRTM_priority_queue_text_modify_up_timing_test_pairing_thin">
-<div id="NRTM_pq">
-<div id="NRTM_Pairing_and_thin__priority_queue__tt_modify_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NRTM" id="NRTM"><img src="priority_queue_text_modify_up_timing_test_pairing_thin_msvc.png" alt="no image" /></a></h6>NRTM: Pairing and thin  priority queue <tt>modify</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-<li>
-thin_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NRTL_res_div">
-<div id="NRTL_local">
-<div id="NRTL_priority_queue_text_modify_up_timing_test_pairing_thin">
-<div id="NRTL_pq">
-<div id="NRTL_Pairing_and_thin__priority_queue__tt_modify_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NRTL" id= "NRTL"><img src="priority_queue_text_modify_up_timing_test_pairing_thin_local.png" alt="no image" /></a></h6>NRTL: Pairing and thin  priority queue <tt>modify</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>As noted above, increasing an arbitrary value (in the sense
-    of the priority queue's comparison functor) is very common in
-    graph-related algorithms. In this case, a thin heap (<a href="priority_queue.html"><tt>priority_queue</tt></a> with
-    <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>)
-    outperforms a pairing heap (<a href="priority_queue.html"><tt>priority_queue</tt></a> with
-    <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>).
-    Conversely, <a href="priority_queue_text_push_timing_test.html">Priority Queue Text
-    <tt>push</tt> Timing Test</a>, <a href="priority_queue_text_push_pop_timing_test.html">Priority Queue
-    Text <tt>push</tt> and <tt>pop</tt> Timing Test</a>, <a href="priority_queue_random_int_push_timing_test.html">Priority
-    Queue Random Integer <tt>push</tt> Timing Test</a>, and
-    <a href="priority_queue_random_int_push_pop_timing_test.html">Priority
-    Queue Random Integer <tt>push</tt> and <tt>pop</tt> Timing
-    Test</a> show that the situation is reversed for other
-    operations. It is not clear when to prefer one of these two
-    different types.</p>
-<p>In this test <tt>pb_ds</tt>'s binary heaps effectively
-    perform modify in linear time. As explained in <a href="pq_design.html#pq_traits">Priority Queue Design::Traits</a>,
-    given a valid point-type iterator, a binary heap can perform
-    <tt>modify</tt> logarithmically. The problem is that binary
-    heaps invalidate their find iterators with each modifying
-    operation, and so the only way to obtain a valid point-type
-    iterator is to iterate using a range-type iterator until
-    finding the appropriate value, then use the range-type iterator
-    for the <tt>modify</tt> operation.</p>
-<p>The explanation for the STL's priority queues' performance
-    is similar to that in <a href="priority_queue_text_join_timing_test.html">Priority Queue Text
-    <tt>join</tt> Timing Test</a>.</p>
-<p><a href="pq_performance_tests.html#pq_observations">Priority-Queue
-    Performance Tests::Observations</a> discusses this further and
-    summarizes.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_gcc.png
deleted file mode 100644 (file)
index d9dedc2..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_local.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_local.png
deleted file mode 100644 (file)
index dc48e39..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_msvc.png
deleted file mode 100644 (file)
index 4005547..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_gcc.png
deleted file mode 100644 (file)
index 1aa5aba..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_local.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_local.png
deleted file mode 100644 (file)
index 9a73934..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_msvc.png
deleted file mode 100644 (file)
index 7405943..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test.html b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test.html
deleted file mode 100644 (file)
index 2545fc0..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-<!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>Priority Queue Text Pop Memory Use Test</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>Priority Queue Text <tt>pop</tt> Memory Use Test</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of values with keys from an
-    arbitrary text ([ <a href="references.html#wickland96thirty">wickland96thirty</a> ]) into
-    a container, then pops them until only one is left in the
-    container. It measures the memory use as a function of the
-    number of values pushed to the container.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc"><tt>priority_queue_text_pop_mem_usage_test</tt></a>
-    thirty_years_among_the_dead_preproc.txt 200 200 2100)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the effect of different underlying
-    data structures (see <a href="pq_design.html#pq_imp">Design::Priority
-    Queues::Implementations</a>).</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NPG">NPG</a>, <a href="#NPM">NPM</a>, and
-    <a href="#NPL">NPL</a> show the results for the native priority
-    queues and <tt>pb_ds</tt> 's priority queues in <a href="pq_performance_tests.html#gcc"><u>g++</u></a>, <a href="pq_performance_tests.html#msvc"><u>msvc++</u></a>, and
-    <a href="pq_performance_tests.html#local"><u>local</u></a>,
-    respectively.</p>
-<div id="NPG_res_div">
-<div id="NPG_gcc">
-<div id="NPG_priority_queue_text_pop_mem_usage_test">
-<div id="NPG_pq">
-<div id="NPG_Native_and__tt_pb_ds_455tt__priority_queue__tt_pop_455tt__memory-use_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPG" id="NPG"><img src="priority_queue_text_pop_mem_usage_test_gcc.png" alt="no image" /></a></h6>NPG: Native and <tt>pb ds</tt> priority queue <tt>pop</tt> memory-use test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_pq_vector-
-<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li>
-<li>
-n_pq_deque-
-<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li>
-<li>
-binary_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a>
-</li>
-<li>
-thin_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>
-</li>
-<li>
-binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a>
-</li>
-<li>
-rc_binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a>
-</li>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NPM_res_div">
-<div id="NPM_msvc">
-<div id="NPM_priority_queue_text_pop_mem_usage_test">
-<div id="NPM_pq">
-<div id="NPM_Native_and__tt_pb_ds_455tt__priority_queue__tt_pop_455tt__memory-use_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPM" id="NPM"><img src="priority_queue_text_pop_mem_usage_test_msvc.png" alt="no image" /></a></h6>NPM: Native and <tt>pb ds</tt> priority queue <tt>pop</tt> memory-use test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_pq_vector-
-<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li>
-<li>
-n_pq_deque-
-<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li>
-<li>
-binary_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a>
-</li>
-<li>
-thin_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>
-</li>
-<li>
-binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a>
-</li>
-<li>
-rc_binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a>
-</li>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NPL_res_div">
-<div id="NPL_local">
-<div id="NPL_priority_queue_text_pop_mem_usage_test">
-<div id="NPL_pq">
-<div id="NPL_Native_and__tt_pb_ds_455tt__priority_queue__tt_pop_455tt__memory-use_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPL" id= "NPL"><img src="priority_queue_text_pop_mem_usage_test_local.png" alt="no image" /></a></h6>NPL: Native and <tt>pb ds</tt> priority queue <tt>pop</tt> memory-use test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>The priority queue implementations (excluding the STL's) use
-    memory proportionally to the number of values they hold:
-    node-based implementations (<i>e.g.</i>, a pairing heap) do so
-    naturally; <tt>pb_ds</tt>'s binary heap de-allocates memory when
-    a certain lower threshold is exceeded.</p>
-<p>Note from <a href="priority_queue_text_push_pop_timing_test.html">Priority Queue
-    Text <tt>push</tt> and <tt>pop</tt> Timing Test</a> and
-    <a href="priority_queue_random_int_push_pop_timing_test.html">Priority
-    Queue Random Integer <tt>push</tt> and <tt>pop</tt> Timing
-    Test</a> that this does not impede performance compared to the
-    STL's priority queues.</p>
-<p>(See <a href="hash_random_int_erase_mem_usage_test.html">Hash-Based Erase
-    Memory Use Test</a> for a similar phenomenon regarding priority
-    queues.)</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_gcc.png
deleted file mode 100644 (file)
index 2c1918d..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_local.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_local.png
deleted file mode 100644 (file)
index d1966e3..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_msvc.png
deleted file mode 100644 (file)
index 9717f49..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test.html b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test.html
deleted file mode 100644 (file)
index 3c143fe..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-<!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>Priority Queue Text Push Pop Timing Test</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>Priority Queue Text <tt>push</tt> and <tt>pop</tt> Timing
-    Test</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of values with keys from an
-    arbitrary text ([ <a href="references.html#wickland96thirty">wickland96thirty</a> ]) into
-    a container using <tt>push</tt> , then removes them using
-    <tt>pop</tt> . It measures the average time for <tt>push</tt>
-    as a function of the number of values.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc"><tt>
-    priority_queue_text_push_pop_timing_test</tt></a>
-    thirty_years_among_the_dead_preproc.txt 200 200 2100)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the effect of different underlying
-    data structures (see <a href="pq_design.html#pq_imp">Design::Priority
-    Queues::Implementations</a>).</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NPG">NPG</a>, <a href="#NPM">NPM</a>, and
-    <a href="#NPL">NPL</a> show the results for the native priority
-    queues and <tt>pb_ds</tt> 's priority queues in <a href="pq_performance_tests.html#gcc"><u>g++</u></a>, <a href="pq_performance_tests.html#msvc"><u>msvc++</u></a>, and
-    <a href="pq_performance_tests.html#local"><u>local</u></a>,
-    respectively; Figures <a href="#NBRG">NBRG</a>, <a href="#NBRM">NBRM</a>, and <a href="#NBRL">NBRL</a> show the results
-    for the native priority queues and <tt>pb_ds</tt>'s pairing
-    queues in <a href="pq_performance_tests.html#gcc"><u>g++</u></a>, <a href="pq_performance_tests.html#msvc"><u>msvc++</u></a>, and
-    <a href="pq_performance_tests.html#local"><u>local</u></a>,
-    respectively.</p>
-<div id="NPG_res_div">
-<div id="NPG_gcc">
-<div id="NPG_priority_queue_text_push_pop_timing_test">
-<div id="NPG_pq">
-<div id="NPG_Native_tree_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__and__tt_pop_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPG" id="NPG"><img src="priority_queue_text_push_pop_timing_test_gcc.png" alt="no image" /></a></h6>NPG: Native tree and <tt>pb ds</tt> priority queue <tt>push</tt> and <tt>pop</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_pq_vector-
-<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li>
-<li>
-n_pq_deque-
-<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li>
-<li>
-thin_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>
-</li>
-<li>
-rc_binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a>
-</li>
-<li>
-binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a>
-</li>
-<li>
-binary_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a>
-</li>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NPM_res_div">
-<div id="NPM_msvc">
-<div id="NPM_priority_queue_text_push_pop_timing_test">
-<div id="NPM_pq">
-<div id="NPM_Native_tree_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__and__tt_pop_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPM" id="NPM"><img src="priority_queue_text_push_pop_timing_test_msvc.png" alt="no image" /></a></h6>NPM: Native tree and <tt>pb ds</tt> priority queue <tt>push</tt> and <tt>pop</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_pq_deque-
-<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li>
-<li>
-n_pq_vector-
-<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li>
-<li>
-thin_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>
-</li>
-<li>
-rc_binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a>
-</li>
-<li>
-binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a>
-</li>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-<li>
-binary_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NPL_res_div">
-<div id="NPL_local">
-<div id="NPL_priority_queue_text_push_pop_timing_test">
-<div id="NPL_pq">
-<div id="NPL_Native_tree_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__and__tt_pop_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPL" id= "NPL"><img src="priority_queue_text_push_pop_timing_test_local.png" alt="no image" /></a></h6>NPL: Native tree and <tt>pb ds</tt> priority queue <tt>push</tt> and <tt>pop</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NBRG_res_div">
-<div id="NBRG_gcc">
-<div id="NBRG_pairing_priority_queue_text_push_pop_timing_test">
-<div id="NBRG_pq">
-<div id="NBRG_Native_tree_and__tt_pb_ds_455tt__pairing_priority_queue__tt_push_455tt__and__tt_pop_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NBRG" id="NBRG"><img src="pairing_priority_queue_text_push_pop_timing_test_gcc.png" alt="no image" /></a></h6>NBRG: Native tree and <tt>pb ds</tt> pairing priority queue <tt>push</tt> and <tt>pop</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_pq_vector-
-<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li>
-<li>
-n_pq_deque-
-<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NBRM_res_div">
-<div id="NBRM_msvc">
-<div id="NBRM_pairing_priority_queue_text_push_pop_timing_test">
-<div id="NBRM_pq">
-<div id="NBRM_Native_tree_and__tt_pb_ds_455tt__pairing_priority_queue__tt_push_455tt__and__tt_pop_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NBRM" id="NBRM"><img src="pairing_priority_queue_text_push_pop_timing_test_msvc.png" alt="no image" /></a></h6>NBRM: Native tree and <tt>pb ds</tt> pairing priority queue <tt>push</tt> and <tt>pop</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_pq_deque-
-<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li>
-<li>
-n_pq_vector-
-<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NBRL_res_div">
-<div id="NBRL_local">
-<div id="NBRL_pairing_priority_queue_text_push_pop_timing_test">
-<div id="NBRL_pq">
-<div id="NBRL_Native_tree_and__tt_pb_ds_455tt__pairing_priority_queue__tt_push_455tt__and__tt_pop_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NBRL" id= "NBRL"><img src="pairing_priority_queue_text_push_pop_timing_test_local.png" alt="no image" /></a></h6>NBRL: Native tree and <tt>pb ds</tt> pairing priority queue <tt>push</tt> and <tt>pop</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>These results are very similar to <a href="priority_queue_text_push_timing_test.html">Priority Queue Text
-    <tt>push</tt> Timing Test</a>. As stated there, pairing heaps
-    (<a href="priority_queue.html"><tt>priority_queue</tt></a> with
-    <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>)
-    are most suited for <tt>push</tt> and <tt>pop</tt> sequences of
-    non-primitive types such as strings. Observing these two tests,
-    one can note that a pairing heap outperforms the others in
-    terms of <tt>push</tt> operations, but equals binary heaps
-    (<a href="priority_queue.html"><tt>priority_queue</tt></a> with
-    <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a>) if
-    the number of <tt>push</tt> and <tt>pop</tt> operations is
-    equal. As the number of <tt>pop</tt> operations is at most
-    equal to the number of <tt>push</tt> operations, pairing heaps
-    are better in this case. See <a href="priority_queue_random_int_push_pop_timing_test.html">Priority
-    Queue Random Integer <tt>push</tt> and <tt>pop</tt> Timing
-    Test</a> for a case which is different.</p>
-<p><a href="pq_performance_tests.html#pq_observations">Priority-Queue
-    Performance Tests::Observations</a> discusses this further and
-    summarizes.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_gcc.png
deleted file mode 100644 (file)
index d4886ae..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_local.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_local.png
deleted file mode 100644 (file)
index fd52d5a..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_msvc.png
deleted file mode 100644 (file)
index a572040..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test.html b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test.html
deleted file mode 100644 (file)
index 542eb91..0000000
+++ /dev/null
@@ -1,219 +0,0 @@
-<!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>Priority Queue Text Push Timing Test</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>Priority Queue Text <tt>push</tt> Timing Test</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of values with keys from an
-    arbitrary text ([ <a href="references.html#wickland96thirty">wickland96thirty</a> ]) into
-    a container using <tt>push</tt> . It measures the average time
-    for <tt>push</tt> as a function of the number of values
-    pushed.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_timing.cc"><tt>priority_queue_text_push_timing_test</tt></a>
-    thirty_years_among_the_dead_preproc.txt 200 200 2100)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the effect of different underlying
-    data structures (see <a href="pq_design.html#pq_imp">Design::Priority
-    Queues::Implementations</a>).</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NPG">NPG</a>, <a href="#NPM">NPM</a>, and
-    <a href="#NPL">NPL</a> show the results for the native priority
-    queues and <tt>pb_ds</tt> 's priority queues in <a href="pq_performance_tests.html#gcc"><u>g++</u></a>, <a href="pq_performance_tests.html#msvc"><u>msvc++</u></a>, and
-    <a href="pq_performance_tests.html#local"><u>local</u></a>,
-    respectively; Figures <a href="#NBRG">NBRG</a>, <a href="#NBRM">NBRM</a>, and <a href="#NBRL">NBRL</a> shows the
-    results for the binary-heap based native priority queues and
-    <tt>pb_ds</tt>'s pairing-heap priority queues in <a href="pq_performance_tests.html#gcc"><u>g++</u></a>, <a href="pq_performance_tests.html#msvc"><u>msvc++</u></a>, and
-    <a href="pq_performance_tests.html#local"><u>local</u></a>,
-    respectively</p>
-<div id="NPG_res_div">
-<div id="NPG_gcc">
-<div id="NPG_priority_queue_text_push_timing_test">
-<div id="NPG_pq">
-<div id="NPG_Native_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPG" id="NPG"><img src="priority_queue_text_push_timing_test_gcc.png" alt="no image" /></a></h6>NPG: Native and <tt>pb ds</tt> priority queue <tt>push</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_pq_vector-
-<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li>
-<li>
-n_pq_deque-
-<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li>
-<li>
-binary_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a>
-</li>
-<li>
-rc_binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a>
-</li>
-<li>
-thin_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>
-</li>
-<li>
-binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a>
-</li>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NPM_res_div">
-<div id="NPM_msvc">
-<div id="NPM_priority_queue_text_push_timing_test">
-<div id="NPM_pq">
-<div id="NPM_Native_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPM" id="NPM"><img src="priority_queue_text_push_timing_test_msvc.png" alt="no image" /></a></h6>NPM: Native and <tt>pb ds</tt> priority queue <tt>push</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_pq_deque-
-<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li>
-<li>
-rc_binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a>
-</li>
-<li>
-binary_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a>
-</li>
-<li>
-binomial_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a>
-</li>
-<li>
-n_pq_vector-
-<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-<li>
-thin_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NPL_res_div">
-<div id="NPL_local">
-<div id="NPL_priority_queue_text_push_timing_test">
-<div id="NPL_pq">
-<div id="NPL_Native_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPL" id= "NPL"><img src="priority_queue_text_push_timing_test_local.png" alt="no image" /></a></h6>NPL: Native and <tt>pb ds</tt> priority queue <tt>push</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NBRG_res_div">
-<div id="NBRG_gcc">
-<div id="NBRG_pairing_priority_queue_text_push_timing_test">
-<div id="NBRG_pq">
-<div id="NBRG_Native_and__tt_pb_ds_455tt__pairing_priority_queue__tt_push_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NBRG" id="NBRG"><img src="pairing_priority_queue_text_push_timing_test_gcc.png" alt="no image" /></a></h6>NBRG: Native and <tt>pb ds</tt> pairing priority queue <tt>push</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_pq_vector-
-<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li>
-<li>
-n_pq_deque-
-<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li>
-<li>
-thin_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>
-</li>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NBRM_res_div">
-<div id="NBRM_msvc">
-<div id="NBRM_pairing_priority_queue_text_push_timing_test">
-<div id="NBRM_pq">
-<div id="NBRM_Native_and__tt_pb_ds_455tt__pairing_priority_queue__tt_push_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NBRM" id="NBRM"><img src="pairing_priority_queue_text_push_timing_test_msvc.png" alt="no image" /></a></h6>NBRM: Native and <tt>pb ds</tt> pairing priority queue <tt>push</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_pq_deque-
-<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li>
-<li>
-n_pq_vector-
-<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li>
-<li>
-pairing_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>
-</li>
-<li>
-thin_heap-
-<a href="priority_queue.html"><tt>priority_queue</tt></a>
- with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NBRL_res_div">
-<div id="NBRL_local">
-<div id="NBRL_pairing_priority_queue_text_push_timing_test">
-<div id="NBRL_pq">
-<div id="NBRL_Native_and__tt_pb_ds_455tt__pairing_priority_queue__tt_push_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NBRL" id= "NBRL"><img src="pairing_priority_queue_text_push_timing_test_local.png" alt="no image" /></a></h6>NBRL: Native and <tt>pb ds</tt> pairing priority queue <tt>push</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>Pairing heaps (<a href="priority_queue.html"><tt>priority_queue</tt></a> with
-    <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>)
-    are the most suited for sequences of <tt>push</tt> and
-    <tt>pop</tt> operations of non-primitive types (<i>e.g.</i>
-<tt>std::string</tt>s). (see also <a href="priority_queue_text_push_pop_timing_test.html">Priority Queue
-    Text <tt>push</tt> and <tt>pop</tt> Timing Test</a>.) They are
-    less constrained than binomial heaps, <i>e.g.</i>, and since
-    they are node-based, they outperform binary heaps. (See
-    <a href="priority_queue_random_int_push_timing_test.html">Priority
-    Queue Random Integer <tt>push</tt> Timing Test</a> for the case
-    of primitive types.)</p>
-<p>The STL's priority queues do not seem to perform well in
-    this case: the <tt>std::vector</tt> implementation needs to
-    perform a logarithmic sequence of string operations for each
-    operation, and the deque implementation is possibly hampered by
-    its need to manipulate a relatively-complex type (deques
-    support a <i>O(1)</i> <tt>push_front</tt>, even though it is
-    not used by <tt>std::priority_queue</tt>.)</p>
-<p><a href="pq_performance_tests.html#pq_observations">Priority-Queue
-    Performance Tests::Observations</a> discusses this further and
-    summarizes.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test_gcc.png
deleted file mode 100644 (file)
index 8895f50..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test_local.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test_local.png
deleted file mode 100644 (file)
index 18cca76..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test_msvc.png
deleted file mode 100644 (file)
index ff39ca3..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/quadratic_probe_fn.html b/libstdc++-v3/doc/html/ext/pb_ds/quadratic_probe_fn.html
deleted file mode 100644 (file)
index 00367da..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-<!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>quadratic_probe_fn Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>quadratic_probe_fn</tt> Interface</h1>
-
-    <p>A probe sequence policy using square increments.</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="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>
-    </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>
-<b>void</b>
-  swap
-  (<span class=
-"c2"><tt>quadratic_probe_fn</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Swaps content.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link6" id="link6">Protected Methods</a></h2>
-
-    <h3><a name="link7" id="link7">Offset 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>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a>
-  <b>operator</b>()
-  (<a href=
-"#size_type55424436"><tt>size_type</tt></a> i) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the <span class="c1"><tt>i</tt></span>-th
-          offset from the hash value.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/random_int_find_find_timing_test_tree_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/random_int_find_find_timing_test_tree_gcc.png
deleted file mode 100644 (file)
index 6196270..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/random_int_find_find_timing_test_tree_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/random_int_find_find_timing_test_tree_local.png b/libstdc++-v3/doc/html/ext/pb_ds/random_int_find_find_timing_test_tree_local.png
deleted file mode 100644 (file)
index dd7c184..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/random_int_find_find_timing_test_tree_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/random_int_find_find_timing_test_tree_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/random_int_find_find_timing_test_tree_msvc.png
deleted file mode 100644 (file)
index 2206cef..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/random_int_find_find_timing_test_tree_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/range_invalidation_guarantee.html b/libstdc++-v3/doc/html/ext/pb_ds/range_invalidation_guarantee.html
deleted file mode 100644 (file)
index 7bfba19..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<!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>range_invalidation_guarantee Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>range_invalidation_guarantee</tt> Interface</h1>
-
-    <p>Signifies an invalidation guarantee that includes all those
-    of its base, and additionally, that any range-type iterator
-    (including the returns of begin() and end()) is in the correct
-    relative positions to other range-type iterators as long as its
-    corresponding entry has not be erased, regardless of
-    modifications to the container object.</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="point_invalidation_guarantee.html"><span class=
-"c2"><tt>point_invalidation_guarantee</tt></span></a>
-</pre>
-        </td>
-
-        <td>
-          <p>public</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/rationale_null_node_updator.png b/libstdc++-v3/doc/html/ext/pb_ds/rationale_null_node_updator.png
deleted file mode 100644 (file)
index 4387489..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/rationale_null_node_updator.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/rb_tree_tag.html b/libstdc++-v3/doc/html/ext/pb_ds/rb_tree_tag.html
deleted file mode 100644 (file)
index 2adbd09..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<!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>rb_tree_tag Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>rb_tree_tag</tt> Interface</h1>
-
-    <p>Red-black tree 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="tree_tag.html"><span class=
-"c2"><tt>tree_tag</tt></span></a>
-</pre>
-        </td>
-
-        <td>
-          <p>public</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/rc_binomial_heap_tag.html b/libstdc++-v3/doc/html/ext/pb_ds/rc_binomial_heap_tag.html
deleted file mode 100644 (file)
index 1a4ba9f..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<!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>rc_binomial_heap_tag Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>rc_binomial_heap_tag</tt> Interface</h1>
-
-    <p>Redundant-counter 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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/references.html b/libstdc++-v3/doc/html/ext/pb_ds/references.html
deleted file mode 100644 (file)
index 064e924..0000000
+++ /dev/null
@@ -1,258 +0,0 @@
-<!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>References</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1>References</h1>
-
-    <ol>
-      <li>[<a name="abrahams97exception" id=
-      "abrahams97exception">abrahams97exception</a>] Dave Abrahams,
-      STL Exception Handling Contract, <a href=
-      "http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/1997/N1075.pdf">
-      http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/1997/N1075.pdf</a></li>
-
-      <li>[<a name="alexandrescu01modern" id=
-      "alexandrescu01modern">alexandrescu01modern</a>] Andrei
-      Alexandrescu, <i>Modern C++ Design: Generic Programming and
-      Design Patterns Applied</i>, Addison-Wesley Publishing
-      Company, 2001</li>
-
-      <li>[<a name="andrew04mtf" id="andrew04mtf">andrew04mtf</a>]
-      K. Andrew and D. Gleich, "MTF, Bit, and COMB: A Guide to
-      Deterministic and Randomized Algorithms for the List Update
-      Problem"</li>
-
-      <li>[<a name="austern00noset" id=
-      "austern00noset">austern00noset</a>] Matthew Austern, "Why
-      You shouldn't use <tt>set</tt> - and What You Should Use
-      Instead", C++ Report, April, 2000</li>
-
-      <li>[<a name="austern01htprop" id=
-      "austern01htprop">austern01htprop</a>] Matthew Austern, "A
-      Proposal to Add Hashtables to the Standard Library", <a href=
-      "http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2001/n1326l.html">
-      http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2001/n1326l.html</a></li>
-
-      <li>[<a name="austern98segmented" id=
-      "austern98segmented">austern98segmented</a>] Matthew Austern,
-      "Segmented iterators and hierarchical algorithms", Generic
-      Programming, April 1998, pp. 80-90</li>
-
-      <li>[<a name="boost_timer" id="boost_timer">boost_timer</a>],
-      "Boost timer library", <a href=
-      "http://www.boost.org/">http://www.boost.org</a> by Beman
-      Dawes</li>
-
-      <li>[<a name="boost_pool" id="boost_pool">boost_pool</a>],
-      "Boost pool library", <a href=
-      "http://www.boost.org/">http://www.boost.org</a> by Stephen
-      Cleary</li>
-
-      <li>[<a name="boost_type_traits" id=
-      "boost_type_traits">boost_type_traits</a>], "Boost
-      <tt>type_traits</tt> library", <a href=
-      "http://www.boost.org/">http://www.boost.org</a> by John
-      Maddock, Steve Cleary, <i>et. al.</i></li>
-
-      <li>[<a name="brodal96priority" id=
-      "brodal96priority">brodal96priority</a>] Gerth Stolting
-      Brodal, <a href=
-      "http://portal.acm.org/citation.cfm?id=313883">Worst-case
-      efficient priority queues</a></li>
-
-      <li>[<a name="bulka99efficient" id=
-      "bulka99efficient">bulka99efficient</a>] D. Bulka, and D.
-      Mayhew, "Efficient C++ Programming Techniques.",
-      Addison-Wesley Publishing Company, Addison-Wesley, 1997</li>
-
-      <li>[<a name="clrs2001" id="clrs2001">clrs2001</a>] T. H.
-      Cormen, C. E., Leiserson, R. L. Rivest, C. and Stein,
-      "Introduction to Algorithms, 2nd ed.", MIT Press, 2001</li>
-
-      <li>[<a name="dinkumware_stl" id=
-      "dinkumware_stl">dinkumware_stl</a>], "Dinkumware C++ Library
-      Reference", <a href=
-      "http://www.dinkumware.com/htm_cpl/index.html">http://www.dinkumware.com/htm_cpl/index.html</a></li>
-
-      <li>[<a name="dubhashi98neg" id=
-      "dubhashi98neg">dubhashi98neg</a>] D. Dubashi, and D. Ranjan,
-      "Balls and bins: A study in negative dependence.", Random
-      Structures and Algorithms 13, 2 (1998), 99-124</li>
-
-      <li>[<a name="fagin79extendible" id=
-      "fagin79extendible">fagin79extendible</a>] R. Fagin, J.
-      Nievergelt, N. Pippenger, and H. R. Strong, "Extendible
-      hashing - a fast access method for dynamic files", ACM Trans.
-      Database Syst. 4, 3 (1979), 315-344</li>
-
-      <li>[<a name="filliatre2000ptset" id=
-      "filliatre2000ptset">filliatre2000ptset</a>], J. C.
-      Filliatre, "Ptset: Sets of integers implemented as Patricia
-      trees", <a href=
-      "http://www.lri.fr/~filliatr/ftp/ocaml/misc/ptset.ml">http://www.lri.fr/~filliatr/ftp/ocaml/misc/ptset.ml</a></li>
-
-      <li>[<a name="fredman86pairing" id=
-      "fredman86pairing">fredman86pairing</a>], M. L. Fredman, R
-      Sedgewick, D. D. Sleator, R. E. Tarjan, <a href=
-      "http://www.cs.cmu.edu/~sleator/papers/pairing-heaps.pdf">The
-      pairing heap: a new form of self-adjusting heap</a></li>
-
-      <li>[<a name="gamma95designpatterns" id=
-      "gamma95designpatterns">gamma95designpatterns</a>] E. Gamma,
-      R. Helm, R. Johnson, and J. Vlissides, "Design Patterns -
-      Elements of Reusable Object-Oriented Software",
-      Addison-Wesley Publishing Company, Addison-Wesley, 1995</li>
-
-      <li>[<a name="garg86order" id="garg86order">garg86order</a>]
-      A. K. Garg and C. C. Gotlieb, "Order-preserving key
-      transformations", Trans. Database Syst. 11, 2 (1986),
-      213-234</li>
-
-      <li>[<a name="hyslop02making" id=
-      "hyslop02making">hyslop02making</a>] J. Hyslop, and H.
-      Sutter, "Making a real hash of things", C++ Report, May
-      2002</li>
-
-      <li>[<a name="jossutis01stl" id=
-      "jossutis01stl">jossutis01stl</a>] N. M. Jossutis, "The C++
-      Standard Library - A Tutorial and Reference", Addison-Wesley
-      Publishing Company, Addison-Wesley, 2001</li>
-
-      <li>[<a name="kt99fat_heaps" id=
-      "kt99fat_heaps">kt99fat_heas</a>] Haim Kaplan and Robert E.
-      Tarjan, <a href=
-      "http://www.cs.princeton.edu/research/techreps/TR-597-99">New
-      Heap Data Structures</a></li>
-
-      <li>[<a name="kleft00sets" id="kleft00sets">kleft00sets</a>]
-      Klaus Kleft and Angelika Langer, "Are Set Iterators Mutable
-      or Immutable?", C/C++ Users Jornal, October 2000</li>
-
-      <li>[<a name="knuth98sorting" id=
-      "knuth98sorting">knuth98sorting</a>] D. E. Knuth, "The Art of
-      Computer Programming - Sorting and Searching", Addison-Wesley
-      Publishing Company, Addison-Wesley, 1998</li>
-
-      <li>[<a name="liskov98data" id=
-      "liskov98data">liskov98data</a>] B. Liskov, "Data abstraction
-      and hierarchy", SIGPLAN Notices 23, 5 (May 1998)</li>
-
-      <li>[<a name="litwin80lh" id="litwin80lh">litwin80lh</a>] W.
-      Litwin, "Linear hashing: A new tool for file and table
-      addressing", Proceedings of International Conference on Very
-      Large Data Bases (June 1980), pp. 212-223</li>
-
-      <li>[<a name="maverik_lowerbounds" id=
-      "maverik_lowerbounds">maverik_lowerbounds</a>] Maverik Woo,
-      <a href=
-      "http://magic.aladdin.cs.cmu.edu/2005/08/01/deamortization-part-2-binomial-heaps/">
-      Deamortization - Part 2: Binomial Heaps</a></li>
-
-      <li>[<a name="metrowerks_stl" id=
-      "metrowerks_stl">metrowerks_stl</a>], "Metrowerks CodeWarrior
-      Pro 7 MSL C++ Reference Manual",</li>
-
-      <li>[<a name="meyers96more" id=
-      "meyers96more">meyers96more</a>] S. Meyers, "More Effective
-      C++: 35 New Ways to Improve Your Programs and Designs - 2nd
-      ed.", Addison-Wesley Publishing Company, Addison-Wesley,
-      1996</li>
-
-      <li>[<a name="meyers00nonmember" id=
-      "meyers00nonmember">meyers00nonmember</a>] S. Meyers, "How
-      Non-Member Functions Improve Encapsulation", C/C++ Users
-      Journal, 2000</li>
-
-      <li>[<a name="meyers01stl" id="meyers01stl">meyers01stl</a>]
-      S. Meyers, "Effective STL: 50 Specific Ways to Improve Your
-      Use of the Standard Template Library", Addison-Wesley
-      Publishing Company, Addison-Wesley, 2001</li>
-
-      <li>[<a name="meyers02both" id=
-      "meyers02both">meyers02both</a>] S. Meyers, "Class Template,
-      Member Template - or Both?", C/C++ Users Journal, 2003</li>
-
-      <li>[<a name="motwani95random" id=
-      "motwani95random">motwani95random</a>] R. Motwani, and P.
-      Raghavan, "Randomized Algorithms", Cambridge University
-      Press</li>
-
-      <li>[<a name="mscom" id="mscom">mscom</a>] <a href=
-      "http://www.microsoft.com/com">COM: Component Model Object
-      Technologies</a></li>
-
-      <li>[<a name="musser95rationale" id=
-      "musser95rationale">musser95rationale</a>], David R. Musser,
-      "Rationale for Adding Hash Tables to the C++ Standard
-      Template Library"</li>
-
-      <li>[<a name="musser96stltutorial" id=
-      "musser96stltutorial">musser96stltutorial</a>] D. R. Musser
-      and A. Saini, "STL Tutorial and Reference Guide",
-      Addison-Wesley Publishing Company, Addison-Wesley, 1996</li>
-
-      <li>[<a name="nelson96stlpq" id=
-      "nelson96stlpq">nelson96stlpql</a>] Mark Nelson, <a href=
-      "http://www.dogma.net/markn/articles/pq_stl/priority.htm">Priority
-      Queues and the STL</a>, Dr. Dobbs Journal, January, 1996</li>
-
-      <li>[<a name="okasaki98mereable" id=
-      "okasaki98mereable">okasaki98mereable</a>] C. Okasaki and A.
-      Gill, "Fast mergeable integer maps", In Workshop on ML, pages
-      77--86, September 1998. 95</li>
-
-      <li>[<a name="sgi_stl" id="sgi_stl">sgi_stl</a>] SGI,
-      "Standard Template Library Programmer's Guide", <a href=
-      "http://www.sgi.com/tech/stl/">http://www.sgi.com/tech/stl</a></li>
-
-      <li>[<a name="select_man" id="select_man">select_man</a>]
-      <a href=
-      "http://www.scit.wlv.ac.uk/cgi-bin/mansec?3C+select"><tt>select</tt>
-      man page.</a></li>
-
-      <li>[<a name="sleator84amortized" id=
-      "sleator84amortized">sleator84amortized</a>] D. D. Sleator
-      and R. E. Tarjan, "Amortized Efficiency of List Update
-      Problems", ACM Symposium on Theory of Computing, 1984</li>
-
-      <li>[<a name="sleator85self" id=
-      "sleator85self">sleator85self</a>] D. D. Sleator and R. E.
-      Tarjan, "Self-Adjusting Binary Search Trees", ACM Symposium
-      on Theory of Computing, 1985</li>
-
-      <li>[<a name="stepanov94standard" id=
-      "stepanov94standard">stepanov94standard</a>] A. A. Stepanov
-      and M. Lee", "The Standard Template Library"</li>
-
-      <li>[<a name="stroustrup97cpp" id=
-      "stroustrup97cpp">stroustrup97cpp</a>] Bjarne Stroustrup,
-      <i>The C++ Programming Langugage -3rd ed.</i>, Addison-Wesley
-      Publishing Company,Reading, MA, USA, 1997</li>
-
-      <li>[<a name="vandevoorde2002cpptemplates" id=
-      "vandevoorde2002cpptemplates">vandevoorde2002cpptemplates</a>]
-      D. Vandevoorde, and N. M. Josuttis, "C++ Templates: The
-      Complete Guide", Addison-Wesley Publishing Company,
-      Addison-Wesley, 2002</li>
-
-      <li>[<a name="wickland96thirty" id=
-      "wickland96thirty">wickland96thirty</a>] C. A. Wickland,
-      "Thirty Years Among the Dead", National Psychological
-      Institute, Los Angeles, 1996,<a href=
-      "http://myweb.wvnet.edu/~gsa00121/books/amongdead30.zip">http://myweb.wvnet.edu/gsa00121/books/amongdead30.zip</a></li>
-    </ol>
-    <hr />
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/resize_error.html b/libstdc++-v3/doc/html/ext/pb_ds/resize_error.html
deleted file mode 100644 (file)
index 6aab88c..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-<!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>resize_error Interface</title>
-<meta http-equiv="Content-Type" content=
- "text/html; charset=us-ascii" />
-</head>
-
-<body>
-<div id="page">
-<h1><tt>resize_error</tt> Interface</h1>
-
-<p>A container cannot be resized.</p>
-
-<p>Exception thrown when a size policy cannot supply an
-   adequate size for an external resize.</p>
-
-   <p>Defined in: <a href=
-                  "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/exception.hpp"><tt>exception.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="exceptions.html"><span class=
-                           "c2"><tt>resize_error</tt></span></a>
-   </pre>
-   </td>
-
-   <td>
-   <p>public</p>
-   </td>
-   </tr>
-   </table>
-   </div>
-   </body>
-   </html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/resize_policy_cd.png b/libstdc++-v3/doc/html/ext/pb_ds/resize_policy_cd.png
deleted file mode 100644 (file)
index 338e33c..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/resize_policy_cd.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/restoring_node_invariants.png b/libstdc++-v3/doc/html/ext/pb_ds/restoring_node_invariants.png
deleted file mode 100644 (file)
index 33ba84b..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/restoring_node_invariants.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/sample_probe_fn.html b/libstdc++-v3/doc/html/ext/pb_ds/sample_probe_fn.html
deleted file mode 100644 (file)
index 51dccce..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-<!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>sample_probe_fn Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>sample_probe_fn</tt> Interface</h1>
-
-    <p>A sample probe policy.</p>
-
-    <p>This class serves to show the interface a probe functor
-    needs to support.</p>
-
-    <p>Defined in: <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp"><tt>sample_probe_fn.hpp</tt></a></p>
-
-    <h2><a name="link1" id="link1">Public Types and
-    Constants</a></h2>
-
-    <h3><a name="link2" id="link2">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>
-size_t, e.g.
-</pre>
-        </td>
-
-        <td>
-          <p>Size type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link3" id="link3">Public Methods</a></h2>
-
-    <h3><a name="link4" id="link4">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>
-  sample_probe_fn
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Default constructor.</p>
-
-          <p>Must be default constructable.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-  sample_probe_fn
-  (<b>const</b> sample_probe_fn &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Copy constructor.</p>
-
-          <p>Must be copy constructable.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <b>void</b>
-  swap
-  (sample_probe_fn &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Swaps content.</p>
-
-          <p>Must be swappable (if there is such a word).</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link5" id="link5">Protected Methods</a></h2>
-
-    <h3><a name="link6" id="link6">Offset 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>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a>
-  <b>operator</b>()
-  (const_key_reference r_key,
-    <a href=
-"#size_type55424436"><tt>size_type</tt></a> i) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the <span class="c1"><tt>i</tt></span>-th
-          offset from the hash value of some key <span class=
-          "c1"><tt>r_key</tt></span>.</p>
-
-          <p><tt>size_type</tt> is the size type on which the
-          functor operates.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/sample_range_hashing.html b/libstdc++-v3/doc/html/ext/pb_ds/sample_range_hashing.html
deleted file mode 100644 (file)
index 8505187..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-<!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>sample_range_hashing Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>sample_range_hashing</tt> Interface</h1>
-
-    <p>A sample range-hashing functor.</p>
-
-    <p>This class serves to show the interface a range-hashing
-    functor needs to support.</p>
-
-    <p>Defined in: <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp"><tt>sample_range_hashing.hpp</tt></a></p>
-
-    <h2><a name="link1" id="link1">Public Types and
-    Constants</a></h2>
-
-    <h3><a name="link2" id="link2">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>
-size_t, e.g.
-</pre>
-        </td>
-
-        <td>
-          <p>Size type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link3" id="link3">Public Methods</a></h2>
-
-    <h3><a name="link4" id="link4">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>
-  sample_range_hashing
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Default constructor.</p>
-
-          <p>Must be default constructable.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-  sample_range_hashing
-  (<b>const</b> sample_range_hashing &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Copy constructor.</p>
-
-          <p>Must be copy constructable.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <b>void</b>
-  swap
-  (sample_range_hashing &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Swaps content.</p>
-
-          <p>Must be swappable (if there is such a word).</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link5" id="link5">Protected Methods</a></h2>
-
-    <h3><a name="link6" id="link6">Notification 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> 
-  notify_resized
-  (<a href="#size_type55424436"><tt>size_type</tt></a> size)
-</pre>
-        </td>
-
-        <td>
-          <p>Notifies the policy object that the container's size
-          has changed to <span class="c1"><tt>size</tt></span>.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link7" id="link7">Operators.</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>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a>
-  <b>operator</b>()
-  (<a href=
-"#size_type55424436"><tt>size_type</tt></a> hash) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Transforms the hash value <span class=
-          "c1"><tt>hash</tt></span> into a ranged-hash value.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/sample_ranged_hash_fn.html b/libstdc++-v3/doc/html/ext/pb_ds/sample_ranged_hash_fn.html
deleted file mode 100644 (file)
index 834f496..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-<!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>sample_ranged_hash_fn Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>sample_ranged_hash_fn</tt> Interface</h1>
-
-    <p>A sample ranged-hash functor.</p>
-
-    <p>This class serves to show the interface a ranged-hash
-    functor needs to support.</p>
-
-    <p>Defined in: <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp"><tt>sample_ranged_hash_fn.hpp</tt></a></p>
-
-    <h2><a name="link1" id="link1">Public Types and
-    Constants</a></h2>
-
-    <h3><a name="link2" id="link2">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>
-size_t, e.g.
-</pre>
-        </td>
-
-        <td>
-          <p>Size type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link3" id="link3">Public Methods</a></h2>
-
-    <h3><a name="link4" id="link4">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>
-  sample_ranged_hash_fn
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Default constructor.</p>
-
-          <p>Must be default constructable.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-  sample_ranged_hash_fn
-  (<b>const</b> sample_ranged_hash_fn &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Copy constructor.</p>
-
-          <p>Must be copy constructable.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <b>void</b>
-  swap
-  (sample_ranged_hash_fn &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Swaps content.</p>
-
-          <p>Must be swappable (if there is such a word).</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link5" id="link5">Protected Methods</a></h2>
-
-    <h3><a name="link6" id="link6">Notification 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> 
-  notify_resized
-  (<a href="#size_type55424436"><tt>size_type</tt></a> size)
-</pre>
-        </td>
-
-        <td>
-          <p>Notifies the policy object that the container's size
-          has changed to <span class="c1"><tt>size</tt></span>.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link7" id="link7">Operators.</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>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> 
-  <b>operator</b>()
-  (const_key_reference r_key) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Transforms <span class="c1"><tt>r_key</tt></span> into
-          a position within the table.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/sample_ranged_probe_fn.html b/libstdc++-v3/doc/html/ext/pb_ds/sample_ranged_probe_fn.html
deleted file mode 100644 (file)
index ee1bc06..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-<!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>sample_ranged_probe_fn Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>sample_ranged_probe_fn</tt> Interface</h1>
-
-    <p>A sample ranged-probe functor.</p>
-
-    <p>This class serves to show the interface a ranged-probe
-    functor needs to support.</p>
-
-    <p>Defined in: <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp"><tt>sample_ranged_probe_fn.hpp</tt></a></p>
-
-    <h2><a name="link1" id="link1">Public Types and
-    Constants</a></h2>
-
-    <h3><a name="link2" id="link2">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>
-size_t, e.g.
-</pre>
-        </td>
-
-        <td>
-          <p>Size type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link3" id="link3">Public Methods</a></h2>
-
-    <h3><a name="link4" id="link4">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>
-  sample_ranged_probe_fn
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Default constructor.</p>
-
-          <p>Must be default constructable.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-  sample_ranged_probe_fn
-  (<b>const</b> sample_ranged_probe_fn &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Copy constructor.</p>
-
-          <p>Must be copy constructable.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <b>void</b>
-  swap
-  (sample_ranged_probe_fn &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Swaps content.</p>
-
-          <p>Must be swappable (if there is such a word).</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link5" id="link5">Protected Methods</a></h2>
-
-    <h3><a name="link6" id="link6">Notification 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> 
-  notify_resized
-  (<a href="#size_type55424436"><tt>size_type</tt></a> size)
-</pre>
-        </td>
-
-        <td>
-          <p>Notifies the policy object that the container's size
-          has changed to <span class="c1"><tt>size</tt></span>.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link7" id="link7">Operators.</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>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> 
-  <b>operator</b>()
-  (const_key_reference r_key,
-    size_t hash,
-    <a href=
-"#size_type55424436"><tt>size_type</tt></a> i) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Transforms the <tt><b>const</b></tt> key reference
-          <span class="c1"><tt>r_key</tt></span> <span class=
-          "c1"><tt>into the </tt></span><span class=
-          "c1"><tt>i-th </tt></span>position within the table. This
-          method <span class="c1"><tt>i</tt></span>s called for
-          each collision within the probe sequence.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/sample_resize_policy.html b/libstdc++-v3/doc/html/ext/pb_ds/sample_resize_policy.html
deleted file mode 100644 (file)
index 61ff09b..0000000
+++ /dev/null
@@ -1,413 +0,0 @@
-<!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>sample_resize_policy Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>sample_resize_policy</tt> Interface</h1>
-
-    <p>A sample resize policy.</p>
-
-    <p>This class serves to show the interface a resize policy
-    needs to support.</p>
-
-    <p>Defined in: <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp"><tt>sample_resize_policy.hpp</tt></a></p>
-
-    <h2><a name="link1" id="link1">Public Types and
-    Constants</a></h2>
-
-    <h3><a name="link2" id="link2">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>
-size_t, e.g.
-</pre>
-        </td>
-
-        <td>
-          <p>Size type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link3" id="link3">Public Methods</a></h2>
-
-    <h3><a name="link4" id="link4">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>
-  sample_resize_policy
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Default constructor.</p>
-
-          <p>Must be default constructable.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-  sample_range_hashing
-  (<b>const</b> sample_resize_policy &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Copy constructor.</p>
-
-          <p>Must be copy constructable.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <b>void</b>
-  swap
-  (sample_resize_policy &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Swaps content.</p>
-
-          <p>Must be swappable (if there is such a word).</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link5" id="link5">Protected Methods</a></h2>
-
-    <h3><a name="link6" id="link6">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="link7" id="link7">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="link8" id="link8">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="link9" id="link9">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_e)
-</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_e)
-</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="link10" id="link10">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 to <span class=
-          "c1"><tt>new_size</tt></span>.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link11" id="link11">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>
-<a href="#size_type55424436"><tt>size_type</tt></a>
-  get_new_size
-  (<a href="#size_type55424436"><tt>size_type</tt></a> size, 
-    <a href=
-"#size_type55424436"><tt>size_type</tt></a> num_used_e) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Queries what the new <span class=
-          "c1"><tt>size</tt></span> should be.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/sample_resize_trigger.html b/libstdc++-v3/doc/html/ext/pb_ds/sample_resize_trigger.html
deleted file mode 100644 (file)
index 5c8173c..0000000
+++ /dev/null
@@ -1,462 +0,0 @@
-<!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>sample_resize_trigger Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>sample_resize_trigger</tt> Interface</h1>
-
-    <p>A sample resize trigger policy.</p>
-
-    <p>This class serves to show the interface a trigger policy
-    needs to support.</p>
-
-    <p>Defined in: <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp"><tt>
-    sample_resize_trigger.hpp</tt></a></p>
-
-    <h2><a name="link1" id="link1">Public Types and
-    Constants</a></h2>
-
-    <h3><a name="link2" id="link2">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>
-size_t, e.g.
-</pre>
-        </td>
-
-        <td>
-          <p>Size type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link3" id="link3">Public Methods</a></h2>
-
-    <h3><a name="link4" id="link4">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>
-  sample_resize_trigger
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Default constructor.</p>
-
-          <p>Must be default constructable.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-  sample_range_hashing
-  (<b>const</b> sample_resize_trigger &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Copy constructor.</p>
-
-          <p>Must be copy constructable.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <b>void</b>
-  swap
-  (sample_resize_trigger &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Swaps content.</p>
-
-          <p>Must be swappable (if there is such a word).</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link5" id="link5">Protected Methods</a></h2>
-
-    <h3><a name="link6" id="link6">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="link7" id="link7">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="link8" id="link8">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="link9" id="link9">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. the total number of
-          entries in the table is <span class=
-          "c1"><tt>num_entries</tt></span>.</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="link10" id="link10">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="link11" id="link11">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
-          resize is needed. The actual <span class=
-          "c1"><tt>size</tt></span> of the table is <span class=
-          "c1"><tt>size</tt></span>, and the number of entries in
-          it is <span class="c1"><tt>num_entries</tt></span>.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link12" id="link12">Private Methods</a></h2>
-
-    <h3><a name="link13" id="link13">Overrides.</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
-  (<a href="#size_type55424436"><tt>size_type</tt></a> new_size)
-</pre>
-        </td>
-
-        <td>
-          <p>Resizes to <span class=
-          "c1"><tt>new_size</tt></span>.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/sample_size_policy.html b/libstdc++-v3/doc/html/ext/pb_ds/sample_size_policy.html
deleted file mode 100644 (file)
index ebb14d3..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-<!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>sample_size_policy Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>sample_size_policy</tt> Interface</h1>
-
-    <p>A sample size policy.</p>
-
-    <p>This class serves to show the interface a size policy needs
-    to support.</p>
-
-    <p>Defined in: <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp"><tt>sample_size_policy.hpp</tt></a></p>
-
-    <h2><a name="link1" id="link1">Public Types and
-    Constants</a></h2>
-
-    <h3><a name="link2" id="link2">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>
-size_t, e.g.
-</pre>
-        </td>
-
-        <td>
-          <p>Size type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link3" id="link3">Public Methods</a></h2>
-
-    <h3><a name="link4" id="link4">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>
-  sample_size_policy
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Default constructor.</p>
-
-          <p>Must be default constructable.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-  sample_range_hashing
-  (<b>const</b> sample_size_policy &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Copy constructor.</p>
-
-          <p>Must be copy constructable.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <b>void</b>
-  swap
-  (sample_size_policy &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Swaps content.</p>
-
-          <p>Must be swappable (if there is such a word).</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link5" id="link5">Protected Methods</a></h2>
-
-    <h3><a name="link6" id="link6">Size 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>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a>
-  get_nearest_larger_size
-  (<a href=
-"#size_type55424436"><tt>size_type</tt></a> size) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Given a size <span class="c1"><tt>size</tt></span>,
-          returns a size that is larger.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a>
-  get_nearest_smaller_size
-  (<a href=
-"#size_type55424436"><tt>size_type</tt></a> size) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Given a size <span class="c1"><tt>size</tt></span>,
-          returns a size that is smaller.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/sample_tree_node_update.html b/libstdc++-v3/doc/html/ext/pb_ds/sample_tree_node_update.html
deleted file mode 100644 (file)
index aefd670..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-<!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>sample_tree_node_update Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>sample_tree_node_update</tt> Interface</h1>
-
-    <p>A sample node updater.</p>
-
-    <p>This class serves to show the interface a node update
-    functor needs to support.</p>
-
-    <p>Defined in: <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp"><tt>
-    sample_tree_node_update.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="Const_Node_Iterator1933878761" id=
-"Const_Node_Iterator1933878761"><b>class</b> Const_Node_Iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Const node iterator type.</p>
-        </td>
-
-        <td>-</td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="Node_Iterator4206909839" id=
-"Node_Iterator4206909839"><b>class</b> Node_Iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Node iterator type.</p>
-        </td>
-
-        <td>-</td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="Cmp_Fn294335" id="Cmp_Fn294335"><b>class</b> Cmp_Fn</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Comparison functor.</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">Metadata 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="metadata_type2849297114" id=
-"metadata_type2849297114">metadata_type</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-size_t
-</pre>
-        </td>
-
-        <td>
-          <p>Metadata type.</p>
-
-          <p>This can be any type; size_t is merely an example.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link4" id="link4">Protected Methods</a></h2>
-
-    <h3><a name="link5" id="link5">Conclassors, declassor, 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>
-  sample_tree_node_update
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Default constructor.</p>
-
-          <p>Must be default constructable.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link6" id="link6">Operators.</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>inline</b> <b>void</b>
-  <b>operator</b>()
-  (node_iterator node_it,
-    const_node_iterator end_nd_it) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Updates the rank of a node through a <span class=
-          "c1"><tt>node_iterator</tt></span> <span class=
-          "c1"><tt>node_it</tt></span>; <span class=
-          "c1"><tt>end_nd_it</tt></span> is the end node
-          iterator.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/sample_trie_access_traits.html b/libstdc++-v3/doc/html/ext/pb_ds/sample_trie_access_traits.html
deleted file mode 100644 (file)
index a46c91b..0000000
+++ /dev/null
@@ -1,231 +0,0 @@
-<!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>sample_trie_e_access_traits Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>sample_trie_e_access_traits</tt> Interface</h1>
-
-    <p>A sample trie element-access traits.</p>
-
-    <p>This class serves to show the interface an element- access
-    traits class needs to support.</p>
-
-    <p>Defined in: <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_e_access_traits.hpp">
-    <tt>sample_trie_e_access_traits.hpp</tt></a></p>
-
-    <h2><a name="link1" id="link1">Public Types and
-    Constants</a></h2>
-
-    <h3><a name="link2" id="link2">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>
-size_t, e.g.
-</pre>
-        </td>
-
-        <td>
-          <p>Size type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="key_type10393186" id="key_type10393186">key_type</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-std::string, e.g.
-</pre>
-        </td>
-
-        <td>
-          <p>Key type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="const_key_reference3185471705" id=
-"const_key_reference3185471705">const_key_reference</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-const string &amp;, e.g.
-</pre>
-        </td>
-
-        <td>
-          <p>Const key reference type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link3" id="link3">Element 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>
-string::const_iterator, e.g.
-</pre>
-        </td>
-
-        <td>
-          <p>Element <tt><b>const</b></tt> iterator type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="e_type393186" id="e_type393186">e_type</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-char, e.g.
-</pre>
-        </td>
-
-        <td>
-          <p>Element type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="max_size10483336" id="max_size10483336">max_size</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-4, e.g.
-</pre>
-        </td>
-
-        <td>
-          <p>Number of distinct elements.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link4" id="link4">Public Methods</a></h2>
-
-    <h3><a name="link5" id="link5">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>
-<b>inline</b> <b>static</b> <a href=
-"#const_iterator98626788"><tt>const_iterator</tt></a>
-  begin
-  (<a href=
-"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key)
-</pre>
-        </td>
-
-        <td>
-          <p>Returns a <a href=
-          "#const_iterator98626788"><tt>const_iterator</tt></a> to
-          the first element of <span class=
-          "c1"><tt>r_key</tt></span>.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <b>static</b> <a href=
-"#const_iterator98626788"><tt>const_iterator</tt></a>
-  end
-  (<a href=
-"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key)
-</pre>
-        </td>
-
-        <td>
-          <p>Returns a <a href=
-          "#const_iterator98626788"><tt>const_iterator</tt></a> to
-          the after-last element of <span class=
-          "c1"><tt>r_key</tt></span>.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <b>static</b> <a href=
-"#size_type55424436"><tt>size_type</tt></a>
-  e_pos
-  (<a href="#e_type393186"><tt>e_type</tt></a> e)
-</pre>
-        </td>
-
-        <td>
-          <p>Maps an <span class="c1"><tt>element</tt></span> to a
-          position.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/sample_trie_node_update.html b/libstdc++-v3/doc/html/ext/pb_ds/sample_trie_node_update.html
deleted file mode 100644 (file)
index 61b6b40..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-<!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>sample_trie_node_update Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>sample_trie_node_update</tt> Interface</h1>
-
-    <p>A sample node updater.</p>
-
-    <p>This class serves to show the interface a node update
-    functor needs to support.</p>
-
-    <p>Defined in: <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp"><tt>
-    sample_trie_node_update.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="Const_Node_Iterator1933878761" id=
-"Const_Node_Iterator1933878761"><b>class</b> Const_Node_Iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Const node iterator type.</p>
-        </td>
-
-        <td>-</td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="Node_Iterator4206909839" id=
-"Node_Iterator4206909839"><b>class</b> Node_Iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Node iterator type.</p>
-        </td>
-
-        <td>-</td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="E_Access_Traits686553840" id=
-"E_Access_Traits686553840"><b>class</b> E_Access_Traits</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Comparison functor.</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">Metadata 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="metadata_type2849297114" id=
-"metadata_type2849297114">metadata_type</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-size_t
-</pre>
-        </td>
-
-        <td>
-          <p>Metadata type.</p>
-
-          <p>This can be any type; size_t is merely an example.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link4" id="link4">Protected Methods</a></h2>
-
-    <h3><a name="link5" id="link5">Conclassors, declassor, 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>
-  sample_trie_node_update
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Default constructor.</p>
-
-          <p>Must be default constructable.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link6" id="link6">Operators.</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>inline</b> <b>void</b>
-  <b>operator</b>()
-  (node_iterator node_it,
-    const_node_iterator end_nd_it) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Updates the rank of a node through a <span class=
-          "c1"><tt>node_iterator</tt></span> <span class=
-          "c1"><tt>node_it</tt></span>; <span class=
-          "c1"><tt>end_nd_it</tt></span> is the end node
-          iterator.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/sample_update_policy.html b/libstdc++-v3/doc/html/ext/pb_ds/sample_update_policy.html
deleted file mode 100644 (file)
index 8a286c7..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-<!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>sample_update_policy Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>sample_update_policy</tt> Interface</h1>
-
-    <p>A sample list-update policy.</p>
-
-    <p>This class serves to show the interface a list update
-    functor needs to support.</p>
-
-    <p>Defined in: <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp"><tt>sample_update_policy.hpp</tt></a></p>
-
-    <h2><a name="link1" id="link1">Public Methods</a></h2>
-
-    <h3><a name="link2" id="link2">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>
-  sample_update_policy
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Default constructor.</p>
-
-          <p>Must be default constructable.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-  sample_update_policy
-  (<b>const</b> sample_update_policy &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Copy constructor.</p>
-
-          <p>Must be copy constructable.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <b>void</b>
-  swap
-  (sample_update_policy &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Swaps content.</p>
-
-          <p>Must be swappable (if there is such a word).</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link3" id="link3">Protected Types and
-    Constants</a></h2>
-
-    <h3><a name="link4" id="link4">Metadata 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="metadata_type2849297114" id=
-"metadata_type2849297114">metadata_type</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-Some metadata type.
-</pre>
-        </td>
-
-        <td>
-          <p>Metadata on which this functor operates.</p>
-
-          <p>The <tt><b>class</b></tt> must declare the metadata
-          type on which it operates; the list-update based
-          containers will append to each node an object of this
-          type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link5" id="link5">Protected Methods</a></h2>
-
-    <h3><a name="link6" id="link6">Metadata operations.</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="#metadata_type2849297114"><tt>metadata_type</tt></a>
-  <b>operator</b>()
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Creates a metadata object.</p>
-
-          <p>A list-update based container object will call this
-          method to create a metadata type when a node is
-          created.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>bool</b> 
-  <b>operator</b>()
-  (metadata_reference r_data) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Decides whether a metadata object should be moved to
-          the front of the list. A list-update based containers
-          object will call this method to decide whether to move a
-          node to the front of the list. The method should return
-          <tt><b>true</b></tt> if the node should be moved to the
-          front of the list.</p>
-
-          <p><tt>metadata_reference</tt> is a reference to a
-          <a href=
-          "#metadata_type2849297114"><tt>metadata_type</tt></a>.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/simple_list.png b/libstdc++-v3/doc/html/ext/pb_ds/simple_list.png
deleted file mode 100644 (file)
index 9a05d3f..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/simple_list.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/splay_tree_tag.html b/libstdc++-v3/doc/html/ext/pb_ds/splay_tree_tag.html
deleted file mode 100644 (file)
index 3e6a64b..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<!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>splay_tree_tag Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>splay_tree_tag</tt> Interface</h1>
-
-    <p>Splay tree 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="tree_tag.html"><span class=
-"c2"><tt>tree_tag</tt></span></a>
-</pre>
-        </td>
-
-        <td>
-          <p>public</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tests.html b/libstdc++-v3/doc/html/ext/pb_ds/tests.html
deleted file mode 100644 (file)
index ab5d54b..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<!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>Tests</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1>Tests</h1>
-
-    <p><a href="assoc_tests.html">Associative-Container Tests</a>
-    describes tests for associative containers; <a href=
-    "pq_tests.html">Priority-Queue Tests</a> describes tests for
-    priority queues.</p>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_hash_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_hash_gcc.png
deleted file mode 100644 (file)
index 59247ec..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_hash_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_hash_local.png b/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_hash_local.png
deleted file mode 100644 (file)
index 5364778..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_hash_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_hash_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_hash_msvc.png
deleted file mode 100644 (file)
index 2271645..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_hash_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_tree_like_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_tree_like_gcc.png
deleted file mode 100644 (file)
index 8b6c4f0..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_tree_like_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_tree_like_local.png b/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_tree_like_local.png
deleted file mode 100644 (file)
index 8ec5cfb..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_tree_like_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_tree_like_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_tree_like_msvc.png
deleted file mode 100644 (file)
index dc82a4e..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_tree_like_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/thin_heap_tag.html b/libstdc++-v3/doc/html/ext/pb_ds/thin_heap_tag.html
deleted file mode 100644 (file)
index c441896..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<!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>thin_heap_tag Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>thin_heap_tag</tt> Interface</h1>
-
-    <p>Thin 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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree.html b/libstdc++-v3/doc/html/ext/pb_ds/tree.html
deleted file mode 100644 (file)
index 3202a6e..0000000
+++ /dev/null
@@ -1,516 +0,0 @@
-<!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 Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>tree</tt> Interface</h1>
-
-    <p>A concrete basic tree-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="Cmp_Fn294335" id="Cmp_Fn294335"><b>class</b> Cmp_Fn </a>
-</pre>
-        </td>
-
-        <td>
-          <p>Comparison functor.</p>
-        </td>
-
-        <td>
-          <pre>
-std::less&lt;<a href="#Key2501"><tt>Key</tt></a>&gt;
-</pre>
-        </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><a href="rb_tree_tag.html"><span class=
-        "c2"><tt>rb_tree_tag</tt></span></a></td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="Node_Update841554648" id=
-"Node_Update841554648"><b>template</b>&lt; 
-  <b>typename</b> Const_Node_Iterator, 
-  <b>typename</b> Node_Iterator, 
-  <b>class</b> Cmp_Fn_, 
-  <b>typename</b> Allocator_&gt;
-<b>class</b> Node_Update </a>
-</pre>
-        </td>
-
-        <td>
-          <p>Node updater type.</p>
-
-          <p><a href=
-          "tree_based_containers.html#invariants">Design::Tree-Based
-          Containers::Node Invariants</a> explains this
-          concept.</p>
-        </td>
-
-        <td><a href="null_tree_node_update.html"><span class=
-        "c2"><tt>null_tree_node_update</tt></span></a></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&lt;<b>char</b>&gt;
-</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_tree.html"><span class=
-"c2"><tt>basic_tree</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="cmp_fn394495" id="cmp_fn394495">cmp_fn</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#Cmp_Fn294335"><tt>Cmp_Fn</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Comparison functor type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link5" id="link5">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_node_iterator4205924553" id=
-"const_node_iterator4205924553">const_node_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href=
-"tree_const_node_iterator.html"><span class=
-"c2"><tt>const_node_iterator</tt></span></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Const node iterator.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="node_iterator3431975247" id=
-"node_iterator3431975247">node_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="tree_node_iterator.html"><span class=
-"c2"><tt>node_iterator</tt></span></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Node iterator.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link6" id="link6">Public Methods</a></h2>
-
-    <h3><a name="link7" id="link7">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>
-  tree
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Default constructor.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-  tree
-  (<b>const</b> <a href=
-"#cmp_fn394495"><tt>cmp_fn</tt></a> &amp;r_cmp_fn)
-</pre>
-        </td>
-
-        <td>
-          <p>Constructor taking some policy objects. <span class=
-          "c1"><tt>r_cmp_fn</tt></span> will be copied by the
-          <a href="#Cmp_Fn294335"><tt>Cmp_Fn</tt></a> object of the
-          container object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>template</b>&lt;
-    <b>class</b> It&gt;
-  tree
-  (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>&lt;
-    <b>class</b> It&gt;
-  tree
-  (It first_it, 
-    It last_it,
-    <b>const</b> <a href=
-"#cmp_fn394495"><tt>cmp_fn</tt></a> &amp;r_cmp_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_cmp_fn</tt></span> will be copied by the
-          <a href="#cmp_fn394495"><tt>cmp_fn</tt></a> object of the
-          container object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-  tree
-  (<b>const</b> <span class=
-"c2"><tt>tree</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Copy constructor.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> 
-  ~tree
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Destructor.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<span class="c2"><tt>tree</tt></span> &amp;
-  <b>operator</b>=
-  (<b>const</b> <span class=
-"c2"><tt>tree</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Assignment operator.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>void</b>
-  swap
-  (<span class=
-"c2"><tt>tree</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Swaps content.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link8" id="link8">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="#cmp_fn394495"><tt>cmp_fn</tt></a> &amp;
-  get_cmp_fn
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Access to the <a href=
-          "#cmp_fn394495"><tt>cmp_fn</tt></a> object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>const</b> <a href="#cmp_fn394495"><tt>cmp_fn</tt></a> &amp;
-  get_cmp_fn
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Const access to the <a href=
-          "#cmp_fn394495"><tt>cmp_fn</tt></a> object.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link9" id="link9">Node-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="#node_iterator3431975247"><tt>node_iterator</tt></a>
-  node_begin
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Returns a <a href=
-          "#node_iterator3431975247"><tt>node_iterator</tt></a>
-          corresponding to the node at the root of the tree.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a href=
-"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
-  node_begin
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns a <a href=
-          "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
-          corresponding to the node at the root of the tree.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a href="#node_iterator3431975247"><tt>node_iterator</tt></a>
-  node_end
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Returns a <a href=
-          "#node_iterator3431975247"><tt>node_iterator</tt></a>
-          corresponding to a node just after a leaf of the
-          tree.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a href=
-"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
-  node_end
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns a <a href=
-          "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
-          corresponding to a node just after a leaf of the
-          tree.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_based_containers.html b/libstdc++-v3/doc/html/ext/pb_ds/tree_based_containers.html
deleted file mode 100644 (file)
index 63c7c74..0000000
+++ /dev/null
@@ -1,358 +0,0 @@
-<!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>Tree-Based Containers</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1>Tree Design</h1>
-
-    <h2><a name="overview" id="overview">Overview</a></h2>
-
-    <p>The tree-based container has the following declaration:</p>
-    <pre>
-<b>template</b>&lt;
-    <b>typename</b> Key,
-    <b>typename</b> Mapped,
-    <b>typename</b> Cmp_Fn = std::less&lt;Key&gt;,
-    <b>typename</b> Tag = <a href="rb_tree_tag.html">rb_tree_tag</a>,
-    <b>template</b>&lt;
-        <b>typename</b> Const_Node_Iterator,
-        <b>typename</b> Node_Iterator,
-        <b>typename</b> Cmp_Fn_,
-        <b>typename</b> Allocator_&gt;
-    <b>class</b> Node_Update = <a href=
-"null_tree_node_update.html">null_tree_node_update</a>,
-    <b>typename</b> Allocator = std::allocator&lt;<b>char</b>&gt; &gt;
-<b>class</b> <a href=
-"tree.html">tree</a>;
-</pre>
-
-    <p>The parameters have the following meaning:</p>
-
-    <ol>
-      <li><tt>Key</tt> is the key type.</li>
-
-      <li><tt>Mapped</tt> is the mapped-policy.</li>
-
-      <li><tt>Cmp_Fn</tt> is a key comparison functor</li>
-
-      <li><tt>Tag</tt> specifies which underlying data structure
-      to use.</li>
-
-      <li><tt>Node_Update</tt> is a policy for updating node
-      invariants. This is described in <a href="#invariants">Node
-      Invariants</a>.</li>
-
-      <li><tt>Allocator</tt> is an allocator
-      type.</li>
-    </ol>
-
-    <p>The <tt>Tag</tt> parameter specifies which underlying
-    data structure to use. Instantiating it by <a href=
-    "rb_tree_tag.html"><tt>rb_tree_tag</tt></a>, <a href=
-    "splay_tree_tag.html"><tt>splay_tree_tag</tt></a>, or
-    <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a>,
-    specifies an underlying red-black tree, splay tree, or
-    ordered-vector tree, respectively; any other tag is illegal.
-    Note that containers based on the former two contain more types
-    and methods than the latter (<i>e.g.</i>,
-    <tt>reverse_iterator</tt> and <tt>rbegin</tt>), and different
-    exception and invalidation guarantees.</p>
-
-    <h2><a name="invariants" id="invariants">Node
-    Invariants</a></h2>
-
-    <p>Consider the two trees in Figures <a href=
-    "#node_invariants">Some node invariants</a> A and B. The first
-    is a tree of floats; the second is a tree of pairs, each
-    signifying a geometric line interval. Each element in a tree is refered to as a node of the tree. Of course, each of
-    these trees can support the usual queries: the first can easily
-    search for <tt>0.4</tt>; the second can easily search for
-    <tt>std::make_pair(10, 41)</tt>.</p>
-
-    <p>Each of these trees can efficiently support other queries.
-    The first can efficiently determine that the 2rd key in the
-    tree is <tt>0.3</tt>; the second can efficiently determine
-    whether any of its intervals overlaps
-    <tt>std::make_pair(29,42)</tt> (useful in geometric
-    applications or distributed file systems with leases, for
-    example). (See <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>
-    and <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>
-    for examples.) It should be noted that an <tt>std::set</tt> can
-    only solve these types of problems with linear complexity.</p>
-
-    <p>In order to do so, each tree stores some <i>metadata</i> in
-    each node, and maintains node invariants <a href=
-    "references.html#clrs2001">clrs2001</a>]. The first stores in
-    each node the size of the sub-tree rooted at the node; the
-    second stores at each node the maximal endpoint of the
-    intervals at the sub-tree rooted at the node.</p>
-
-    <h6 class="c1"><a name="node_invariants" id=
-    "node_invariants"><img src="node_invariants.png" alt=
-    "no image" /></a></h6>
-
-    <h6 class="c1">Some node invariants.</h6>
-
-    <p>Supporting such trees is difficult for a number of
-    reasons:</p>
-
-    <ol>
-      <li>There must be a way to specify what a node's metadata
-      should be (if any).</li>
-
-      <li>Various operations can invalidate node invariants.
-      <i>E.g.</i>, Figure <a href=
-      "#node_invariant_invalidations">Invalidation of node
-      invariants</a> shows how a right rotation, performed on A,
-      results in B, with nodes <i>x</i> and <i>y</i> having
-      corrupted invariants (the grayed nodes in C); Figure <a href=
-      "#node_invariant_invalidations">Invalidation of node
-      invariants</a> shows how an insert, performed on D, results
-      in E, with nodes <i>x</i> and <i>y</i> having corrupted
-      invariants (the grayed nodes in F). It is not feasible to
-      know outside the tree the effect of an operation on the nodes
-      of the tree.</li>
-
-      <li>The search paths of standard associative containers are
-      defined by comparisons between keys, and not through
-      metadata.</li>
-
-      <li>It is not feasible to know in advance which methods trees
-      can support. Besides the usual <tt>find</tt> method, the
-      first tree can support a <tt>find_by_order</tt> method, while
-      the second can support an <tt>overlaps</tt> method.</li>
-    </ol>
-
-    <h6 class="c1"><a name="node_invariant_invalidations" id=
-    "node_invariant_invalidations"><img src=
-    "node_invariant_invalidations.png" alt="no image" /></a></h6>
-
-    <h6 class="c1">Invalidation of node invariants.</h6>
-
-    <p>These problems are solved by a combination of two means:
-    node iterators, and template-template node updater
-    parameters.</p>
-
-    <h3><a name="node_it" id="node_it">Node Iterators</a></h3>
-
-    <p>Each tree-based container defines two additional iterator
-    types, <a href=
-    "tree_const_node_iterator.html"><tt>const_node_iterator</tt></a>
-    and <a href=
-    "tree_node_iterator.html"><tt>node_iterator</tt></a>.
-    These iterators allow descending from a node to one of its
-    children. Node iterator allow search paths different than those
-    determined by the comparison functor. <a href=
-    "tree.html">tree</a>
-    supports the methods:</p>
-    <pre>
-    <a href="tree_const_node_iterator.html"><tt>const_node_iterator</tt></a>
-    node_begin() <b>const</b>;
-
-    <a href="tree_node_iterator.html"><tt>node_iterator</tt></a>
-    node_begin();
-
-    <a href="tree_const_node_iterator.html"><tt>const_node_iterator</tt></a>
-    node_end() <b>const</b>;
-
-    <a href="tree_node_iterator.html"><tt>node_iterator</tt></a>
-    node_end(); 
-</pre>
-
-    <p>The first pairs return node iterators corresponding to the
-    root node of the tree; the latter pair returns node iterators
-    corresponding to a just-after-leaf node.</p>
-
-    <h3><a name="node_up" id="node_up">Node Updater
-    (Template-Template) Parameters</a></h3>
-
-    <p>The tree-based containers are parametrized by a
-    <tt>Node_Update</tt> template-template parameter. A tree-based
-    container instantiates <tt>Node_Update</tt> to some
-    <tt>node_update</tt> class, and publicly
-    subclasses <tt>node_update</tt>. Figure
-    <a href="#tree_node_update_cd">A tree and its update
-    policy</a> shows this scheme, as well as some predefined
-    policies (which are explained below).</p>
-
-    <h6 class="c1"><a name="tree_node_update_cd" id=
-    "tree_node_update_cd"><img src=
-    "tree_node_update_policy_cd.png" alt="no image" /></a></h6>
-
-    <h6 class="c1">A tree and its update policy.</h6>
-
-    <p><tt>node_update</tt> (an instantiation of
-    <tt>Node_Update</tt>) must define <tt>metadata_type</tt> as
-    the type of metadata it requires. For order statistics,
-    <i>e.g.</i>, <tt>metadata_type</tt> might be <tt>size_t</tt>.
-    The tree defines within each node a <tt>metadata_type</tt>
-    object.</p>
-
-    <p><tt>node_update</tt> must also define the following method
-    for restoring node invariants:</p>
-    <pre>
-    void 
-    operator()(<a href=
-"tree_node_iterator.html"><tt>node_iterator</tt></a> nd_it, <a href=
-"tree_const_node_iterator.html"><tt>const_node_iterator</tt></a> end_nd_it)
-</pre>
-
-    <p>In this method, <tt>nd_it</tt> is a <a href=
-    "tree_node_iterator.html"><tt>node_iterator</tt></a>
-    corresponding to a node whose A) all descendants have valid
-    invariants, and B) its own invariants might be violated;
-    <tt>end_nd_it</tt> is a <a href=
-    "tree_const_node_iterator.html"><tt>const_node_iterator</tt></a>
-    corresponding to a just-after-leaf node. This method should
-    correct the node invariants of the node pointed to by
-    <tt>nd_it</tt>. For example, say node <i>x</i> in Figure
-    <a href="#restoring_node_invariants">Restoring node
-    invariants</a>-A has an invalid invariant, but its' children,
-    <i>y</i> and <i>z</i> have valid invariants. After the
-    invocation, all three nodes should have valid invariants, as in
-    Figure <a href="#restoring_node_invariants">Restoring node
-    invariants</a>-B.</p>
-
-    <h6 class="c1"><a name="restoring_node_invariants" id=
-    "restoring_node_invariants"><img src=
-    "restoring_node_invariants.png" alt="no image" /></a></h6>
-
-    <h6 class="c1">Invalidation of node invariants.</h6>
-
-    <p>When a tree operation might invalidate some node invariant,
-    it invokes this method in its <tt>node_update</tt> base to
-    restore the invariant. For example, Figure <a href=
-    "#update_seq_diagram">Insert update sequence diagram</a> shows
-    an <tt>insert</tt> operation (point A); the tree performs some
-    operations, and calls the update functor three times (points B,
-    C, and D). (It is well known that any <tt>insert</tt>,
-    <tt>erase</tt>, <tt>split</tt> or <tt>join</tt>, can restore
-    all node invariants by a small number of node invariant updates
-    [<a href="references.html#clrs2001">clrs2001</a>].)</p>
-
-    <h6 class="c1"><a name="update_seq_diagram" id=
-    "update_seq_diagram"><img src="update_seq_diagram.png" alt=
-    "no image" /></a></h6>
-
-    <h6 class="c1">Insert update sequence diagram.</h6>
-
-    <p>To complete the description of the scheme, three questions
-    need to be answered:</p>
-
-    <ol>
-      <li>How can a tree which supports order statistics define a
-      method such as <tt>find_by_order</tt>?</li>
-
-      <li>How can the node updater base access methods of the
-      tree?</li>
-
-      <li>How can the following cyclic dependency be resolved?
-      <tt>node_update</tt> is a base class of the tree, yet it
-      uses node iterators defined in the tree (its child).</li>
-    </ol>
-
-    <p>The first two questions are answered by the fact that
-    <tt>node_update</tt> (an instantiation of
-    <tt>Node_Update</tt>) is a <tt><b>public</b></tt> base class
-    of the tree. Consequently:</p>
-
-    <ol>
-      <li>Any public methods of <tt>node_update</tt> are
-      automatically methods of the tree [<a href=
-      "references.html#alexandrescu01modern">alexandrescu01modern</a>].
-      Thus an order-statistics node updater, <a href=
-      "tree_order_statistics_node_update.html"><tt>tree_order_statistics_node_update</tt></a>
-      defines the <tt>find_by_order</tt> method; any tree
-      instantiated by this policy consequently supports this method
-      as well.</li>
-
-      <li>In C++, if a base class declares a method as
-      <tt><b>virtual</b></tt>, it is <tt><b>virtual</b></tt> in its
-      subclasses. If <tt>node_update</tt> needs to access one of
-      the tree's methods, say the member function <tt>end</tt>, it simply
-      declares that method as <tt><b>virtual</b></tt>
-      abstract.</li>
-    </ol>
-
-    <p>The cyclic dependency is solved through template-template
-    parameters. <tt>Node_Update</tt> is parametrized by the tree's node iterators, its comparison
-    functor, and its allocator type. Thus, 
-    instantiations of <tt>Node_Update</tt> have all information required.</p>
-
-    <p class="c1"><tt>pb_ds</tt> assumes that constructing a metadata object and modifying it
-    are exception free. Suppose that during some method, say
-    <tt>insert</tt>, a metadata-related operation
-    (<i>e.g.</i>, changing the value of a metadata) throws an
-    exception. Ack! Rolling back the method is unusually complex.</p>
-
-    <p>In <a href=
-    "concepts.html#concepts_null_policies">Interface::Concepts::Null
-    Policy Classes</a> a distinction was made between <i>redundant
-    policies</i> and <i>null policies</i>. Node invariants show a
-    case where null policies are required.</p>
-
-    <p>Assume a regular tree is required, one which need not
-    support order statistics or interval overlap queries.
-    Seemingly, in this case a redundant policy - a policy which
-    doesn't affect nodes' contents would suffice. This, would lead
-    to the following drawbacks:</p>
-
-    <ol>
-      <li>Each node would carry a useless metadata object, wasting
-      space.</li>
-
-      <li>The tree cannot know if its <tt>Node_Update</tt> policy
-      actually modifies a node's metadata (this is halting
-      reducible). In Figure <a href=
-      "#rationale_null_node_update">Useless update path</a> ,
-      assume the shaded node is inserted. The tree would have to
-      traverse the useless path shown to the root, applying
-      redundant updates all the way.</li>
-    </ol>
-
-    <h6 class="c1"><a name="rationale_null_node_update" id=
-    "rationale_null_node_update"><img src=
-    "rationale_null_node_update.png" alt="no image" /></a></h6>
-
-    <h6 class="c1">Useless update path.</h6>
-
-    <p>A null policy class, <a href=
-    "null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-    solves both these problems. The tree detects that node
-    invariants are irrelevant, and defines all accordingly.</p>
-
-    <h2><a name="add_methods" id="add_methods">Additional
-    Methods</a></h2>
-
-    <p>Tree-based containers support split and join methods.
-    It is possible to split a tree so that it passes
-    all nodes with keys larger than a given key to a different
-    tree. These methods have the following advantages over the
-    alternative of externally inserting to the destination
-    tree and erasing from the source tree:</p>
-
-    <ol>
-      <li>These methods are efficient - red-black trees are split
-      and joined in poly-logarithmic complexity; ordered-vector
-      trees are split and joined at linear complexity. The
-      alternatives have super-linear complexity.</li>
-
-      <li>Aside from orders of growth, these operations perform
-      few allocations and de-allocations. For red-black trees, allocations are not performed,
-      and the methods are exception-free. </li>
-    </ol>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_node_iterator.html b/libstdc++-v3/doc/html/ext/pb_ds/tree_node_iterator.html
deleted file mode 100644 (file)
index ba09b5b..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-<!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::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>::node_iterator</tt>
-    Interface</h1>
-
-    <p>Node iterator.</p>
-
-    <p>This is an <quote>iterator to an iterator </quote> - it
-    iterates over nodes, and de-referencing it returns one of the
-    tree's iterators</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=
-"tree.html#const_node_iterator4205924553"><span class="c2"><tt>tree</tt></span>::const_node_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <p>public</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link2" id="link2">Public Methods</a></h2>
-
-    <h3><a name="link3" id="link3">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>inline</b> 
-  node_iterator
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Default constructor.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link4" id="link4">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>
-<b>inline</b> <a href=
-"container_base.html#iterator10418194"><span class=
-"c2"><tt>container_base</tt></span>::iterator</a>
-  <b>operator</b>*
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Access.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link5" id="link5">Movement 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>inline</b> <span class="c2"><tt>node_iterator</tt></span>
-  get_l_child
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the node iterator associated with the left
-          node.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <span class="c2"><tt>node_iterator</tt></span>
-  get_r_child
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the node iterator associated with the right
-          node.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_node_updator_policy_cd.png b/libstdc++-v3/doc/html/ext/pb_ds/tree_node_updator_policy_cd.png
deleted file mode 100644 (file)
index 5cae578..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/tree_node_updator_policy_cd.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_node_update.html b/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_node_update.html
deleted file mode 100644 (file)
index f434553..0000000
+++ /dev/null
@@ -1,678 +0,0 @@
-<!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_order_statistics_node_update Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>tree_order_statistics_node_update</tt> Interface</h1>
-
-    <p>Functor updating ranks of entrees.</p>
-
-    <p>Defined in: <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tree_policy.hpp"><tt>tree_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="Const_Node_Iterator1933878761" id=
-"Const_Node_Iterator1933878761"><b>class</b> Const_Node_Iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Const node iterator type.</p>
-        </td>
-
-        <td>-</td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="Node_Iterator4206909839" id=
-"Node_Iterator4206909839"><b>class</b> Node_Iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Node iterator type.</p>
-        </td>
-
-        <td>-</td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="Cmp_Fn294335" id="Cmp_Fn294335"><b>class</b> Cmp_Fn</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Comparison functor.</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">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="cmp_fn394495" id="cmp_fn394495">cmp_fn</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#Cmp_Fn294335"><tt>Cmp_Fn</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p><a href="#Allocator35940069"><tt>Allocator</tt></a>
-          type.</p>
-        </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="link4" id="link4">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>
-<b>typename</b> <a href=
-"#allocator48440069"><tt>allocator</tt></a>::size_type
-</pre>
-        </td>
-
-        <td>
-          <p>Size type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link5" id="link5">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>
-The instantiating container's key type.
-</pre>
-        </td>
-
-        <td>
-          <p>Key type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="const_key_reference3185471705" id=
-"const_key_reference3185471705">const_key_reference</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-The instantiating container's const key reference type.
-</pre>
-        </td>
-
-        <td>
-          <p>Const key reference.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link6" id="link6">Metadata-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="metadata_type2849297114" id=
-"metadata_type2849297114">metadata_type</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#size_type55424436"><tt>size_type</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Metadata type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link7" id="link7">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_node_iterator4205924553" id=
-"const_node_iterator4205924553">const_node_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href=
-"#Const_Node_Iterator1933878761"><tt>Const_Node_Iterator</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Const node iterator type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="node_iterator3431975247" id=
-"node_iterator3431975247">node_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#Node_Iterator4206909839"><tt>Node_Iterator</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Node iterator type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="const_iterator98626788" id=
-"const_iterator98626788">const_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>::value_type
-</pre>
-        </td>
-
-        <td>
-          <p>Const iterator type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="iterator10418194" id="iterator10418194">iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#node_iterator3431975247"><tt>node_iterator</tt></a>::value_type
-</pre>
-        </td>
-
-        <td>
-          <p>Iterator type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link8" id="link8">Public Methods</a></h2>
-
-    <h3><a name="link9" id="link9">Find-Type 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>inline</b> <a href=
-"#const_iterator98626788"><tt>const_iterator</tt></a>
-  find_by_order
-  (<a href=
-"#size_type55424436"><tt>size_type</tt></a> order) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Finds an entry by order. Returns a <a href=
-          "#const_iterator98626788"><tt>const_iterator</tt></a> to
-          the entry with the order <span class=
-          "c1"><tt>order</tt></span>, or a <a href=
-          "#const_iterator98626788"><tt>const_iterator</tt></a> to
-          the container object's end if <span class=
-          "c1"><tt>order</tt></span> is at least the size of the
-          container object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <a href="#iterator10418194"><tt>iterator</tt></a>
-  find_by_order
-  (<a href="#size_type55424436"><tt>size_type</tt></a> order)
-</pre>
-        </td>
-
-        <td>
-          <p>Finds an entry by order. Returns an <a href=
-          "#iterator10418194"><tt>iterator</tt></a> to the entry
-          with the order <span class="c1"><tt>order</tt></span>, or
-          an <a href="#iterator10418194"><tt>iterator</tt></a> to
-          the container object's end if <span class=
-          "c1"><tt>order</tt></span> is at least the size of the
-          container object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a>
-  order_of_key
-  (<a href=
-"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the order of a key within a sequence. For
-          example, if <span class="c1"><tt>r_key</tt></span> is the
-          smallest key, this method will return 0; if <span class=
-          "c1"><tt>r_key</tt></span> is a key between the smallest
-          and next key, this method will return 1; if <span class=
-          "c1"><tt>r_key</tt></span> is a key larger than the
-          largest key, this method will return the size of r_c.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link10" id="link10">Protected Types and
-    Constants</a></h2>
-
-    <h3><a name="link11" id="link11">Value-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_reference495461441" id=
-"const_reference495461441">const_reference</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-The instantiating container's const reference  type.
-</pre>
-        </td>
-
-        <td>
-          <p>Const reference to the container's value-type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="const_pointer878814947" id=
-"const_pointer878814947">const_pointer</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-The instantiating container's const pointer  type.
-</pre>
-        </td>
-
-        <td>
-          <p>Const pointer to the container's value-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> <a href=
-"#Allocator35940069"><tt>Allocator</tt></a>::<b>template</b> rebind&lt;
-    <a href=
-"#metadata_type2849297114"><tt>metadata_type</tt></a>&gt;::other::<a href="#const_reference495461441"><tt>const_reference</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Const metadata reference.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="metadata_reference583863863" id=
-"metadata_reference583863863">metadata_reference</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#Allocator35940069"><tt>Allocator</tt></a>::<b>template</b> rebind&lt;
-    <a href=
-"#metadata_type2849297114"><tt>metadata_type</tt></a>&gt;::other::reference
-</pre>
-        </td>
-
-        <td>
-          <p>Metadata reference.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link12" id="link12">Protected Methods</a></h2>
-
-    <h3><a name="link13" id="link13">Operators</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>inline</b> <b>void</b>
-  <b>operator</b>()
-  (<a href=
-"#node_iterator3431975247"><tt>node_iterator</tt></a> node_it,
-    <a href=
-"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> end_nd_it) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Updates the rank of a node through a <a href=
-          "#node_iterator3431975247"><tt>node_iterator</tt></a>
-          <span class="c1"><tt>node_it</tt></span>; <span class=
-          "c1"><tt>end_nd_it</tt></span> is the end node <a href=
-          "#iterator10418194"><tt>iterator</tt></a>.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link14" id="link14">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> 
-  ~tree_order_statistics_node_update
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Destructor.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link15" id="link15">Private Methods</a></h2>
-
-    <h3><a name="link16" id="link16">Overrides</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> <a href=
-"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
-  node_begin
-  () <b>const</b> = 0
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the <a href=
-          "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
-          associated with the tree's root node.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> <a href=
-"#node_iterator3431975247"><tt>node_iterator</tt></a>
-  node_begin
-  () = 0
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the <a href=
-          "#node_iterator3431975247"><tt>node_iterator</tt></a>
-          associated with the tree's root node.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> <a href=
-"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
-  node_end
-  () <b>const</b> = 0
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the <a href=
-          "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
-          associated with a just-after leaf node.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> <a href=
-"#node_iterator3431975247"><tt>node_iterator</tt></a>
-  node_end
-  () = 0
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the <a href=
-          "#node_iterator3431975247"><tt>node_iterator</tt></a>
-          associated with a just-after leaf node.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> <a href="#cmp_fn394495"><tt>cmp_fn</tt></a> &amp;
-  get_cmp_fn
-  () = 0
-</pre>
-        </td>
-
-        <td>
-          <p>Access to the <a href=
-          "#cmp_fn394495"><tt>cmp_fn</tt></a> object.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test.html b/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test.html
deleted file mode 100644 (file)
index ef81161..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-<!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 Order Statistics Timing Test</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>Tree Order-Statistics Timing Test</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test creates a container, inserts random integers into
-    the the container, and then checks the order-statistics of the
-    container's values. (If the container is one of <tt>pb_ds</tt>
-    's trees, it does this with the <tt>order_of_key</tt> method of
-    <a href="tree_order_statistics_node_update.html"><tt>tree_order_statistics_node_update</tt></a>
-    ; otherwise, it uses the <tt>find</tt> method and
-    <tt>std::distance</tt> .) It measures the average time for such
-    queries as a function of the number of values inserted.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc"><tt>tree_order_statistics_timing_test</tt></a>
-    200 200 2100)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the performance difference of policies based
-    on node-invariant as opposed to a external functions. (see
-    <a href="tree_based_containers.html#invariants">Design::Associative
-    Containers::Tree-Based Containers::Node Invariants</a> .)</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NTG">NTG</a>, <a href="#NTM">NTM</a>, and
-    <a href="#NTL">NTL</a> show the results for the native and
-    tree-based containers in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively.</p>
-<div id="NTG_res_div">
-<div id="NTG_gcc">
-<div id="NTG_tree_order_statistics_timing_test">
-<div id="NTG_assoc">
-<div id="NTG_Native_and_tree-based_container_order-statistics_queries"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTG" id="NTG"><img src="tree_order_statistics_timing_test_gcc.png" alt="no image" /></a></h6>NTG: Native and tree-based container order-statistics queries - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_set-
-<tt>std::set</tt></li>
-<li>
-splay_tree_ost_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="tree_order_statistics_node_update.html"><tt>tree_order_statistics_node_update</tt></a>
-</li>
-<li>
-rb_tree_ost_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="tree_order_statistics_node_update.html"><tt>tree_order_statistics_node_update</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NTM_res_div">
-<div id="NTM_msvc">
-<div id="NTM_tree_order_statistics_timing_test">
-<div id="NTM_assoc">
-<div id="NTM_Native_and_tree-based_container_order-statistics_queries"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTM" id="NTM"><img src="tree_order_statistics_timing_test_msvc.png" alt="no image" /></a></h6>NTM: Native and tree-based container order-statistics queries - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_set-
-<tt>std::set</tt></li>
-<li>
-splay_tree_ost_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="tree_order_statistics_node_update.html"><tt>tree_order_statistics_node_update</tt></a>
-</li>
-<li>
-rb_tree_ost_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="tree_order_statistics_node_update.html"><tt>tree_order_statistics_node_update</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NTL_res_div">
-<div id="NTL_local">
-<div id="NTL_tree_order_statistics_timing_test">
-<div id="NTL_assoc">
-<div id="NTL_Native_and_tree-based_container_order-statistics_queries"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTL" id= "NTL"><img src="tree_order_statistics_timing_test_local.png" alt="no image" /></a></h6>NTL: Native and tree-based container order-statistics queries - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>In this test, the native red-black tree can support
-    order-statistics queries only externally, by performing a
-    <tt>find</tt> (alternatively, <tt>lower_bound</tt> or
-    <tt>upper_bound</tt> ) and then using <tt>std::distance</tt> .
-    This is clearly linear, and it is not that surprising that the
-    cost is high.</p>
-<p><tt>pb_ds</tt> 's tree-based containers use in this test the
-    <tt>order_of_key</tt> method of <a href="tree_order_statistics_node_update.html"><tt>tree_order_statistics_node_update</tt></a>.
-    This method has only linear complexity in the length of the
-    root-node path. Unfortunately, the average path of a splay tree
-    (<a href="tree.html"><tt>tree</tt></a>
-    with <tt>Tag =</tt> <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a> ) can
-    be higher than logarithmic; the longest path of a red-black
-    tree (<a href="tree.html"><tt>tree</tt></a>
-    with <tt>Tag =</tt> <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> ) is
-    logarithmic in the number of elements. Consequently, the splay
-    tree has worse performance than the red-black tree.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test_gcc.png
deleted file mode 100644 (file)
index bdb00d0..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test_local.png b/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test_local.png
deleted file mode 100644 (file)
index 9f46319..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test_msvc.png
deleted file mode 100644 (file)
index 76dcbee..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_random_int_find_find_timing_test.html b/libstdc++-v3/doc/html/ext/pb_ds/tree_random_int_find_find_timing_test.html
deleted file mode 100644 (file)
index c34354f..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-<!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 Text Find Timing Test</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>Tree-Based and Trie-Based Text <tt>find</tt> Find Timing
-    Test</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of values with keys from an
-    arbitrary text ([<a href="references.html#wickland96thirty">wickland96thirty</a>]) into
-    a container, then performs a series of finds using
-    <tt>find</tt>. It measures the average time for <tt>find</tt>
-    as a function of the number of values inserted.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/text_find_timing.cc"><tt>text_find_timing_test</tt></a>
-    thirty_years_among_the_dead_preproc.txt 200 200 2100)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the effect of different underlying
-    data structures.</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NTTG">NTTG</a>, <a href="#NTTM">NTTM</a>,
-    and <a href="#NTTG">NTTL</a> show the results for the native,
-    tree-based, and trie-based types in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#local"><u>local</u></a>, and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively.</p>
-<div id="NTTG_res_div">
-<div id="NTTG_gcc">
-<div id="NTTG_random_int_find_find_timing_test_tree">
-<div id="NTTG_assoc">
-<div id="NTTG_Native_456_tree-based_456_random_int_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTTG" id="NTTG"><img src="random_int_find_find_timing_test_tree_gcc.png" alt="no image" /></a></h6>NTTG: Native, tree-based, random int find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-splay_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-<li>
-ov_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-<li>
-n_map-
-<tt>std::map</tt></li>
-<li>
-rb_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-<div id="NTTM_res_div">
-<div id="NTTM_msvc">
-<div id="NTTM_random_int_find_find_timing_test_tree">
-<div id="NTTM_assoc">
-<div id="NTTM_Native_456_tree-based_456_random_int_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTTM" id="NTTM"><img src="random_int_find_find_timing_test_tree_msvc.png" alt="no image" /></a></h6>NTTM: Native, tree-based, random int find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-splay_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-<li>
-ov_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-<li>
-n_map-
-<tt>std::map</tt></li>
-<li>
-rb_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-<div id="NTTL_res_div">
-<div id="NTTL_local">
-<div id="NTTL_random_int_find_find_timing_test_tree">
-<div id="NTTL_assoc">
-<div id="NTTL_Native_456_tree-based_456_random_int_find_timing_test_using__tt_find_455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTTL" id= "NTTL"><img src="random_int_find_find_timing_test_tree_local.png" alt="no image" /></a></h6>NTTL: Native, tree-based, random int find timing test using <tt>find</tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>For this setting, a splay tree (<a href="tree.html"><tt>tree</tt></a>
-                with <tt>Tag =</tt> <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a>)
-                does not do well. This is possibly due to two
-                reasons:</p>
-<ol>
-<li>A splay tree is not guaranteed to be balanced
-                  [<a href="references.html#motwani95random">motwani95random</a>].
-                  If a splay tree contains <i>n</i> nodes, its
-                  average root-leaf path can be <i>m &gt;&gt;
-                  log(n)</i>.</li>
-<li>Assume a specific root-leaf search path has
-                  length <i>m</i>, and the search-target node has
-                  distance <i>m'</i> from the root. A red-black
-                  tree will require <i>m + 1</i> comparisons to
-                  find the required node; a splay tree will require
-                  <i>2 m'</i> comparisons. A splay tree,
-                  consequently, can perform many more comparisons
-                  than a red-black tree.</li>
-</ol>
-<p>An ordered-vector tree (<a href="tree.html"><tt>tree</tt></a>
-                with <tt>Tag =</tt> <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a>),
-                a red-black tree (<a href="tree.html"><tt>tree</tt></a>
-                with <tt>Tag =</tt> <a href="splay_tree_tag.html"><tt>rb_tree_tag</tt></a>),
-                and the native red-black tree all share
-                approximately the same performance.</p>
-<p>An ordered-vector tree is slightly slower than
-                red-black trees, since it requires, in order to
-                find a key, more math operations than they do.
-                Conversely, an ordered-vector tree requires far
-                lower space than the others. ([<a href="references.html#austern00noset">austern00noset</a>],
-                however, seems to have an implementation that is
-                also faster than a red-black tree).</p>
-<p>A PATRICIA trie (<a href="trie.html"><tt>trie</tt></a>
-                with <tt>Tag =</tt> <a href="pat_trie_tag.html"><tt>pat_trie_tag</tt></a>)
-                has good look-up performance, due to its large
-                fan-out in this case. In this setting, a PATRICIA
-                trie has lookup performance comparable to a hash
-                table (see <a href="hash_text_find_find_timing_test.html">Hash-Based
-                Text <tt>find</tt> Find Timing Test</a>), but it is
-                order preserving. This is not that surprising,
-                since a large fan-out PATRICIA trie works like a
-                hash table with collisions resolved by a sub-trie.
-                A large fan-out PATRICIA trie does not do well on
-                modifications (see <a href="tree_text_insert_timing_test.html">Tree-Based and
-                Trie-Based Text Insert Timing Test</a>). It is
-                possibly beneficial to semi-static settings,
-                therefore.</p>
-<p><a href="assoc_performance_tests.html#tree_like_based_types">
-                Observations::Tree-Like-Based Container Types</a>
-                summarizes some observations on tree-based and
-                trie-based containers.</p>
-</div>
-</div>
-</div>
-</div>
-</div>
-</div>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test.html b/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test.html
deleted file mode 100644 (file)
index 9164984..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-<!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 Split Join Timing Test</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>Tree Split-Join Timing Test</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test a container, inserts into a number of values,
-    splits the container at the median, and joins the two
-    containers. (If the containers are one of <tt>pb_ds</tt> 's
-    trees, it splits and joins with the <tt>split</tt> and
-    <tt>join</tt> method; otherwise, it uses the <tt>erase</tt> and
-    <tt>insert</tt> methods.) It measures the time for splitting
-    and joining the containers as a function of the number of
-    values inserted.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/tree_split_join_timing.cc"><tt>tree_split_join_timing_test</tt></a>
-    200 200 2100)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the performance difference of <tt>join</tt>
-    as opposed to a sequence of <tt>insert</tt> operations; by
-    implication, this test checks the most efficient way to erase a
-    sub-sequence from a tree-like-based container, since this can
-    always be performed by a small sequence of splits and joins
-    (see <a href="motivation.html#assoc_split_join_methods">Motivation::Associative
-    Containers::Slightly Different Methods::Methods Related to
-    Split and Join</a> and <a href="tree_based_containers.html#add_methods">Design::Associative
-    Containers::Tree-Based Containers::Additional Methods</a>
-    .)</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NTG">NTG</a>, <a href="#NTM">NTM</a>, and
-    <a href="#NTL">NTL</a> show the results for the native and
-    tree-based containers in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively.</p>
-<div id="NTG_res_div">
-<div id="NTG_gcc">
-<div id="NTG_tree_split_join_timing_test">
-<div id="NTG_assoc">
-<div id="NTG_Native_and_tree-based_container_splits_and_joins"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTG" id="NTG"><img src="tree_split_join_timing_test_gcc.png" alt="no image" /></a></h6>NTG: Native and tree-based container splits and joins - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_set-
-<tt>std::set</tt></li>
-<li>
-splay_tree_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-<li>
-rb_tree_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-<li>
-ov_tree_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NTM_res_div">
-<div id="NTM_msvc">
-<div id="NTM_tree_split_join_timing_test">
-<div id="NTM_assoc">
-<div id="NTM_Native_and_tree-based_container_splits_and_joins"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTM" id="NTM"><img src="tree_split_join_timing_test_msvc.png" alt="no image" /></a></h6>NTM: Native and tree-based container splits and joins - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_set-
-<tt>std::set</tt></li>
-<li>
-splay_tree_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-<li>
-rb_tree_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-<li>
-ov_tree_set-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NTL_res_div">
-<div id="NTL_local">
-<div id="NTL_tree_split_join_timing_test">
-<div id="NTL_assoc">
-<div id="NTL_Native_and_tree-based_container_splits_and_joins"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTL" id= "NTL"><img src="tree_split_join_timing_test_local.png" alt="no image" /></a></h6>NTL: Native and tree-based container splits and joins - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>In this test, the native red-black trees must be split and
-    joined externally, through a sequence of <tt>erase</tt> and
-    <tt>insert</tt> operations. This is clearly super-linear, and
-    it is not that surprising that the cost is high.</p>
-<p><tt>pb_ds</tt> 's tree-based containers use in this test the
-    <tt>split</tt> and <tt>join</tt> methods, which have lower
-    complexity: the <tt>join</tt> method of a splay tree ( <a href="tree.html"><tt>tree</tt></a>
-    with <tt>Tag =</tt> <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a> ) is
-    quadratic in the length of the longest root-leaf path, and
-    linear in the total number of elements; the <tt>join</tt>
-    method of a red-black tree ( <a href="tree.html"><tt>tree</tt></a>
-    with <tt>Tag =</tt> <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> ) or an
-    ordered-vector tree ( <a href="tree.html"><tt>tree</tt></a>
-    with <tt>Tag =</tt> <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a> ) is linear
-    in the number of elements.</p>
-<p>Asides from orders of growth, <tt>pb_ds</tt> 's trees access
-    their allocator very little in these operations, and some of
-    them do not access it at all. This leads to lower constants in
-    their complexity, and, for some containers, to exception-free
-    splits and joins (which can be determined via <a href="assoc_container_traits.html"><tt>container_traits</tt></a>).</p>
-<p>It is important to note that <tt>split</tt> and
-    <tt>join</tt> are not esoteric methods - they are the most
-    efficient means of erasing a contiguous range of values from a
-    tree based container.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test_gcc.png
deleted file mode 100644 (file)
index 88867ec..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test_local.png b/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test_local.png
deleted file mode 100644 (file)
index fe5ba81..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test_msvc.png
deleted file mode 100644 (file)
index 37ed1b2..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_tag.html b/libstdc++-v3/doc/html/ext/pb_ds/tree_tag.html
deleted file mode 100644 (file)
index d7265ac..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<!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_tag Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>tree_tag</tt> Interface</h1>
-
-    <p>Basic tree 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_tree_tag.html"><span class=
-"c2"><tt>basic_tree_tag</tt></span></a>
-</pre>
-        </td>
-
-        <td>
-          <p>public</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_find_find_timing_test.html b/libstdc++-v3/doc/html/ext/pb_ds/tree_text_find_find_timing_test.html
deleted file mode 100644 (file)
index fbfdfef..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-<!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 Text Find Timing Test</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>Tree-Based and Trie-Based Text <tt>find</tt> Find Timing
-    Test</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of values with keys from an
-    arbitrary text ([<a href="references.html#wickland96thirty">wickland96thirty</a>]) into
-    a container, then performs a series of finds using
-    <tt>find</tt>. It measures the average time for <tt>find</tt>
-    as a function of the number of values inserted.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/text_find_timing.cc"><tt>text_find_timing_test</tt></a>
-    thirty_years_among_the_dead_preproc.txt 200 200 2100)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the effect of different underlying
-    data structures.</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NTTG">NTTG</a>, <a href="#NTTM">NTTM</a>,
-    and <a href="#NTTG">NTTL</a> show the results for the native,
-    tree-based, and trie-based types in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#local"><u>local</u></a>, and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively.</p>
-<div id="NTTG_res_div">
-<div id="NTTG_gcc">
-<div id="NTTG_text_find_timing_test_tree_like">
-<div id="NTTG_assoc">
-<div id="NTTG_Native_456_tree-based_456_and_trie-based_456_text_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTTG" id="NTTG"><img src="text_find_timing_test_tree_like_gcc.png" alt="no image" /></a></h6>NTTG: Native, tree-based, and trie-based, text find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-splay_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-<li>
-ov_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-<li>
-rb_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-<li>
-n_map-
-<tt>std::map</tt></li>
-<li>
-pat_trie_map-
-<a href="trie.html"><tt>trie</tt></a>
- with <tt>Tag</tt> = <a href="pat_trie_tag.html"><tt>pat_trie_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_trie_node_update.html"><tt>null_trie_node_update</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NTTM_res_div">
-<div id="NTTM_msvc">
-<div id="NTTM_text_find_timing_test_tree_like">
-<div id="NTTM_assoc">
-<div id="NTTM_Native_456_tree-based_456_and_trie-based_456_text_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTTM" id="NTTM"><img src="text_find_timing_test_tree_like_msvc.png" alt="no image" /></a></h6>NTTM: Native, tree-based, and trie-based, text find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-splay_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-<li>
-ov_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-<li>
-rb_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-<li>
-n_map-
-<tt>std::map</tt></li>
-<li>
-pat_trie_map-
-<a href="trie.html"><tt>trie</tt></a>
- with <tt>Tag</tt> = <a href="pat_trie_tag.html"><tt>pat_trie_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_trie_node_update.html"><tt>null_trie_node_update</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NTTL_res_div">
-<div id="NTTL_local">
-<div id="NTTL_text_find_timing_test_tree_like">
-<div id="NTTL_assoc">
-<div id="NTTL_Native_456_tree-based_456_and_trie-based_456_text_find_timing_test_using__tt_find_455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTTL" id= "NTTL"><img src="text_find_timing_test_tree_like_local.png" alt="no image" /></a></h6>NTTL: Native, tree-based, and trie-based, text find timing test using <tt>find</tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>For this setting, a splay tree (<a href="tree.html"><tt>tree</tt></a>
-    with <tt>Tag =</tt> <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a>) does
-    not do well. This is possibly due to two reasons:</p>
-<ol>
-<li>A splay tree is not guaranteed to be balanced [<a href="references.html#motwani95random">motwani95random</a>]. If a
-      splay tree contains <i>n</i> nodes, its average root-leaf
-      path can be <i>m &gt;&gt; log(n)</i>.</li>
-<li>Assume a specific root-leaf search path has length
-      <i>m</i>, and the search-target node has distance <i>m'</i>
-      from the root. A red-black tree will require <i>m + 1</i>
-      comparisons to find the required node; a splay tree will
-      require <i>2 m'</i> comparisons. A splay tree, consequently,
-      can perform many more comparisons than a red-black tree.</li>
-</ol>
-<p>An ordered-vector tree (<a href="tree.html"><tt>tree</tt></a>
-    with <tt>Tag =</tt> <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a>), a red-black
-    tree (<a href="tree.html"><tt>tree</tt></a>
-    with <tt>Tag =</tt> <a href="splay_tree_tag.html"><tt>rb_tree_tag</tt></a>), and the
-    native red-black tree all share approximately the same
-    performance.</p>
-<p>An ordered-vector tree is slightly slower than red-black
-    trees, since it requires, in order to find a key, more math
-    operations than they do. Conversely, an ordered-vector tree
-    requires far lower space than the others. ([<a href="references.html#austern00noset">austern00noset</a>], however,
-    seems to have an implementation that is also faster than a
-    red-black tree).</p>
-<p>A PATRICIA trie (<a href="trie.html"><tt>trie</tt></a>
-    with <tt>Tag =</tt> <a href="pat_trie_tag.html"><tt>pat_trie_tag</tt></a>) has good
-    look-up performance, due to its large fan-out in this case. In
-    this setting, a PATRICIA trie has look-up performance comparable
-    to a hash table (see <a href="hash_text_find_find_timing_test.html">Hash-Based Text
-    <tt>find</tt> Find Timing Test</a>), but it is order
-    preserving. This is not that surprising, since a large-fan-out
-    PATRICIA trie works like a hash table with collisions resolved
-    by a sub-trie. A large-fan-out PATRICIA trie does not do well on
-    modifications (see <a href="tree_text_insert_timing_test.html">Tree-Based and Trie-Based
-    Text Insert Timing Test</a>). It is possibly beneficial to
-    semi-static settings, therefore.</p>
-<p><a href="assoc_performance_tests.html#tree_like_based_types">Observations::Tree-Like-Based
-    Container Types</a> summarizes some observations on tree-based
-    and trie-based containers.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test.html b/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test.html
deleted file mode 100644 (file)
index a5815fb..0000000
+++ /dev/null
@@ -1,226 +0,0 @@
-<!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 Text Insert Timing Test</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>Tree-Based and Trie-Based Text Insert Timing Test</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of values with keys from an
-    arbitrary text ([ <a href="references.html#wickland96thirty">wickland96thirty</a> ]) into
-    a container using <tt>insert</tt> . It measures the average
-    time for <tt>insert</tt> as a function of the number of values
-    inserted.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc"><tt>tree_text_insert_timing_test</tt></a>
-    thirty_years_among_the_dead_preproc.txt 200 200 2100)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the effect of different underlying
-    data structures.</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NNTG">NNTG</a>, <a href="#NVTG">NVTG</a>,
-    and <a href="#NPTG">NPTG</a> show the results for the native
-    tree and <tt>pb_ds</tt>'s node-based trees, the native tree and
-    <tt>pb_ds</tt>'s vector-based trees, and the native tree
-    and<tt>pb_ds</tt>'s PATRICIA-trie, respectively, in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>; Figures
-    <a href="#NNTM">NNTM</a>, <a href="#NVTM">NVTM</a>, and
-    <a href="#NPTM">NPTM</a> show the same in <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>; Figures
-    <a href="#NNTL">NNTL</a>, <a href="#NVTL">NVTL</a>, and
-    <a href="#NPTL">NPTL</a> show the same in <a href="assoc_performance_tests.html#local"><u>local</u></a>.</p>
-<div id="NNTG_res_div">
-<div id="NNTG_gcc">
-<div id="NNTG_tree_text_insert_timing_test_node_tree">
-<div id="NNTG_assoc">
-<div id="NNTG_Native_tree_and_node-based_trees_text_insert_timing_test_using__tt_insert_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NNTG" id="NNTG"><img src="tree_text_insert_timing_test_node_tree_gcc.png" alt="no image" /></a></h6>NNTG: Native tree and node-based trees text insert timing test using <tt>insert</tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-splay_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-<li>
-n_map-
-<tt>std::map</tt></li>
-<li>
-rb_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NVTG_res_div">
-<div id="NVTG_gcc">
-<div id="NVTG_tree_text_insert_timing_test_vector_tree">
-<div id="NVTG_assoc">
-<div id="NVTG_Native_tree_and_vector-based_tree_text_insert_timing_test_using__tt_insert_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NVTG" id="NVTG"><img src="tree_text_insert_timing_test_vector_tree_gcc.png" alt="no image" /></a></h6>NVTG: Native tree and vector-based tree text insert timing test using <tt>insert</tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-ov_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-<li>
-n_map-
-<tt>std::map</tt></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NPTG_res_div">
-<div id="NPTG_gcc">
-<div id="NPTG_tree_text_insert_timing_test_pat_trie">
-<div id="NPTG_assoc">
-<div id="NPTG_Native_tree_and_PATRICIA_trie_text_insert_timing_test_using__tt_insert_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPTG" id="NPTG"><img src="tree_text_insert_timing_test_pat_trie_gcc.png" alt="no image" /></a></h6>NPTG: Native tree and PATRICIA trie text insert timing test using <tt>insert</tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-n_map-
-<tt>std::map</tt></li>
-<li>
-pat_trie_map-
-<a href="trie.html"><tt>trie</tt></a>
- with <tt>Tag</tt> = <a href="pat_trie_tag.html"><tt>pat_trie_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_trie_node_update.html"><tt>null_trie_node_update</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NNTM_res_div">
-<div id="NNTM_msvc">
-<div id="NNTM_tree_text_insert_timing_test_node_tree">
-<div id="NNTM_assoc">
-<div id="NNTM_Native_tree_and_node-based_trees_text_insert_timing_test_using__tt_insert_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NNTM" id="NNTM"><img src="tree_text_insert_timing_test_node_tree_msvc.png" alt="no image" /></a></h6>NNTM: Native tree and node-based trees text insert timing test using <tt>insert</tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-splay_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-<li>
-n_map-
-<tt>std::map</tt></li>
-<li>
-rb_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NVTM_res_div">
-<div id="NVTM_msvc">
-<div id="NVTM_tree_text_insert_timing_test_vector_tree">
-<div id="NVTM_assoc">
-<div id="NVTM_Native_tree_and_vector-based_tree_text_insert_timing_test_using__tt_insert_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NVTM" id="NVTM"><img src="tree_text_insert_timing_test_vector_tree_msvc.png" alt="no image" /></a></h6>NVTM: Native tree and vector-based tree text insert timing test using <tt>insert</tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-ov_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-<li>
-n_map-
-<tt>std::map</tt></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NPTM_res_div">
-<div id="NPTM_msvc">
-<div id="NPTM_tree_text_insert_timing_test_pat_trie">
-<div id="NPTM_assoc">
-<div id="NPTM_Native_tree_and_PATRICIA_trie_text_insert_timing_test_using__tt_insert_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPTM" id="NPTM"><img src="tree_text_insert_timing_test_pat_trie_msvc.png" alt="no image" /></a></h6>NPTM: Native tree and PATRICIA trie text insert timing test using <tt>insert</tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-pat_trie_map-
-<a href="trie.html"><tt>trie</tt></a>
- with <tt>Tag</tt> = <a href="pat_trie_tag.html"><tt>pat_trie_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_trie_node_update.html"><tt>null_trie_node_update</tt></a>
-</li>
-<li>
-n_map-
-<tt>std::map</tt></li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NNTL_res_div">
-<div id="NNTL_local">
-<div id="NNTL_tree_text_insert_timing_test_node_tree">
-<div id="NNTL_assoc">
-<div id="NNTL_Native_tree_and_node-based_trees_text_insert_timing_test_using__tt_insert_455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NNTL" id= "NNTL"><img src="tree_text_insert_timing_test_node_tree_local.png" alt="no image" /></a></h6>NNTL: Native tree and node-based trees text insert timing test using <tt>insert</tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NVTL_res_div">
-<div id="NVTL_local">
-<div id="NVTL_tree_text_insert_timing_test_vector_tree">
-<div id="NVTL_assoc">
-<div id="NVTL_Native_tree_and_vector-based_tree_text_insert_timing_test_using__tt_insert_455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NVTL" id= "NVTL"><img src="tree_text_insert_timing_test_vector_tree_local.png" alt="no image" /></a></h6>NVTL: Native tree and vector-based tree text insert timing test using <tt>insert</tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NPTL_res_div">
-<div id="NPTL_local">
-<div id="NPTL_tree_text_insert_timing_test_pat_trie">
-<div id="NPTL_assoc">
-<div id="NPTL_Native_tree_and_PATRICIA_trie_text_insert_timing_test_using__tt_insert_455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPTL" id= "NPTL"><img src="tree_text_insert_timing_test_pat_trie_local.png" alt="no image" /></a></h6>NPTL: Native tree and PATRICIA trie text insert timing test using <tt>insert</tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>Observing Figure <a href="#NNTG">NNTG</a> , for this
-    setting, a splay tree, ( <a href="tree.html"><tt>tree</tt></a>
-    with <tt>Tag =</tt> <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a> ) does
-    not do well. This was covered in <a href="tree_text_find_find_timing_test.html">Tree-Based and
-    Trie-Based Text <tt>find</tt> Find Timing Test</a> . The two
-    red-black trees perform better.</p>
-<p>Observing Figure <a href="#NVTG">NVTG</a>, an ordered-vector
-    tree ( <a href="tree.html"><tt>tree</tt></a>
-    with <tt>Tag =</tt> <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a>) performs
-    abysmally. Inserting into this type of tree has linear
-    complexity [ <a href="references.html#austern00noset">austern00noset</a>].</p>
-<p>Observing Figure <a href="#NPTG">NPTG</a> , A PATRICIA trie
-    ( <a href="trie.html"><tt>trie</tt></a>
-    with <tt>Tag =</tt> <a href="pat_trie_tag.html"><tt>pat_trie_tag</tt></a> ) has
-    abysmal performance, as well. This is not that surprising,
-    since a large-fan-out PATRICIA trie works like a hash table with
-    collisions resolved by a sub-trie. Each time a collision is
-    encountered, a new "hash-table" is built A large fan-out
-    PATRICIA trie, however, doe does well in look-ups (see <a href="tree_text_find_find_timing_test.html">Tree-Based and
-    Trie-Based Text <tt>find</tt> Find Timing Test</a> ). It is
-    possibly beneficial to semi-static settings, therefore.</p>
-<p><a href="assoc_performance_tests.html#tree_like_based_types">Observations::Tree-Like-Based
-    Container Types</a> summarizes some observations on tree-based
-    and trie-based containers.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_gcc.png
deleted file mode 100644 (file)
index 22d8f6f..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_local.png b/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_local.png
deleted file mode 100644 (file)
index c98488c..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_msvc.png
deleted file mode 100644 (file)
index 18b2198..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_gcc.png
deleted file mode 100644 (file)
index 5fe063e..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_local.png b/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_local.png
deleted file mode 100644 (file)
index eff7eef..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_msvc.png
deleted file mode 100644 (file)
index 9f13db0..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_gcc.png
deleted file mode 100644 (file)
index dd85dcd..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_local.png b/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_local.png
deleted file mode 100644 (file)
index f67156d..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_msvc.png
deleted file mode 100644 (file)
index 8c07313..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_find_timing_test.html b/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_find_timing_test.html
deleted file mode 100644 (file)
index c577a56..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-<!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 Text Locality of Reference Find Timing Test</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-</head>
-<body>
-<div id="page">
-<h1>Tree-Based Locality-of-Reference Text <tt>find</tt> Find
-    Timing Test</h1>
-<h2><a name="description" id="description">Description</a></h2>
-<p>This test inserts a number of values with keys from an
-    arbitrary text ([ <a href="references.html#wickland96thirty">wickland96thirty</a> ]) into
-    a container, then performs a series of finds using
-    <tt>find</tt> . It is different than <a href="tree_text_find_find_timing_test.html">Tree-Based and
-    Trie-Based Text <tt>find</tt> Find Timing Test</a> in the
-    sequence of finds it performs: this test performs multiple
-    <tt>find</tt> s on the same key before moving on to the next
-    key. It measures the average time for <tt>find</tt> as a
-    function of the number of values inserted.</p>
-<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc"><tt>tree_text_lor_find_timing_test</tt></a>
-    thirty_years_among_the_dead_preproc.txt 200 200 2100)</p>
-<h2><a name="purpose" id="purpose">Purpose</a></h2>
-<p>The test checks the effect of different underlying
-    data structures in a locality-of-reference setting.</p>
-<h2><a name="results" id="results">Results</a></h2>
-<p>Figures <a href="#NTG">NTG</a>, <a href="#NTM">NTM</a>, and
-    <a href="#NTL">NTL</a> show the results for the native and
-    <tt>pb_ds</tt> tree-based types in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a> and
-    <a href="assoc_performance_tests.html#local"><u>local</u></a>,
-    respectively.</p>
-<div id="NTG_res_div">
-<div id="NTG_gcc">
-<div id="NTG_tree_text_lor_find_timing_test">
-<div id="NTG_assoc">
-<div id="NTG_Native_and_tree-based_locality-of-reference_text_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTG" id="NTG"><img src="tree_text_lor_find_timing_test_gcc.png" alt="no image" /></a></h6>NTG: Native and tree-based locality-of-reference text find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-ov_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-<li>
-rb_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-<li>
-n_map-
-<tt>std::map</tt></li>
-<li>
-splay_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NTM_res_div">
-<div id="NTM_msvc">
-<div id="NTM_tree_text_lor_find_timing_test">
-<div id="NTM_assoc">
-<div id="NTM_Native_and_tree-based_locality-of-reference_text_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTM" id="NTM"><img src="tree_text_lor_find_timing_test_msvc.png" alt="no image" /></a></h6>NTM: Native and tree-based locality-of-reference text find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p>
-<ol>
-<li>
-ov_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-<li>
-rb_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-<li>
-n_map-
-<tt>std::map</tt></li>
-<li>
-splay_tree_map-
-<a href="tree.html"><tt>tree</tt></a>
- with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a>
-, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a>
-</li>
-</ol>
-</div><div style="width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="NTL_res_div">
-<div id="NTL_local">
-<div id="NTL_tree_text_lor_find_timing_test">
-<div id="NTL_assoc">
-<div id="NTL_Native_and_tree-based_locality-of-reference_text_find_timing_test_using__tt_find_455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTL" id= "NTL"><img src="tree_text_lor_find_timing_test_local.png" alt="no image" /></a></h6>NTL: Native and tree-based locality-of-reference text find timing test using <tt>find</tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div>
-</div>
-</div>
-</div>
-</div>
-<h2><a name="observations" id="observations">Observations</a></h2>
-<p>For this setting, an ordered-vector tree ( <a href="tree.html"><tt>tree</tt></a>
-    with <tt>Tag =</tt> <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a> ), a
-    red-black tree ( <a href="tree.html"><tt>tree</tt></a>
-    with <tt>Tag =</tt> <a href="splay_tree_tag.html"><tt>rb_tree_tag</tt></a> ), and the
-    native red-black tree all share approximately the same
-    performance.</p>
-<p>A splay tree ( <a href="tree.html"><tt>tree</tt></a>
-    with <tt>Tag =</tt> <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a> ) does
-    much better, since each (successful) find "bubbles" the
-    corresponding node to the root of the tree.</p>
-<p><a href="assoc_performance_tests.html#tree_like_based_types">Observations::Tree-Like-Based
-    Container Types</a> summarizes some observations on tree-based
-    and trie-based containers.</p>
-</div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_timing_test_gcc.png b/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_timing_test_gcc.png
deleted file mode 100644 (file)
index cf5174d..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_timing_test_gcc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_timing_test_local.png b/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_timing_test_local.png
deleted file mode 100644 (file)
index 960803b..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_timing_test_local.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_timing_test_msvc.png b/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_timing_test_msvc.png
deleted file mode 100644 (file)
index 583a027..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_timing_test_msvc.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/trie.html b/libstdc++-v3/doc/html/ext/pb_ds/trie.html
deleted file mode 100644 (file)
index 32a2ab1..0000000
+++ /dev/null
@@ -1,489 +0,0 @@
-<!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>trie Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>trie</tt> Interface</h1>
-
-    <p>A concrete basic trie-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="E_Access_Traits686553840" id=
-"E_Access_Traits686553840"><b>class</b> E_Access_Traits </a>
-</pre>
-        </td>
-
-        <td>
-          <p>Element-access traits.</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><a href="pat_trie_tag.html"><span class=
-        "c2"><tt>pat_trie_tag</tt></span></a></td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="Node_Update841554648" id=
-"Node_Update841554648"><b>template</b>&lt; 
-  <b>typename</b> Const_Node_Iterator, 
-  <b>typename</b> Node_Iterator, 
-  <b>class</b> E_Access_Traits_, 
-  <b>typename</b> Allocator_&gt;
-<b>class</b> Node_Update </a>
-</pre>
-        </td>
-
-        <td>
-          <p>Node updater type.</p>
-
-          <p><a href=
-          "tree_based_containers.html#invariants">Design::Tree-Based
-          Containers::Node Invariants</a> explains this
-          concept.</p>
-        </td>
-
-        <td><a href="null_trie_node_update.html"><span class=
-        "c2"><tt>null_trie_node_update</tt></span></a></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&lt;<b>char</b>&gt;
-</pre>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link2" id="link2">Public Types and
-    Constants</a></h2>
-
-    <h3><a name="link3" id="link3">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="e_access_traits1948190928" id=
-"e_access_traits1948190928">e_access_traits</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Element access traits type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link4" id="link4">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_node_iterator4205924553" id=
-"const_node_iterator4205924553">const_node_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href=
-"trie_const_node_iterator.html"><span class=
-"c2"><tt>const_node_iterator</tt></span></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Const node iterator.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="node_iterator3431975247" id=
-"node_iterator3431975247">node_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="trie_node_iterator.html"><span class=
-"c2"><tt>node_iterator</tt></span></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Node iterator.</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>
-  trie
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Default constructor.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-  trie
-  (<b>const</b> <a href=
-"#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a> &amp;r_e_access_traits)
-</pre>
-        </td>
-
-        <td>
-          <p>Constructor taking some policy objects. <span class=
-          "c1"><tt>r_e_access_traits</tt></span> will be copied by
-          the <a href=
-          "#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a>
-          object of the container object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>template</b>&lt;
-    <b>class</b> It&gt;
-  trie
-  (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>&lt;
-    <b>class</b> It&gt;
-  trie
-  (It first_it, 
-    It last_it,
-    <b>const</b> <a href=
-"#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a> &amp;r_e_access_traits)
-</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>
-  trie
-  (<b>const</b> <span class=
-"c2"><tt>trie</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Copy constructor.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> 
-  ~trie
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Destructor.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<span class="c2"><tt>trie</tt></span> &amp;
-  <b>operator</b>=
-  (<b>const</b> <span class=
-"c2"><tt>trie</tt></span> &amp;other)
-</pre>
-        </td>
-
-        <td>
-          <p>Assignment operator.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>void</b>
-  swap
-  (<span class=
-"c2"><tt>trie</tt></span> &amp;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=
-"#e_access_traits1948190928"><tt>e_access_traits</tt></a> &amp;
-  get_e_access_traits
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Access to the comb_hash_fn object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a href=
-"#e_access_traits1948190928"><tt>e_access_traits</tt></a> &amp;
-  get_e_access_traits
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Const access to the comb_hash_fn object.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link8" id="link8">Node-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="#node_iterator3431975247"><tt>node_iterator</tt></a>
-  node_begin
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Returns a <a href=
-          "#node_iterator3431975247"><tt>node_iterator</tt></a>
-          corresponding to the node at the root of the trie.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a href=
-"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
-  node_begin
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns a <a href=
-          "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
-          corresponding to the node at the root of the trie.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a href="#node_iterator3431975247"><tt>node_iterator</tt></a>
-  node_end
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Returns a <a href=
-          "#node_iterator3431975247"><tt>node_iterator</tt></a>
-          corresponding to a node just after a leaf of the
-          trie.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a href=
-"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
-  node_end
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns a <a href=
-          "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
-          corresponding to a node just after a leaf of the
-          trie.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/trie_based_containers.html b/libstdc++-v3/doc/html/ext/pb_ds/trie_based_containers.html
deleted file mode 100644 (file)
index 72bdd06..0000000
+++ /dev/null
@@ -1,241 +0,0 @@
-<!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>Trie-Based Containers</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1>Trie Design</h1>
-
-    <h2><a name="overview" id="overview">Overview</a></h2>
-
-    <p>The trie-based container has the following declaration:</p>
-    <pre>
-<b>template</b>&lt;
-    <b>typename</b> Key,
-    <b>typename</b> Mapped,
-    <b>typename</b> Cmp_Fn = std::less&lt;Key&gt;,
-    <b>typename</b> Tag =  <a href="pat_trie_tag.html">pat_trie_tag</a>,
-    <b>template</b>&lt;
-        <b>typename</b> Const_Node_Iterator,
-        <b>typename</b> Node_Iterator,
-        <b>typename</b> E_Access_Traits_,
-        <b>typename</b> Allocator_&gt;
-    <b>class</b> Node_Update = <a href=
-"null_trie_node_update.html">null_trie_node_update</a>,
-    <b>typename</b> Allocator = std::allocator&lt;<b>char</b>&gt; &gt;
-<b>class</b> <a href=
-"trie.html">trie</a>;
-</pre>
-
-    <p>The parameters have the following meaning:</p>
-
-    <ol>
-      <li><tt>Key</tt> is the key type.</li>
-
-      <li><tt>Mapped</tt> is the mapped-policy, and is explained in
-      <a href="tutorial.html#assoc_ms">Tutorial::Associative
-      Containers::Associative Containers Others than Maps</a>.</li>
-
-      <li><tt>E_Access_Traits</tt> is described in <a href=
-      "#e_access_traits">Element-Access Traits</a>.</li>
-
-      <li><tt>Tag</tt> specifies which underlying data structure
-      to use, and is described shortly.</li>
-
-      <li><tt>Node_Update</tt> is a policy for updating node
-      invariants. This is described in <a href="#invariants">Node
-      Invariants</a>.</li>
-
-      <li><tt>Allocator</tt> is an allocator
-      type.</li>
-    </ol>
-
-    <p>The <tt>Tag</tt> parameter specifies which underlying
-    data structure to use. Instantiating it by <a href=
-    "pat_trie_tag.html">pat_trie_tag</a>, specifies an
-    underlying PATRICIA trie (explained shortly); any other tag is
-    currently illegal.</p>
-    <hr />
-
-    <p>Following is a description of a (PATRICIA) trie
-    (<tt>pb_ds</tt> follows specifically [<a href=
-    "references.html#okasaki98mereable">okasaki98mereable</a>] and
-    [<a href=
-    "references.html#filliatre2000ptset">filliatre2000ptset</a>]).</p>
-
-    <p>A (PATRICIA) trie is similar to a tree, but with the
-    following differences:</p>
-
-    <ol>
-      <li>It explicitly views keys as a sequence of elements.
-      <i>E.g.</i>, a trie can view a string as a sequence of
-      characters; a trie can view a number as a sequence of
-      bits.</li>
-
-      <li>It is not (necessarily) binary. Each node has fan-out <i>n
-      + 1</i>, where <i>n</i> is the number of distinct
-      elements.</li>
-
-      <li>It stores values only at leaf nodes.</li>
-
-      <li>Internal nodes have the properties that A) each has at
-      least two children, and B) each shares the same prefix with
-      any of its descendant.</li>
-    </ol>
-
-    <p><a href="#e_access_traits">Element-Access Traits</a> shows
-    an example of such a trie.</p>
-
-    <p>A (PATRICIA) trie has some useful properties:</p>
-
-    <ol>
-      <li>It can be configured to use large node fan-out, giving it
-      very efficient find performance (albeit at insertion
-      complexity and size).</li>
-
-      <li>It works well for common-prefix keys.</li>
-
-      <li>It can support efficiently queries such as which keys
-      match a certain prefix. This is sometimes useful in
-      file systems and routers.</li>
-    </ol>
-
-    <p>(We would like to thank Matt Austern for the suggestion to
-    include tries.)</p>
-
-    <h2><a name="e_access_traits" id=
-    "e_access_traits">Element-Access Traits</a></h2>
-
-    <p>A trie inherently views its keys as sequences of elements.
-    For example, a trie can view a string as a sequence of
-    characters. A trie needs to map each of <i>n</i> elements to a
-    number in <i>{0, n - 1}</i>. For example, a trie can map a
-    character <tt>c</tt> to
-    <tt>static_cast&lt;size_t&gt;(c)</tt>.</p>
-
-    <p>Seemingly, then, a trie can assume that its keys support
-    (const) iterators, and that the <tt>value_type</tt> of this
-    iterator can be cast to a <tt>size_t</tt>. There are several
-    reasons, though, to decouple the mechanism by which the trie
-    accesses its keys' elements from the trie:</p>
-
-    <ol>
-      <li>In some cases, the numerical value of an element is
-      inappropriate. Consider a trie storing DNA strings. It is
-      logical to use a trie with a fan-out of <i>5 = 1 + |{'A', 'C',
-      'G', 'T'}|</i>. This requires mapping 'T' to 3, though.</li>
-
-      <li>In some cases the keys' iterators are different than what
-      is needed. For example, a trie can be used to search for
-      common <u>suffixes</u>, by using strings'
-      <tt>reverse_iterator</tt>. As another example, a trie mapping
-      UNICODE strings would have a huge fan-out if each node would
-      branch on a UNICODE character; instead, one can define an
-      iterator iterating over 8-bit (or less) groups.</li>
-    </ol>
-
-    <p><a href=
-    "trie.html">trie</a> is,
-    consequently, parametrized by <tt>E_Access_Traits</tt> -
-    traits which instruct how to access sequences' elements.
-    <a href=
-    "string_trie_e_access_traits.html"><tt>string_trie_e_access_traits</tt></a>
-    is a traits class for strings. Each such traits define some
-    types, <i>e.g.</i>,</p>
-    <pre>
-<b>typename</b> E_Access_Traits::const_iterator
-</pre>
-
-    <p>is a const iterator iterating over a key's elements. The
-    traits class must also define methods for obtaining an iterator
-    to the first and last element of a key.</p>
-
-    <p>Figure <a href="#pat_trie">A PATRICIA trie</a> shows a
-    (PATRICIA) trie resulting from inserting the words: "I wish
-    that I could ever see a poem lovely as a trie" (which,
-    unfortunately, does not rhyme).</p>
-
-    <p>The leaf nodes contain values; each internal node contains
-    two <tt><b>typename</b> E_Access_Traits::const_iterator</tt>
-    objects, indicating the maximal common prefix of all keys in
-    the sub-tree. For example, the shaded internal node roots a
-    sub-tree with leafs "a" and "as". The maximal common prefix is
-    "a". The internal node contains, consequently, to const
-    iterators, one pointing to <tt>'a'</tt>, and the other to
-    <tt>'s'</tt>.</p>
-
-    <h6 class="c1"><a name="pat_trie" id="pat_trie"><img src=
-    "pat_trie.png" alt="no image" /></a></h6>
-
-    <h6 class="c1">A PATRICIA trie.</h6>
-
-    <h2><a name="invariants" id="invariants">Node
-    Invariants</a></h2>
-
-    <p>Trie-based containers support node invariants, as do
-    tree-based containers (see <a href=
-    "tree_based_containers.html#invariants">Tree-Based
-    Containers::Node Invariants</a>). There are two minor
-    differences, though, which, unfortunately, thwart sharing them
-    sharing the same node-updating policies:</p>
-
-    <ol>
-      <li>A trie's <tt>Node_Update</tt> template-template
-      parameter is parametrized by <tt>E_Access_Traits</tt>, while
-      a tree's <tt>Node_Update</tt> template-template parameter is
-      parametrized by <tt>Cmp_Fn</tt>.</li>
-
-      <li>Tree-based containers store values in all nodes, while
-      trie-based containers (at least in this implementation) store
-      values in leafs.</li>
-    </ol>
-
-    <p>Figure <a href="#trie_node_update_cd">A trie and its update
-    policy</a> shows the scheme, as well as some predefined
-    policies (which are explained below).</p>
-
-    <h6 class="c1"><a name="trie_node_update_cd" id=
-    "trie_node_update_cd"><img src=
-    "trie_node_update_policy_cd.png" alt="no image" /></a></h6>
-
-    <h6 class="c1">A trie and its update policy.</h6>
-
-    <p><tt>pb_ds</tt> offers the following pre-defined trie node
-    updating policies:</p>
-
-    <ol>
-      <li><a href=
-      "trie_order_statistics_node_update.html"><tt>trie_order_statistics_node_update</tt></a>
-      supports order statistics.</li>
-
-      <li><a href=
-      "trie_prefix_search_node_update.html"><tt>trie_prefix_search_node_update</tt></a>
-      supports searching for ranges that match a given prefix. See
-      <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>.</li>
-
-      <li><a href=
-      "null_trie_node_update.html"><tt>null_trie_node_update</tt></a>
-      is the null node updater.</li>
-    </ol>
-
-    <h2><a name="add_methods" id="add_methods">Additional
-    Methods</a></h2>
-
-    <p>Trie-based containers support split and join methods; the
-    rationale is equal to that of tree-based containers supporting
-    these methods (see <a href=
-    "tree_based_containers.html#add_methods">Tree-Based
-    Containers::Additional Methods</a>).</p>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/trie_const_node_iterator.html b/libstdc++-v3/doc/html/ext/pb_ds/trie_const_node_iterator.html
deleted file mode 100644 (file)
index 0869a7c..0000000
+++ /dev/null
@@ -1,478 +0,0 @@
-<!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>trie::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>trie</tt></span>::const_node_iterator</tt>
-    Interface</h1>
-
-    <p>Const node iterator.</p>
-
-    <p>This is an "iterator to an iterator" - it iterates over
-    nodes, and de-referencing it returns one of the tree's const
-    iterators</p>
-
-    <h2><a name="link1" id="link1">Public Types and
-    Constants</a></h2>
-
-    <h3><a name="link2" id="link2">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>
-<a href="container_base.html#size_type55424436"><span class=
-"c2"><tt>container_base</tt></span>::size_type</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Size type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link3" id="link3">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="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="c2">
-void
-</pre>
-        </td>
-
-        <td>
-          <p>Difference type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link4" id="link4">Value-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="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="#value_type279018186"><tt>value_type</tt></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="#value_type279018186"><tt>value_type</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Iterator's const <a href=
-          "#reference54418471"><tt>reference</tt></a> type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="e_access_traits1948190928" id=
-"e_access_traits1948190928">e_access_traits</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href=
-"trie.html#e_access_traits1948190928"><span class="c2"><tt>trie</tt></span>::e_access_traits</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Element access traits.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="const_e_iterator2450008044" id=
-"const_e_iterator2450008044">const_e_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#e_access_traits1948190928"><tt>e_access_traits</tt></a>::const_iterator
-</pre>
-        </td>
-
-        <td>
-          <p>A key's element const iterator.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link5" id="link5">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_trie_node_update.html"><span class=
-    "c2"><tt>null_trie_node_update</tt></span></a></p>
-
-    <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="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&lt;
-    <a href=
-"#metadata_type2849297114"><tt>metadata_type</tt></a>&gt;::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="link6" id="link6">Public Methods</a></h2>
-
-    <h3><a name="link7" id="link7">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>inline</b> 
-  const_node_iterator
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Default constructor.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link8" id="link8">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>
-<b>inline</b> std::pair&lt;
-    <a href=
-"#const_e_iterator2450008044"><tt>const_e_iterator</tt></a>,
-    <a href=
-"#const_e_iterator2450008044"><tt>const_e_iterator</tt></a>&gt;
-  valid_prefix
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Subtree valid prefix.</p>
-
-          <p>Returns the common prefix range of all nodes in this
-          node's subtree.</p>
-        </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>Const access; returns the const iterator associated
-          with the current leaf.</p>
-
-          <p>Should be called only for leaf nodes.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link9" id="link9">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_trie_node_update.html"><span class=
-    "c2"><tt>null_trie_node_update</tt></span></a></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> <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="link10" id="link10">Movement 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>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a>
-  num_children
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the number of children in the corresponding
-          node.</p>
-
-          <p>If the number of children is 0, then the corresponding
-          node is a leaf; otherwise, it is not a leaf.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<span class="c2"><tt>const_node_iterator</tt></span>
-  get_child
-  (<a href=
-"#size_type55424436"><tt>size_type</tt></a> i) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns a const node iterator to the corresponding
-          node's <span class="c1"><tt>i</tt></span>-th child.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link11" id="link11">Comparison 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>inline</b> <b>bool</b>
-  <b>operator</b>==
-  (<b>const</b> <span class=
-"c2"><tt>const_node_iterator</tt></span> &amp;other) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Compares content 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> &amp;other) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Compares content (negatively) to a different iterator
-          object.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/trie_node_iterator.html b/libstdc++-v3/doc/html/ext/pb_ds/trie_node_iterator.html
deleted file mode 100644 (file)
index 55029c4..0000000
+++ /dev/null
@@ -1,235 +0,0 @@
-<!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>trie::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>trie</tt></span>::node_iterator</tt>
-    Interface</h1>
-
-    <p>Node iterator.</p>
-
-    <p>This is an "iterator to an iterator" - it iterates over
-    nodes, and de-referencing it returns one of the tree's
-    iterators</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=
-"trie.html#const_node_iterator4205924553"><span class="c2"><tt>trie</tt></span>::const_node_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <p>public</p>
-        </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=
-"trie.html#const_node_iterator4205924553"><span class="c2"><tt>trie</tt></span>::const_node_iterator</a>::size_type
-</pre>
-        </td>
-
-        <td>
-          <p>Size type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link4" id="link4">Value-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="value_type279018186" id=
-"value_type279018186">value_type</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="container_base.html#iterator10418194"><span class=
-"c2"><tt>container_base</tt></span>::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="#value_type279018186"><tt>value_type</tt></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="#value_type279018186"><tt>value_type</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Iterator's const <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="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> 
-  pat_trie_node_it_
-  () 
-</pre>
-        </td>
-
-        <td>
-          <p>Default constructor.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link7" id="link7">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>
-<b>inline</b> <a href="#reference54418471"><tt>reference</tt></a>
-  <b>operator</b>*
-  () <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Access; returns the iterator associated with the
-          current leaf.</p>
-
-          <p>Should be called only for leaf nodes.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link8" id="link8">Movement 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>
-<span class="c2"><tt>node_iterator</tt></span>
-  get_child
-  (<a href=
-"#size_type55424436"><tt>size_type</tt></a> i) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns a node iterator to the corresponding node's
-          <span class="c1"><tt>i</tt></span>-th child.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/trie_node_updator_policy_cd.png b/libstdc++-v3/doc/html/ext/pb_ds/trie_node_updator_policy_cd.png
deleted file mode 100644 (file)
index 4376929..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/trie_node_updator_policy_cd.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/trie_order_statistics_node_update.html b/libstdc++-v3/doc/html/ext/pb_ds/trie_order_statistics_node_update.html
deleted file mode 100644 (file)
index 66aab26..0000000
+++ /dev/null
@@ -1,770 +0,0 @@
-<!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>trie_order_statistics_node_update Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>trie_order_statistics_node_update</tt> Interface</h1>
-
-    <p>Functor updating ranks of entrees.</p>
-
-    <p>Defined in: <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/trie_policy.hpp"><tt>trie_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="Const_Node_Iterator1933878761" id=
-"Const_Node_Iterator1933878761"><b>class</b> Const_Node_Iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Const node iterator type.</p>
-        </td>
-
-        <td>-</td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="Node_Iterator4206909839" id=
-"Node_Iterator4206909839"><b>class</b> Node_Iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Node iterator type.</p>
-        </td>
-
-        <td>-</td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="E_Access_Traits686553840" id=
-"E_Access_Traits686553840"><b>class</b> E_Access_Traits</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Comparison functor.</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">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="e_access_traits1948190928" id=
-"e_access_traits1948190928">e_access_traits</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Element access traits.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="const_e_iterator2450008044" id=
-"const_e_iterator2450008044">const_e_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#e_access_traits1948190928"><tt>e_access_traits</tt></a>::const_iterator
-</pre>
-        </td>
-
-        <td>
-          <p>Const element iterator.</p>
-        </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="link4" id="link4">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>
-<b>typename</b> <a href=
-"#allocator48440069"><tt>allocator</tt></a>::size_type
-</pre>
-        </td>
-
-        <td>
-          <p>Size type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link5" id="link5">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>
-The instantiating container's key type.
-</pre>
-        </td>
-
-        <td>
-          <p>Key type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="const_key_reference3185471705" id=
-"const_key_reference3185471705">const_key_reference</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-The instantiating container's const key reference type.
-</pre>
-        </td>
-
-        <td>
-          <p>Const key reference.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link6" id="link6">Metadata-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="metadata_type2849297114" id=
-"metadata_type2849297114">metadata_type</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#size_type55424436"><tt>size_type</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Metadata type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link7" id="link7">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_node_iterator4205924553" id=
-"const_node_iterator4205924553">const_node_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href=
-"#Const_Node_Iterator1933878761"><tt>Const_Node_Iterator</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Const node iterator type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="node_iterator3431975247" id=
-"node_iterator3431975247">node_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#Node_Iterator4206909839"><tt>Node_Iterator</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Node iterator type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="const_iterator98626788" id=
-"const_iterator98626788">const_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>::value_type
-</pre>
-        </td>
-
-        <td>
-          <p>Const iterator type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="iterator10418194" id="iterator10418194">iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#node_iterator3431975247"><tt>node_iterator</tt></a>::value_type
-</pre>
-        </td>
-
-        <td>
-          <p>Iterator type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link8" id="link8">Public Methods</a></h2>
-
-    <h3><a name="link9" id="link9">Find-Type 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>inline</b> <a href=
-"#const_iterator98626788"><tt>const_iterator</tt></a>
-  find_by_order
-  (<a href=
-"#size_type55424436"><tt>size_type</tt></a> order) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Finds an entry by order. Returns a <a href=
-          "#const_iterator98626788"><tt>const_iterator</tt></a> to
-          the entry with the order <span class=
-          "c1"><tt>order</tt></span>, or a <a href=
-          "#const_iterator98626788"><tt>const_iterator</tt></a> to
-          the container object's end if <span class=
-          "c1"><tt>order</tt></span> is at least the size of the
-          container object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <a href="#iterator10418194"><tt>iterator</tt></a>
-  find_by_order
-  (<a href="#size_type55424436"><tt>size_type</tt></a> order)
-</pre>
-        </td>
-
-        <td>
-          <p>Finds an entry by order. Returns an <a href=
-          "#iterator10418194"><tt>iterator</tt></a> to the entry
-          with the order <span class="c1"><tt>order</tt></span>, or
-          an <a href="#iterator10418194"><tt>iterator</tt></a> to
-          the container object's end if <span class=
-          "c1"><tt>order</tt></span> is at least the size of the
-          container object.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a>
-  order_of_key
-  (<a href=
-"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the order of a key within a sequence. For
-          example, if <span class="c1"><tt>r_key</tt></span> is the
-          smallest key, this method will return 0; if <span class=
-          "c1"><tt>r_key</tt></span> is a key between the smallest
-          and next key, this method will return 1; if <span class=
-          "c1"><tt>r_key</tt></span> is a key larger than the
-          largest key, this method will return the size of r_c.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a>
-  order_of_prefix
-  (<a href=
-"#const_e_iterator2450008044"><tt>const_e_iterator</tt></a> b,
-    <a href=
-"#const_e_iterator2450008044"><tt>const_e_iterator</tt></a> e) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the order of a prefix within a sequence. For
-          <span class="c1"><tt>e</tt></span>example, if [b,
-          <span class="c1"><tt>e</tt></span>] is the smallest
-          prefix, this method will return 0; if r_key is a key
-          <span class="c1"><tt>b</tt></span>between the smallest and
-          next key, this method will return 1; if r_key is a key
-          larger than the largest key, this method will return the
-          size of r_c.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link10" id="link10">Protected Types and
-    Constants</a></h2>
-
-    <h3><a name="link11" id="link11">Value-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_reference495461441" id=
-"const_reference495461441">const_reference</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-The instantiating container's const reference  type.
-</pre>
-        </td>
-
-        <td>
-          <p>Const reference to the container's value-type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="const_pointer878814947" id=
-"const_pointer878814947">const_pointer</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-The instantiating container's const pointer  type.
-</pre>
-        </td>
-
-        <td>
-          <p>Const pointer to the container's value-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> <a href=
-"#Allocator35940069"><tt>Allocator</tt></a>::<b>template</b> rebind&lt;
-    <a href=
-"#metadata_type2849297114"><tt>metadata_type</tt></a>&gt;::other::<a href="#const_reference495461441"><tt>const_reference</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Const metadata reference.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="metadata_reference583863863" id=
-"metadata_reference583863863">metadata_reference</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#Allocator35940069"><tt>Allocator</tt></a>::<b>template</b> rebind&lt;
-    <a href=
-"#metadata_type2849297114"><tt>metadata_type</tt></a>&gt;::other::reference
-</pre>
-        </td>
-
-        <td>
-          <p>Metadata reference.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link12" id="link12">Protected Methods</a></h2>
-
-    <h3><a name="link13" id="link13">Operators</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>inline</b> <b>void</b>
-  <b>operator</b>()
-  (<a href=
-"#node_iterator3431975247"><tt>node_iterator</tt></a> node_it,
-    <a href=
-"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> end_nd_it) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Updates the rank of a node through a <a href=
-          "#node_iterator3431975247"><tt>node_iterator</tt></a>
-          <span class="c1"><tt>node_it</tt></span>; <span class=
-          "c1"><tt>end_nd_it</tt></span> is the end node <a href=
-          "#iterator10418194"><tt>iterator</tt></a>.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link14" id="link14">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> 
-  ~trie_order_statistics_node_update
-  ()
-</pre>
-        </td>
-
-        <td>
-          <p>Destructor.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link15" id="link15">Private Methods</a></h2>
-
-    <h3><a name="link16" id="link16">Overrides</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>bool</b>
-  empty
-  () <b>const</b> = 0
-</pre>
-        </td>
-
-        <td>
-          <p>Returns <tt><b>true</b></tt> if the container is
-          empty.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> <a href="#iterator10418194"><tt>iterator</tt></a>
-  begin
-  () = 0
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the <a href=
-          "#iterator10418194"><tt>iterator</tt></a> associated with
-          the trie's first element.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> <a href="#iterator10418194"><tt>iterator</tt></a>
-  end
-  () = 0
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the <a href=
-          "#iterator10418194"><tt>iterator</tt></a> associated with
-          the trie's just-after-last element.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> <a href=
-"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
-  node_begin
-  () <b>const</b> = 0
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the <a href=
-          "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
-          associated with the trie's root node.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> <a href=
-"#node_iterator3431975247"><tt>node_iterator</tt></a>
-  node_begin
-  () = 0
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the <a href=
-          "#node_iterator3431975247"><tt>node_iterator</tt></a>
-          associated with the trie's root node.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> <a href=
-"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
-  node_end
-  () <b>const</b> = 0
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the <a href=
-          "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
-          associated with a just-after leaf node.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> <a href=
-"#node_iterator3431975247"><tt>node_iterator</tt></a>
-  node_end
-  () = 0
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the <a href=
-          "#node_iterator3431975247"><tt>node_iterator</tt></a>
-          associated with a just-after leaf node.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> <a href=
-"#e_access_traits1948190928"><tt>e_access_traits</tt></a> &amp;
-  get_e_access_traits
-  () = 0
-</pre>
-        </td>
-
-        <td>
-          <p>Access to the cmp_fn object.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/trie_prefix_search_node_update.html b/libstdc++-v3/doc/html/ext/pb_ds/trie_prefix_search_node_update.html
deleted file mode 100644 (file)
index e136495..0000000
+++ /dev/null
@@ -1,628 +0,0 @@
-<!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>trie_prefix_search_node_update Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>trie_prefix_search_node_update</tt> Interface</h1>
-
-    <p>A node updater that allows tries to be searched for the
-    range of values that match a certain prefix.</p>
-
-    <p>Defined in: <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/trie_policy.hpp"><tt>trie_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="Const_Node_Iterator1933878761" id=
-"Const_Node_Iterator1933878761"><b>class</b> Const_Node_Iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Const node iterator type.</p>
-        </td>
-
-        <td>-</td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="Node_Iterator4206909839" id=
-"Node_Iterator4206909839"><b>class</b> Node_Iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Node iterator type.</p>
-        </td>
-
-        <td>-</td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="E_Access_Traits686553840" id=
-"E_Access_Traits686553840"><b>class</b> E_Access_Traits</a>
-</pre>
-        </td>
-
-        <td>
-          <p>Comparison functor.</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">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>
-The instantiating container's key type.
-</pre>
-        </td>
-
-        <td>
-          <p>Key type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="const_key_reference3185471705" id=
-"const_key_reference3185471705">const_key_reference</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-The instantiating container's const key reference type.
-</pre>
-        </td>
-
-        <td>
-          <p>Const key reference.</p>
-        </td>
-      </tr>
-    </table>
-
-    <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="e_access_traits1948190928" id=
-"e_access_traits1948190928">e_access_traits</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Element access traits.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="const_e_iterator2450008044" id=
-"const_e_iterator2450008044">const_e_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#e_access_traits1948190928"><tt>e_access_traits</tt></a>::const_iterator
-</pre>
-        </td>
-
-        <td>
-          <p>Const element iterator.</p>
-        </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="link5" id="link5">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>
-<b>typename</b> <a href=
-"#allocator48440069"><tt>allocator</tt></a>::size_type
-</pre>
-        </td>
-
-        <td>
-          <p>Size type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link6" id="link6">Metadata-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="metadata_type2849297114" id=
-"metadata_type2849297114">metadata_type</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-__gnu_pbds::detail::null_node_metadata
-</pre>
-        </td>
-
-        <td>
-          <p>Metadata type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link7" id="link7">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_node_iterator4205924553" id=
-"const_node_iterator4205924553">const_node_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href=
-"#Const_Node_Iterator1933878761"><tt>Const_Node_Iterator</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Const node iterator type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="node_iterator3431975247" id=
-"node_iterator3431975247">node_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#Node_Iterator4206909839"><tt>Node_Iterator</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Node iterator type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="const_iterator98626788" id=
-"const_iterator98626788">const_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>::value_type
-</pre>
-        </td>
-
-        <td>
-          <p>Const iterator type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="iterator10418194" id="iterator10418194">iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> <a href=
-"#node_iterator3431975247"><tt>node_iterator</tt></a>::value_type
-</pre>
-        </td>
-
-        <td>
-          <p>Iterator type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link8" id="link8">Public Methods</a></h2>
-
-    <h3><a name="link9" id="link9">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>
-std::pair&lt;
-    <a href="#const_iterator98626788"><tt>const_iterator</tt></a>,
-    <a href=
-"#const_iterator98626788"><tt>const_iterator</tt></a>&gt;
-  prefix_range
-  (<a href=
-"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Finds the <tt><b>const</b></tt> <a href=
-          "#iterator10418194"><tt>iterator</tt></a> range
-          corresponding to all values whose prefixes match
-          <span class="c1"><tt>r_key</tt></span>.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-std::pair&lt;
-    <a href="#iterator10418194"><tt>iterator</tt></a>,
-    <a href="#iterator10418194"><tt>iterator</tt></a>&gt;
-  prefix_range
-  (<a href=
-"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key)
-</pre>
-        </td>
-
-        <td>
-          <p>Finds the <a href=
-          "#iterator10418194"><tt>iterator</tt></a> range
-          corresponding to all values whose prefixes match
-          <span class="c1"><tt>r_key</tt></span>.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-std::pair&lt;
-    <a href="#const_iterator98626788"><tt>const_iterator</tt></a>,
-    <a href=
-"#const_iterator98626788"><tt>const_iterator</tt></a>&gt;
-  prefix_range
-  (<a href=
-"#const_e_iterator2450008044"><tt>const_e_iterator</tt></a> b,
-    <a href=
-"#const_e_iterator2450008044"><tt>const_e_iterator</tt></a> e) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Finds the <tt><b>const</b></tt> <a href=
-          "#iterator10418194"><tt>iterator</tt></a> range
-          corresponding to all values whose prefixes match [b,
-          <span class="c1"><tt>e</tt></span>).</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-std::pair&lt;
-    <a href="#iterator10418194"><tt>iterator</tt></a>,
-    <a href="#iterator10418194"><tt>iterator</tt></a>&gt;
-  prefix_range
-  (<a href=
-"#const_e_iterator2450008044"><tt>const_e_iterator</tt></a> b,
-    <a href=
-"#const_e_iterator2450008044"><tt>const_e_iterator</tt></a> e)
-</pre>
-        </td>
-
-        <td>
-          <p>Finds the <a href=
-          "#iterator10418194"><tt>iterator</tt></a> range
-          corresponding to all values whose prefixes match [b,
-          <span class="c1"><tt>e</tt></span>).</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link10" id="link10">Protected Methods</a></h2>
-
-    <h3><a name="link11" id="link11">Operators</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>inline</b> <b>void</b>
-  <b>operator</b>()
-  (<a href=
-"#node_iterator3431975247"><tt>node_iterator</tt></a> node_it,
-    <a href=
-"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> end_nd_it) <b>const</b>
-</pre>
-        </td>
-
-        <td>
-          <p>Called to update a node's metadata.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link12" id="link12">Private Methods</a></h2>
-
-    <h3><a name="link13" id="link13">Overrides</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> <a href=
-"#const_iterator98626788"><tt>const_iterator</tt></a>
-  end
-  () <b>const</b> = 0
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the <tt><b>const</b></tt> <a href=
-          "#iterator10418194"><tt>iterator</tt></a> associated with
-          the just-after last element.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> <a href="#iterator10418194"><tt>iterator</tt></a>
-  end
-  () = 0
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the <a href=
-          "#iterator10418194"><tt>iterator</tt></a> associated with
-          the just-after last element.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> <a href=
-"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
-  node_begin
-  () <b>const</b> = 0
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the <a href=
-          "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
-          associated with the trie's root node.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> <a href=
-"#node_iterator3431975247"><tt>node_iterator</tt></a>
-  node_begin
-  () = 0
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the <a href=
-          "#node_iterator3431975247"><tt>node_iterator</tt></a>
-          associated with the trie's root node.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> <a href=
-"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
-  node_end
-  () <b>const</b> = 0
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the <a href=
-          "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
-          associated with a just-after leaf node.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> <a href=
-"#node_iterator3431975247"><tt>node_iterator</tt></a>
-  node_end
-  () = 0
-</pre>
-        </td>
-
-        <td>
-          <p>Returns the <a href=
-          "#node_iterator3431975247"><tt>node_iterator</tt></a>
-          associated with a just-after leaf node.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>virtual</b> <b>const</b> <a href=
-"#e_access_traits1948190928"><tt>e_access_traits</tt></a> &amp;
-  get_e_access_traits
-  () <b>const</b> = 0
-</pre>
-        </td>
-
-        <td>
-          <p>Access to the cmp_fn object.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/trie_string_access_traits.html b/libstdc++-v3/doc/html/ext/pb_ds/trie_string_access_traits.html
deleted file mode 100644 (file)
index 4ce9e86..0000000
+++ /dev/null
@@ -1,400 +0,0 @@
-<!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>string_trie_e_access_traits Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>string_trie_e_access_traits</tt> Interface</h1>
-
-    <p>Element access traits for string types.</p>
-
-    <p>Defined in: <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/trie_policy.hpp"><tt>trie_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="String349403" id="String349403"><b>class</b> String </a>
-</pre>
-        </td>
-
-        <td>
-          <p>String type.</p>
-        </td>
-
-        <td><tt>std::string</tt></td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="Min_E_Val40354618" id=
-"Min_E_Val40354618"><b>typename</b> </a><a href=
-"#String349403"><tt>String</tt></a>::value_type Min_E_Val 
-</pre>
-        </td>
-
-        <td>
-          <p>Minimal element.</p>
-        </td>
-
-        <td><tt>SCHAR_MIN</tt></td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="Max_E_Val39885868" id=
-"Max_E_Val39885868"><b>typename</b> </a><a href=
-"#String349403"><tt>String</tt></a>::value_type Max_E_Val 
-</pre>
-        </td>
-
-        <td>
-          <p>Maximal element.</p>
-        </td>
-
-        <td><tt>SCHAR_MAX</tt></td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="Reverse1686776" id=
-"Reverse1686776"><b>bool</b> Reverse </a>
-</pre>
-        </td>
-
-        <td>
-          <p>Indicates whether reverse iteration should be
-          used.</p>
-        </td>
-
-        <td><tt><b>false</b></tt></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&lt;<b>char</b>&gt;
-</pre>
-        </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>
-<b>typename</b> <a href=
-"#Allocator35940069"><tt>Allocator</tt></a>::size_type
-</pre>
-        </td>
-
-        <td>
-          <p>Size type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <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="key_type10393186" id="key_type10393186">key_type</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#String349403"><tt>String</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Key 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=
-"#Allocator35940069"><tt>Allocator</tt></a>::<b>template</b> rebind&lt;
-    <a href=
-"#key_type10393186"><tt>key_type</tt></a>&gt;::other::const_reference
-</pre>
-        </td>
-
-        <td>
-          <p>Const key reference type.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h3><a name="link5" id="link5">Element-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="reverse2186776" id="reverse2186776">reverse</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#Reverse1686776"><tt>Reverse</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p><a href="#Reverse1686776"><tt>Reverse</tt></a>
-          iteration indicator.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="const_iterator98626788" id=
-"const_iterator98626788">const_iterator</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> __gnu_pbds::detail::__conditional_type&lt;
-    <a href="#Reverse1686776"><tt>Reverse</tt></a>,
-    <b>typename</b> <a href=
-"#String349403"><tt>String</tt></a>::const_reverse_iterator,
-    <b>typename</b> <a href=
-"#String349403"><tt>String</tt></a>::const_iterator&gt;::__type
-</pre>
-        </td>
-
-        <td>
-          <p>Element <tt><b>const</b></tt> iterator type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="e_type393186" id="e_type393186">e_type</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<b>typename</b> std::iterator_traits&lt;<a href=
-"#const_iterator98626788"><tt>const_iterator</tt></a>&gt;::value_type
-</pre>
-        </td>
-
-        <td>
-          <p>Element type.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="min_e_val52875418" id="min_e_val52875418">min_e_val</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#Min_E_Val40354618"><tt>Min_E_Val</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Minimal element.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="max_e_val52406668" id="max_e_val52406668">max_e_val</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#Max_E_Val39885868"><tt>Max_E_Val</tt></a>
-</pre>
-        </td>
-
-        <td>
-          <p>Maximal element.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<a name="max_size10483336" id="max_size10483336">max_size</a>
-</pre>
-        </td>
-
-        <td>
-          <pre>
-<a href="#max_e_val52406668"><tt>max_e_val</tt></a> - <a href=
-"#min_e_val52875418"><tt>min_e_val</tt></a> + 1
-</pre>
-        </td>
-
-        <td>
-          <p>Number of distinct elements.</p>
-        </td>
-      </tr>
-    </table>
-
-    <h2><a name="link6" id="link6">Public Methods</a></h2>
-
-    <h3><a name="link7" id="link7">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>
-<b>inline</b> <b>static</b> <a href=
-"#const_iterator98626788"><tt>const_iterator</tt></a>
-  begin
-  (<a href=
-"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key)
-</pre>
-        </td>
-
-        <td>
-          <p>Returns a <a href=
-          "#const_iterator98626788"><tt>const_iterator</tt></a> to
-          the first element of <span class=
-          "c1"><tt>r_key</tt></span>.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <b>static</b> <a href=
-"#const_iterator98626788"><tt>const_iterator</tt></a>
-  end
-  (<a href=
-"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key)
-</pre>
-        </td>
-
-        <td>
-          <p>Returns a <a href=
-          "#const_iterator98626788"><tt>const_iterator</tt></a> to
-          the after-last element of <span class=
-          "c1"><tt>r_key</tt></span>.</p>
-        </td>
-      </tr>
-
-      <tr>
-        <td>
-          <pre>
-<b>inline</b> <b>static</b> <a href=
-"#size_type55424436"><tt>size_type</tt></a>
-  e_pos
-  (<a href="#e_type393186"><tt>e_type</tt></a> e)
-</pre>
-        </td>
-
-        <td>
-          <p>Maps an <span class="c1"><tt>e</tt></span>element to a
-          position.</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/trie_tag.html b/libstdc++-v3/doc/html/ext/pb_ds/trie_tag.html
deleted file mode 100644 (file)
index 62bf124..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<!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>trie_tag Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>trie_tag</tt> Interface</h1>
-
-    <p>Basic trie 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_tree_tag.html"><span class=
-"c2"><tt>basic_tree_tag</tt></span></a>
-</pre>
-        </td>
-
-        <td>
-          <p>public</p>
-        </td>
-      </tr>
-    </table>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/trivial_iterator_tag.html b/libstdc++-v3/doc/html/ext/pb_ds/trivial_iterator_tag.html
deleted file mode 100644 (file)
index 1f59c51..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<!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>trivial_iterator_tag Interface</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1><tt>trivial_iterator_tag</tt> Interface</h1>
-
-    <p>A \quot;trivial\quot; iterator tag. Signifies that the
-    iterators has none of the STL's movement abilities.</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>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/tutorial.html b/libstdc++-v3/doc/html/ext/pb_ds/tutorial.html
deleted file mode 100644 (file)
index 152cd57..0000000
+++ /dev/null
@@ -1,670 +0,0 @@
-<!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">
-<head>
-  <meta name="generator" content=
-  "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
-
-  <title>Tutorial</title>
-  <meta http-equiv="Content-Type" content=
-  "text/html; charset=us-ascii" />
-  </head>
-
-<body>
-  <div id="page">
-    <h1>Short Tutorial</h1>
-
-    <p>Following is a short tutorial illustrating the main points
-    of <tt>pb_ds</tt>. <a href="concepts.html">Concepts</a>
-    describes and summarizes some concepts.</p>
-
-    <h2><a name="assoc_main" id="assoc_main">Associative
-    Containers</a></h2>
-
-    <h3><a name="assoc_basic" id="assoc_basic">Basic Use</a></h3>
-
-    <p>For the most part, <tt>pb_ds</tt>'s containers have the same
-    interface as the STL's, except for the names used for the
-    container classes themselves. For example, this shows basic
-    operations on a collision-chaining hash-based container:</p>
-
-    <pre>
-<a href=
-"cc_hash_table.html">cc_hash_table</a>&lt;<b>int</b>, <b>char</b>&gt; c;
-
-c[2] = 'b';
-
-assert(c.find(1) == c.end());
-</pre>
-
-    <p>The container is called <a href=
-    "cc_hash_table.html"><tt>cc_hash_table</tt></a> as
-    opposed to <tt>unordered_map</tt>, since "unordered map" does
-    not necessarily mean a hash-based map (as the STL implicitly
-    implies). For example, list-based associative containers, which
-    are very useful for the construction of "multimaps" (see
-    <a href=
-    "assoc_performance_tests.html#msc">Associative-Container
-    Performance Tests::Observations::Mapping-Semantics
-    Considerations</a>), are also unordered. It is also not called
-    <tt>hash_map</tt> since there are more ways than one to
-    implement hash tables.</p>
-
-    <p>This snippet shows a red-black tree based container:</p>
-    <pre>
-<a href=
-"tree.html">tree</a>&lt;<b>int</b>, <b>char</b>&gt; c;
-
-c[2] = 'b';
-
-assert(c.find(2) != c.end());
-</pre>
-
-    <p>The container is called <a href=
-    "tree.html"><tt>tree</tt></a>
-    as opposed to <tt>map</tt>, since "map" doesn't say that
-    much.</p>
-
-    <p>Most of the STL's familiar methods are unchanged.
-    <i>E.g.</i>, <tt>being</tt>, <tt>end</tt>, <tt>size</tt>,
-    <tt>empty</tt>, and <tt>clear</tt>, do just the same as is
-    customary. <a href=
-    "assoc_examples.html#basic_usage">Associative-Container
-    Examples::Basic use</a>, and especially <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>,
-    show examples of this.</p>
-
-<p>This isn't to say that things are exactly as one would expect,
-given the container requirments and interfaces in the C++
-standard.</p>
-
-
-    <p>The names of containers' policies and policy accessors are
-    different than those of the STL. For example, if <tt>C</tt> is
-    some type of hash-based container, then</p>
-    <pre>
-C::hash_fn
-</pre>gives the type of its hash functor, and if <tt>c</tt> is some
-hash-based container object, then
-    <pre>
-c.get_hash_fn()
-</pre>
-
-    <p>will return a reference to its hash-functor object.</p>
-
-    <p>Similarly, if <tt>C</tt> is some type of tree-based
-    container, then</p>
-    <pre>
-C::cmp_fn
-</pre>gives the type of its comparison functor, and if <tt>c</tt>
-is some tree-based container object, then
-    <pre>
-c.get_cmp_fn()
-</pre>
-
-    <p>will return a reference to its comparison-functor
-    object.</p>
-
-    <p>It would be nice to give names consistent with those in the
-    existing C++ standard (inclusive of TR1). Unfortunately, these
-    standard containers don't consistently name types and
-    methods. For example, <tt>std::tr1::unordered_map</tt> uses
-    <tt>hasher</tt> for the hash functor, but <tt>std::map</tt> uses
-    <tt>key_compare</tt> for the comparison functor. Also, we could
-    not find an accessor for <tt>std::tr1::unordered_map</tt>'s hash
-    functor, but <tt>std::map</tt> uses <tt>compare</tt> for accessing
-    the comparison functor.</p> 
-
-<p>Instead, <tt>pb_ds</tt> attempts to be internally consistent, and
-uses standard-derived terminology if possible.
-</p>
-
-    <p>Another source of difference is in scope: <tt>pb_ds</tt>
-    contains more types of associative containers than the STL, and
-    more opportunities to configure these new containers, since
-    different types of associative containers are useful in different
-    settings (see <a href=
-    "assoc_performance_tests.html#dss_family_choice">Associative-Container
-    Performance Tests::Observations::Underlying Data-Structure
-    Families</a>).</p>
-
-    <p><tt>pb_ds</tt> contains different classes for hash-based containers,
-    tree-based containers, trie-based containers, and list-based
-    containers. <a href=
-    "interface.html#containers_assoc">Inteface::Containers::Associative
-    Containers</a> lists the containers. <a href=
-    "hash_based_containers.html">Design::Associative
-    Containers::Hash-Based Containers</a>, <a href=
-    "tree_based_containers.html">Design::Associative
-    Containers::Tree-Based Containers</a>, <a href=
-    "trie_based_containers.html">Design::Associative
-    Containers::Trie-Based Containers</a>, and <a href=
-    "lu_based_containers.html">Design::Associative
-    Containers::List-Based Containers</a>, explain some more about
-    these types of containers, respectively.</p>
-
-    <p>Since associative containers share parts of their interface,
-    they are organized as a class hierarchy; it is shown in Figure
-    <a href="#cd">Class hierarchy</a>.</p>
-
-    <h6 class="c1"><a name="cd" id="cd"><img src="container_cd.png" alt=
-    "no image" /></a></h6>
-
-    <h6 class="c1">Class hierarchy.</h6>
-
-    <p>Each type or method is defined in the most-common ancestor
-    in which it makes sense:
-  <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>
-    shows an example of most of the associative-container
-    types.</p>
-
-    <p>For example, all associative containers support iteration.
-    Consequently, <a href=
-    "container_base.html"><tt>container_base</tt></a> has the
-    interface:</p>
-    <pre>
-<b>template</b>&lt;...&gt;
-<b>class</b> <a href="container_base.html">container_base</a>
-{
-    ...
-    
-<b>public</b>:
-    ...
-    
-    const_iterator
-    begin() <b>const</b>;
-    
-    iterator
-    begin();
-
-    const_iterator
-    end() <b>const</b>;
-    
-    iterator
-    end();
-        
-    ...
-};
-</pre>
-
-    <p>and so all associative containers inherent this method.
-    Conversely, both collision-chaining and (general) probing
-    hash-based associative containers have a hash functor, so
-    <a href=
-    "basic_hash_table.html"><tt>basic_hash_table</tt></a>
-    has the interface:</p>
-    <pre>
-<b>template</b>&lt;...&gt;
-<b>class</b> <a href="basic_hash_table.html">basic_hash_table</a> : <b>public</b> <a href="container_base.html">container_base</a>
-{
-    ...
-    
-<b>public</b>:
-    ...
-    
-    const hash_fn&amp;
-    get_hash_fn() const;
-        
-    hash_fn&amp;
-    get_hash_fn();
-    ...
-};
-</pre>
-
-    <p>and so all hash-based associative containers inherit the
-    same hash-functor accessor methods.</p>
-
-    <p>This is discussed further in <a href=
-    "ds_gen.html">Design::Associative Containers::Data-Structure
-    Genericity</a>.</p>
-
-    <h3><a name="assoc_policies" id="assoc_policies">Configuring
-    Associative Containers</a></h3>
-
-    <p>In general, each of <tt>pb_ds</tt>'s containers is
-    parametrized by more policies than those of the STL's. For
-    example, the STL's hash-based container is parametrized as
-    follows:</p>
-    <pre>
-<b>template</b>&lt;
-    <b>typename</b> Key,
-    <b>typename</b> Mapped,
-    <b>typename</b> Hash,
-    <b>typename</b> Pred,
-    <b>typename</b> Allocator,
-    <b>bool</b> Cache_Hashe_Code&gt;
-<b>class</b> unordered_map;
-</pre>
-
-    <p>and so can be configured by key type, mapped type, a functor
-    that translates keys to unsigned integral types, an equivalence
-    predicate, an allocator, and an indicator whether to store hash
-    values with each entry. <tt>pb_ds</tt>'s collision-chaining
-    hash-based container is parametrized as</p>
-    <pre>
-<b>template</b>&lt;
-    <b>typename</b> Key,
-    <b>typename</b> Mapped,
-    <b>typename</b> Hash_Fn,
-    <b>typename</b> Eq_Fn,
-    <b>typename</b> Comb_Hash_Fn,
-    <b>typename</b> Resize_Policy
-    <b>bool</b> Store_Hash
-    <b>typename</b> Allocator&gt;
-<b>class</b> <a href=
-"cc_hash_table.html">cc_hash_table</a>;
-</pre>
-
-    <p>and so can be configured by the first four types of
-    <tt>std::tr1::unordered_map</tt>, then a policy for translating
-    the key-hash result into a position within the table, then a
-    policy by which the table resizes, an indicator whether to
-    store hash values with each entry, and an allocator (which is
-    typically the last template parameter in STL containers).</p>
-
-    <p>Nearly all policy parameters have default values, so this
-    need not be considered for casual use. It is important to note,
-    however, that hash-based containers' policies can dramatically
-    alter their performance in different settings, and that
-    tree-based containers' policies can make them useful for other
-    purposes than just look-up.</p>
-
-    <p><a href="hash_based_containers.html">Design::Associative
-    Containers::Hash-Based Containers</a>, <a href=
-    "tree_based_containers.html">Design::Associative
-    Containers::Tree-Based Containers</a>, <a href=
-    "trie_based_containers.html">Design::Associative
-    Containers::Trie-Based Containers</a>, and <a href=
-    "lu_based_containers.html">Design::Associative
-    Containers::List-Based Containers</a>, explain some more about
-    configuring hash based, tree based, trie based, and list base
-    containers, respectively. <a href=
-    "interface.html#ds_policy_classes">Interface::Container Policy
-    Classes</a> shows the different policy classes for configuring
-    associative containers. <a href=
-    "assoc_examples.html#hash_based">Examples::Hash-Based
-    Containers</a>, <a href=
-    "assoc_examples.html#tree_like_based">Examples::Tree-Like-Based
-    Containers</a>, and <a href=
-    "assoc_examples.html#trie_based">Examples::Trie-Based
-    Containers</a> show examples for this.</p>
-
-    <h3><a name="assoc_ds_gen" id="assoc_ds_gen">Determining
-    Containers' Attributes</a></h3>
-
-    <p>Associative-containers' underlying data structures obviously
-    affect their performance; Unfortunately, they can also affect
-    their interface. When manipulating generically associative
-    containers, it is often useful to be able to statically
-    determine what they can support and what the cannot. (This was
-    discussed in <a href=
-    "motivation.html#assoc_ds_genericity">Motivation::Associative
-    Containers::Data-Structure Genericity</a>.)</p>
-
-    <p>Happily, the STL provides a good solution to a similar
-    problem - that of the different behavior of iterators. If
-    <tt>It</tt> is an iterator, then</p>
-    <pre>
-<b>typename</b> std::iterator_traits&lt;It&gt;::iterator_category
-</pre>
-
-    <p>is one of a small number of pre-defined
-    <tt><b>struct</b></tt>s, and,</p>
-    <pre>
-<b>typename</b> std::iterator_traits&lt;It&gt;::value_type
-</pre>
-
-    <p>is the value type to which the iterator "points".</p>
-
-    <p>Similarly, in <tt>pb_ds</tt>, if <tt>C</tt> is an
-    associative container, then</p>
-    <pre>
-<b>typename</b> <a href=
-"assoc_container_traits.html"><tt>container_traits</tt></a>&lt;C&gt;::container_category
-</pre>is one of a small number of pre-defined
-<tt><b>struct</b></tt>s, each one corresponding to a class in
-Figure <a href="#cd">Class hierarchy</a>. These tags are listed in
-<a href="interface.html#ds_ts_assoc">Interface::Associative
-Containers::Data-Structure Tags and Traits::Data-Structure
-Tags::Associative-Containers</a>; <a href="ds_gen.html#container_traits">
-    Design::Associative Containers::Data-Structure Tags and
-    Traits</a> explains this further; <a href=
-    "ds_gen.html#tag_cd">Design::Associative
-    Containers::Data-Structure Tags and Traits::Data-structure tag
-    class hierarchy</a> shows a class diagram.
-
-    <p>In most cases, however, the exact underlying data structure
-    is not really important, but only one of its attributes:
-    whether it guarantees storing elements by key order, for
-    example. For this one can use</p>
-    <pre>
-<b>typename</b> <a href=
-"assoc_container_traits.html"><tt>container_traits</tt></a>&lt;C&gt;::order_preserving
-</pre>
-
-    <p>This is described further in <a href=
-    "ds_gen.html">Design::Data-Structure Genericity</a>; <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>
-    shows an example of querying containers' attributes.</p>
-
-    <h3><a name="assoc_find_range" id="assoc_find_range">Point-Type
-    and Range-Type Methods and Iterators</a></h3>(This subsection
-    addresses points from <a href=
-    "motivation.html#assoc_diff_it">Motivation::Associative
-    Containers::Differentiating between Iterator Types</a>.)
-
-    <p><tt>pb_ds</tt> differentiates between two types of methods
-    and iterators: point-type, and range-type. For example,
-    <tt>find</tt> and <tt>insert</tt> are point-type methods, since
-    they each deal with a specific element; their returned
-    iterators are point-type iterators. <tt>begin</tt> and
-    <tt>end</tt> are range-type methods, since they are not used to
-    find a specific element, but rather to go over all elements in
-    a container object; their returned iterators are range-type
-    iterators.</p>
-
-    <p>Most containers store elements in an order that is
-    determined by their interface. Correspondingly, it is fine that
-    their point-type iterators are synonymous with their range-type
-    iterators. For example, in the following snippet</p>
-    <pre>
-std::for_each(c.find(1), c.find(5), foo);
-</pre>two point-type iterators (returned by <tt>find</tt>) are used
-for a range-type purpose - going over all elements whose key is
-between 1 and 5.
-
-    <p>Conversely, the above snippet makes no sense for
-    self-organizing containers - ones that order (and reorder)
-    their elements by implementation. It would be nice to have a
-    uniform iterator system that would allow the above snippet to
-    compile only if it made sense.</p>
-
-    <p>This could trivially be done by specializing
-    <tt>std::for_each</tt> for the case of iterators returned by
-    <tt>std::tr1::unordered_map</tt>, but this would only solve the
-    problem for one algorithm and one container. Fundamentally, the
-    problem is that one can loop using a self-organizing
-    container's point-type iterators.</p>
-
-    <p><tt>pb_ds</tt>'s containers define two families of
-    iterators: <tt>const_point_iterator</tt> and
-    <tt>point_iterator</tt> are the iterator types returned by
-    point-type methods; <tt>const_iterator</tt> and
-    <tt>iterator</tt> are the iterator types returned by range-type
-    methods.</p>
-    <pre>
-<b>class</b> <i>&lt;- some container -&gt;</i>
-{
-<b>public</b>:
-    ...
-
-    <b>typedef</b> <i>&lt;- something -&gt;</i> const_iterator;
-
-    <b>typedef</b> <i>&lt;- something -&gt;</i> iterator;
-
-    <b>typedef</b> <i>&lt;- something -&gt;</i> const_point_iterator;
-
-    <b>typedef</b> <i>&lt;- something -&gt;</i> point_iterator;
-    ...
-
-<b>public</b>:
-    ...
-
-    const_iterator begin () <b>const</b>;
-
-    iterator begin();
-
-    const_point_iterator find(...) <b>const</b>;
-
-    point_iterator find(...);
-};
-</pre>
-
-    <p><a href="ds_gen.html#find_range">Design::Associative
-    Containers::Data-Structure Genericity::Point-Type and
-    Range-Type Methods and Iterators</a> discusses the relationship
-    between point-type and range-type iterators in general; for
-    containers whose interface defines sequence order, however, it
-    is very simple: point-type and range-type iterators are exactly
-    the same, which means that the above snippet will compile if it
-    is used for an order-preserving associative container.</p>
-
-    <p>For self-organizing containers, however, (hash-based
-    containers as a special example), the preceding snippet will
-    not compile, because their point-type iterators do not support
-    <tt><b>operator</b>++</tt>.</p>
-
-    <p>In any case, both for order-preserving and self-organizing
-    containers, the following snippet will compile:</p>
-    <pre>
-<b>typename</b> Cntnr::point_iterator it = c.find(2);
-</pre>
-
-    <p>because a range-type iterator can always be converted to a
-    point-type iterator.</p>
-
-    <p><a href="ds_gen.html#find_range">Design::Associative
-    Containers::Data-Structure Genericity::Point-Type and
-    Range-Type Methods and Iterators</a> discusses this
-    further.</p>
-
-    <p><a href=
-    "motivation.html#assoc_diff_it">Motivation::Associative
-    Containers::Differentiating between Iterator Types</a> also
-    raised the point that a container's iterators might have
-    different invalidation rules concerning their de-referencing
-    abilities and movement abilities. This now corresponds exactly
-    to the question of whether point-type and range-type iterators
-    are valid. As explained in <a href="#assoc_ds_gen">Determining
-    Containers' Attributes</a>, <a href=
-    "assoc_container_traits.html"><tt>container_traits</tt></a> allows
-    querying a container for its data structure attributes. The
-    iterator-invalidation guarantees are certainly a property of
-    the underlying data structure, and so</p>
-    <pre>
-<a href=
-"assoc_container_traits.html">container_traits</a>&lt;C&gt;::invalidation_guarantee
-</pre>
-
-    <p>gives one of three pre-determined types that answer this
-    query. This is explained further in <a href=
-    "ds_gen.html#find_range">Design::Associative
-    Containers::Data-Structure Genericity::Point-Type and
-    Range-Type Methods and Iterators</a>.</p>
-
-    <h3><a name="assoc_ms" id="assoc_ms">Distinguishing between Maps and Sets</a></h3>
-
-    <p>Anyone familiar with the STL knows that there are four kinds
-    of associative containers: maps, sets, multimaps, and
-    multisets. <a href="#assoc_basic">Basic Use</a> discussed how
-    to use maps, <i>i.e.</i> containers that associate each key to
-    some data.</p>
-
-    <p>Sets are associative containers that simply store keys -
-    they do not map them to anything. In the STL, each map class
-    has a corresponding set class. <i>E.g.</i>,
-    <tt>std::map&lt;<b>int</b>, <b>char</b>&gt;</tt> maps each
-    <tt><b>int</b></tt> to a <tt><b>char</b></tt>, but
-    <tt>std::set&lt;<b>int</b>, <b>char</b>&gt;</tt> simply stores
-    <tt><b>int</b></tt>s. In <tt>pb_ds</tt>, however, there are no
-    distinct classes for maps and sets. Instead, an associative
-    container's <tt>Mapped</tt> template parameter is a policy: if
-    it is instantiated by <a href=
-    "null_mapped_type.html"><tt>null_mapped_type</tt></a>, then it
-    is a "set"; otherwise, it is a "map". <i>E.g.</i>,</p>
-    <pre>
-<a href="cc_hash_table.html">cc_hash_table</a>&lt;<b>int</b>, <b>char</b>&gt;
-</pre>is a "map" mapping each <tt><b>int</b></tt> value to a <tt>
-    <b>char</b></tt>, but
-    <pre>
-<a href="cc_hash_table.html">cc_hash_table</a>&lt;<b>int</b>, <a href="null_mapped_type.html">null_mapped_type</a>&gt;
-</pre>is a type that uniquely stores <tt><b>int</b></tt> values.
-
-    <p>Once the <tt>Mapped</tt> template parameter is instantiated
-    by <a href="null_mapped_type.html">null_mapped_type</a>, then
-    the "set" acts very similarly to the STL's sets - it does not
-    map each key to a distinct <a href=
-    "null_mapped_type.html">null_mapped_type</a> object. Also,
-   , the container's <tt>value_type</tt> is essentially
-    its <tt>key_type</tt> - just as with the STL's sets. For a simple example, see <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>
-   .</p>
-
-    <p>The STL's multimaps and multisets allow, respectively,
-    non-uniquely mapping keys and non-uniquely storing keys. As
-    discussed in <a href=
-    "motivation.html#assoc_mapping_semantics">Motivation::Associative
-    Containers::Alternative to Multiple Equivalent Keys</a>, the
-    reasons why this might be necessary are 1) that a key might be
-    decomposed into a primary key and a secondary key, 2) that a
-    key might appear more than once, or 3) any arbitrary
-    combination of 1)s and 2)s. Correspondingly,
-    one should use 1) "maps" mapping primary keys to secondary
-    keys, 2) "maps" mapping keys to size types, or 3) any arbitrary
-    combination of 1)s and 2)s. Thus, for example, an
-    <tt>std::multiset&lt;<b>int</b>&gt;</tt> might be used to store
-    multiple instances of integers, but using <tt>pb_ds</tt>'s
-    containers, one might use</p>
-    <pre>
-<a href=
-"tree.html">tree</a>&lt;<b>int</b>, size_t&gt;
-</pre><i>i.e.</i>, a "map" of <tt><b>int</b></tt>s to
-<tt>size_t</tt>s.
-
-    <p><a href="assoc_examples.html#mmaps">Associative-Container
-    Examples::"Multimaps" and "Multisets"</a> shows some simple
-    examples.</p>
-
-    <p>These "multimaps" and "multisets" might be confusing to
-    anyone familiar with the STL's <tt>std::multimap</tt> and
-    <tt>std::multiset</tt>, because there is no clear
-    correspondence between the two. For example, in some cases
-    where one uses <tt>std::multiset</tt> in the STL, one might use
-    in <tt>pb_ds</tt> a "multimap" of "multisets" - <i>i.e.</i>, a
-    container that maps primary keys each to an associative
-    container that maps each secondary key to the number of times
-    it occurs.</p>
-
-    <p>When one uses a "multimap," one should choose with care the
-    type of container used for secondary keys. This is further
-    explained in <a href=
-    "assoc_performance_tests.html#msc">Associative-Container
-    Performance Tests::Observations::Mapping-Semantics
-    Considerations</a>.</p>
-
-<hr>
-    <h2><a name="pq" id="pq">Priority Queues</a></h2>
-
-    <h3><a name="pq_basic" id="pq_basic">Basic Use</a></h3>
-
-    <p><tt>pb_ds</tt>'s priority_queue container is
-    similar to the STL's in interface. For example:</p>
-    <pre>
-<a href=
-"priority_queue.html">priority_queue</a>&lt;<b>int</b>&gt; p;
-
-p.push(2);
-p.push(4);
-p.push(1);
-
-assert(p.top() == 4);
-
-p.pop();
-
-assert(p.top() == 2);
-
-assert(p.size() == 2);
-assert(!p.empty());
-</pre>
-
-    <h3><a name="pq_policies" id="pq_policies">Configuring Priority
-    Queues</a></h3>
-
-    <p>As opposed to associative containers, priority queues have
-    relatively few configuration options. The priority queue is
-    parametrized as follows:</p>
-    <pre>
-<b>template</b>&lt;
-    <b>typename</b> Value_Type,
-    <b>typename</b> Cmp_Fn,
-    <b>typename</b> Tag,
-    <b>typename</b> Allocator&gt;
-<b>class</b> <a href="priority_queue.html">priority_queue</a>;
-</pre>
-
-    <p>The <tt>Value_Type</tt>, <tt>Cmp_Fn</tt>, and
-    <tt>Allocator</tt> parameters are the container's value type,
-    comparison-functor type, and allocator type, respectively;
-    these are very similar to the STL's priority queue. The
-    <tt>Tag</tt> parameter is different: there are a number of
-    pre-defined tag types corresponding to binary heaps, binomial
-    heaps, <i>etc.</i>, and <tt>Tag</tt> should be instantiated
-    by one of them. <a href=
-    "interface.html#ds_ts_pq">Interface::Data-Structure Tags and
-    Traits::Data Structure Tags::Priority-Queues</a> lists the
-    possible types, <a href="pq_design.html">Priority-Queue
-    Design</a> explains this further, and <a href=
-    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/basic_priority_queue.cc"><tt>basic_priority_queue.cc</tt></a>
-    shows an example.</p>
-
-    <p>Note that as opposed to the STL's priority queue, <a href=
-    "priority_queue.html"><tt>priority_queue</tt></a> is not a
-    sequence-adapter; it is a regular container.</p>
-
-    <h3><a name="pq_ds_more_ops" id="pq_ds_more_ops">Supporting
-    More Operations</a></h3>
-
-    <p><a href="priority_queue.html"><tt>priority_queue</tt></a>'s
-    <tt>push</tt> method returns a point-type iterator, which can
-    be used for modifying or erasing arbitrary values. For
-    example:</p>
-    <pre>
-<a href=
-"priority_queue.html">priority_queue</a>&lt;<b>int</b>&gt; p;
-
-<a href=
-"priority_queue.html">priority_queue</a>&lt;<b>int</b>&gt;::point_iterator it = p.push(3);
-
-p.modify(it, 4);
-</pre>
-
-    <p>These types of operations are necessary for making priority
-    queues useful for different applications, especially graph
-    applications. <a href="pq_examples.html#xref">Priority-Queue
-    Examples::Cross-Referencing</a> gives some examples.</p>
-
-    <h3><a name="pq_ds_gen" id="pq_ds_gen">Determining Container
-    Attributes</a></h3>
-
-    <p>Similarly to <a href=
-    "assoc_container_traits.html"><tt>container_traits</tt></a> (described
-    in <a href="#assoc_ds_gen">Associative Containers::Determining
-    Containers' Attributes</a>), <a href=
-    "pq_container_traits.html"><tt>container_traits</tt></a> can be used to
-    statically determine priority-queues' attributes:</p>
-    <pre>
-<a href=
-"pq_container_traits.html">container_traits</a>&lt;C&gt;::container_category
-</pre>is one of a small number of predefined tag structures that
-identifies the underlying data structure, and
-    <pre>
-<a href=
-"pq_container_traits.html">container_traits</a>&lt;C&gt;::invalidation_guarantee
-</pre>
-
-    <p>is its invalidation guarantee. Invalidation guarantees are
-    especially important regarding priority queues, since in
-    <tt>pb_ds</tt>'s design, iterators are practically the only way
-    to manipulate them.</p>
-
-    <p><a href="pq_design.html#pq_traits">Design::Priority
-    Queues::Traits</a> discusses this further. <a href=
-    "pq_examples.html#generics">Priority-Queue
-    Examples::Generics</a> shows an example.</p>
-  </div>
-</body>
-</html>
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/update_policy_cd.png b/libstdc++-v3/doc/html/ext/pb_ds/update_policy_cd.png
deleted file mode 100644 (file)
index 115a751..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/update_policy_cd.png and /dev/null differ
diff --git a/libstdc++-v3/doc/html/ext/pb_ds/update_seq_diagram.png b/libstdc++-v3/doc/html/ext/pb_ds/update_seq_diagram.png
deleted file mode 100644 (file)
index 880a50e..0000000
Binary files a/libstdc++-v3/doc/html/ext/pb_ds/update_seq_diagram.png and /dev/null differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_balls_and_bins.png b/libstdc++-v3/doc/xml/images/pbds_balls_and_bins.png
new file mode 100644 (file)
index 0000000..529c3ae
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_balls_and_bins.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_binary_priority_queue_random_int_push_timing_test_local.pdf b/libstdc++-v3/doc/xml/images/pbds_binary_priority_queue_random_int_push_timing_test_local.pdf
new file mode 100644 (file)
index 0000000..0349bc7
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_binary_priority_queue_random_int_push_timing_test_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_binary_priority_queue_random_int_push_timing_test_local.png b/libstdc++-v3/doc/xml/images/pbds_binary_priority_queue_random_int_push_timing_test_local.png
new file mode 100644 (file)
index 0000000..41bf747
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_binary_priority_queue_random_int_push_timing_test_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_binary_priority_queue_random_int_push_timing_test_local.svg b/libstdc++-v3/doc/xml/images/pbds_binary_priority_queue_random_int_push_timing_test_local.svg
new file mode 100644 (file)
index 0000000..14a8c06
--- /dev/null
@@ -0,0 +1,446 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 416.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 338.4 -318.3455791044776 L 332.15 -328.3455791044776 L 344.65 -328.3455791044776 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 376.8 -342.1489552238806 L 370.55 -352.1489552238806 L 383.05 -352.1489552238806 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 415.2 -363.5792537313433 L 408.95 -373.5792537313433 L 421.45 -373.5792537313433 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 453.6 -382.68641791044774 L 447.35 -392.68641791044774 L 459.85 -392.68641791044774 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 492.0 -407.67185074626866 L 485.75 -417.67185074626866 L 498.25 -417.67185074626866 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 530.4 -430.44776119402985 L 524.15 -440.44776119402985 L 536.65 -440.44776119402985 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 568.8 -453.8429552238806 L 562.55 -463.8429552238806 L 575.05 -463.8429552238806 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 607.2 -475.14092537313434 L 600.95 -485.14092537313434 L 613.45 -485.14092537313434 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 645.6 -495.07489552238803 L 639.35 -505.07489552238803 L 651.85 -505.07489552238803 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 684.0 -515.0 L 677.75 -525.0 L 690.25 -525.0 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 338.4 -300.8645343283582 M 342.4 -300.8645343283582 L 342.4 -300.865 M 342.4 -300.865 A 4 4 0 1 0 334.4 -300.865 A 4 4 0 1 0 342.4 -300.865 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 376.8 -300.8930423880597 M 380.8 -300.8930423880597 L 380.8 -300.893 M 380.8 -300.893 A 4 4 0 1 0 372.8 -300.893 A 4 4 0 1 0 380.8 -300.893 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 415.2 -300.9157549253731 M 419.2 -300.9157549253731 L 419.2 -300.916 M 419.2 -300.916 A 4 4 0 1 0 411.2 -300.916 A 4 4 0 1 0 419.2 -300.916 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 453.6 -300.9447653731343 M 457.6 -300.9447653731343 L 457.6 -300.945 M 457.6 -300.945 A 4 4 0 1 0 449.6 -300.945 A 4 4 0 1 0 457.6 -300.945 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 492.0 -300.95871074626865 M 496.0 -300.95871074626865 L 496 -300.959 M 496 -300.959 A 4 4 0 1 0 488 -300.959 A 4 4 0 1 0 496 -300.959 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 530.4 -300.96553731343283 M 534.4 -300.96553731343283 L 534.4 -300.966 M 534.4 -300.966 A 4 4 0 1 0 526.4 -300.966 A 4 4 0 1 0 534.4 -300.966 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 568.8 -300.97034447761195 M 572.8 -300.97034447761195 L 572.8 -300.97 M 572.8 -300.97 A 4 4 0 1 0 564.8 -300.97 A 4 4 0 1 0 572.8 -300.97 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 607.2 -300.9836134328358 M 611.2 -300.9836134328358 L 611.2 -300.984 M 611.2 -300.984 A 4 4 0 1 0 603.2 -300.984 A 4 4 0 1 0 611.2 -300.984 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 645.6 -300.97012447761193 M 649.6 -300.97012447761193 L 649.6 -300.97 M 649.6 -300.97 A 4 4 0 1 0 641.6 -300.97 A 4 4 0 1 0 649.6 -300.97 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 684.0 -300.9824904477612 M 688.0 -300.9824904477612 L 688 -300.982 M 688 -300.982 A 4 4 0 1 0 680 -300.982 A 4 4 0 1 0 688 -300.982 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 334.4 -296.6776689552239 L 334.4 -304.6776689552239 L 342.4 -304.6776689552239 L 342.4 -296.6776689552239 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 372.8 -296.63155104477613 L 372.8 -304.63155104477613 L 380.8 -304.63155104477613 L 380.8 -296.63155104477613 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 411.2 -296.62003223880595 L 411.2 -304.62003223880595 L 419.2 -304.62003223880595 L 419.2 -296.62003223880595 Z"/>
+    </clipPath>
+    <clipPath id="clip30">
+      <path d="M 449.6 -296.60298388059704 L 449.6 -304.60298388059704 L 457.6 -304.60298388059704 L 457.6 -296.60298388059704 Z"/>
+    </clipPath>
+    <clipPath id="clip31">
+      <path d="M 488.0 -296.5816208955224 L 488.0 -304.5816208955224 L 496.0 -304.5816208955224 L 496.0 -296.5816208955224 Z"/>
+    </clipPath>
+    <clipPath id="clip32">
+      <path d="M 526.4 -296.58382746268654 L 526.4 -304.58382746268654 L 534.4 -304.58382746268654 L 534.4 -296.58382746268654 Z"/>
+    </clipPath>
+    <clipPath id="clip33">
+      <path d="M 564.8 -296.57985432835824 L 564.8 -304.57985432835824 L 572.8 -304.57985432835824 L 572.8 -296.57985432835824 Z"/>
+    </clipPath>
+    <clipPath id="clip34">
+      <path d="M 603.2 -296.57130716417913 L 603.2 -304.57130716417913 L 611.2 -304.57130716417913 L 611.2 -296.57130716417913 Z"/>
+    </clipPath>
+    <clipPath id="clip35">
+      <path d="M 641.6 -296.5609408955224 L 641.6 -304.5609408955224 L 649.6 -304.5609408955224 L 649.6 -296.5609408955224 Z"/>
+    </clipPath>
+    <clipPath id="clip36">
+      <path d="M 680.0 -296.55760805970147 L 680.0 -304.55760805970147 L 688.0 -304.55760805970147 L 688.0 -296.55760805970147 Z"/>
+    </clipPath>
+    <clipPath id="clip37">
+      <path d="M 290 -134 L 290 -190 L 324 -190 L 324 -134 Z"/>
+    </clipPath>
+    <clipPath id="clip38">
+      <path d="M 307.0 -175.66666666666669 L 300.75 -185.66666666666669 L 313.25 -185.66666666666669 Z"/>
+    </clipPath>
+    <clipPath id="clip39">
+      <path d="M 307.0 -162.66666666666666 M 311.0 -162.66666666666666 L 311 -162.667 M 311 -162.667 A 4 4 0 1 0 303 -162.667 A 4 4 0 1 0 311 -162.667 Z"/>
+    </clipPath>
+    <clipPath id="clip40">
+      <path d="M 303.0 -140.66666666666666 L 303.0 -148.66666666666666 L 311.0 -148.66666666666666 L 311.0 -140.66666666666666 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      1.34e-06
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      2.68e-06
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.50048673219425">
+      4.02e-06
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      5.36e-06
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      6.70e-06
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -323.3455791044776 L 376.8 -347.1489552238806 L 415.2 -368.5792537313433 L 453.6 -387.68641791044774 L 492.0 -412.67185074626866 L 530.4 -435.44776119402985 L 568.8 -458.8429552238806 L 607.2 -480.14092537313434 L 645.6 -500.07489552238803 L 684.0 -520.0" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 332.15 -318.3455791044776 L 332.15 -328.3455791044776 L 344.65 -328.3455791044776 L 344.65 -318.3455791044776 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -318.3455791044776 L 332.15 -328.3455791044776 L 344.65 -328.3455791044776 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 370.55 -342.1489552238806 L 370.55 -352.1489552238806 L 383.05 -352.1489552238806 L 383.05 -342.1489552238806 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -342.1489552238806 L 370.55 -352.1489552238806 L 383.05 -352.1489552238806 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 408.95 -363.5792537313433 L 408.95 -373.5792537313433 L 421.45 -373.5792537313433 L 421.45 -363.5792537313433 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -363.5792537313433 L 408.95 -373.5792537313433 L 421.45 -373.5792537313433 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 447.35 -382.68641791044774 L 447.35 -392.68641791044774 L 459.85 -392.68641791044774 L 459.85 -382.68641791044774 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -382.68641791044774 L 447.35 -392.68641791044774 L 459.85 -392.68641791044774 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 485.75 -407.67185074626866 L 485.75 -417.67185074626866 L 498.25 -417.67185074626866 L 498.25 -407.67185074626866 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -407.67185074626866 L 485.75 -417.67185074626866 L 498.25 -417.67185074626866 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 524.15 -430.44776119402985 L 524.15 -440.44776119402985 L 536.65 -440.44776119402985 L 536.65 -430.44776119402985 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -430.44776119402985 L 524.15 -440.44776119402985 L 536.65 -440.44776119402985 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 562.55 -453.8429552238806 L 562.55 -463.8429552238806 L 575.05 -463.8429552238806 L 575.05 -453.8429552238806 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -453.8429552238806 L 562.55 -463.8429552238806 L 575.05 -463.8429552238806 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 600.95 -475.14092537313434 L 600.95 -485.14092537313434 L 613.45 -485.14092537313434 L 613.45 -475.14092537313434 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -475.14092537313434 L 600.95 -485.14092537313434 L 613.45 -485.14092537313434 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 639.35 -495.07489552238803 L 639.35 -505.07489552238803 L 651.85 -505.07489552238803 L 651.85 -495.07489552238803 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -495.07489552238803 L 639.35 -505.07489552238803 L 651.85 -505.07489552238803 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 677.75 -515.0 L 677.75 -525.0 L 690.25 -525.0 L 690.25 -515.0 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -515.0 L 677.75 -525.0 L 690.25 -525.0 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 338.4 -300.8645343283582 L 376.8 -300.8930423880597 L 415.2 -300.9157549253731 L 453.6 -300.9447653731343 L 492.0 -300.95871074626865 L 530.4 -300.96553731343283 L 568.8 -300.97034447761195 L 607.2 -300.9836134328358 L 645.6 -300.97012447761193 L 684.0 -300.9824904477612" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 330.4 -292.8645343283582 L 330.4 -308.8645343283582 L 346.4 -308.8645343283582 L 346.4 -292.8645343283582 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -300.8645343283582 M 342.4 -300.8645343283582 L 342.4 -300.865 M 342.4 -300.865 A 4 4 0 1 0 334.4 -300.865 A 4 4 0 1 0 342.4 -300.865 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 368.8 -292.8930423880597 L 368.8 -308.8930423880597 L 384.8 -308.8930423880597 L 384.8 -292.8930423880597 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -300.8930423880597 M 380.8 -300.8930423880597 L 380.8 -300.893 M 380.8 -300.893 A 4 4 0 1 0 372.8 -300.893 A 4 4 0 1 0 380.8 -300.893 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 407.2 -292.9157549253731 L 407.2 -308.9157549253731 L 423.2 -308.9157549253731 L 423.2 -292.9157549253731 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -300.9157549253731 M 419.2 -300.9157549253731 L 419.2 -300.916 M 419.2 -300.916 A 4 4 0 1 0 411.2 -300.916 A 4 4 0 1 0 419.2 -300.916 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 445.6 -292.9447653731343 L 445.6 -308.9447653731343 L 461.6 -308.9447653731343 L 461.6 -292.9447653731343 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -300.9447653731343 M 457.6 -300.9447653731343 L 457.6 -300.945 M 457.6 -300.945 A 4 4 0 1 0 449.6 -300.945 A 4 4 0 1 0 457.6 -300.945 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 484.0 -292.95871074626865 L 484.0 -308.95871074626865 L 500.0 -308.95871074626865 L 500.0 -292.95871074626865 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -300.95871074626865 M 496.0 -300.95871074626865 L 496 -300.959 M 496 -300.959 A 4 4 0 1 0 488 -300.959 A 4 4 0 1 0 496 -300.959 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 522.4 -292.96553731343283 L 522.4 -308.96553731343283 L 538.4 -308.96553731343283 L 538.4 -292.96553731343283 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -300.96553731343283 M 534.4 -300.96553731343283 L 534.4 -300.966 M 534.4 -300.966 A 4 4 0 1 0 526.4 -300.966 A 4 4 0 1 0 534.4 -300.966 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 560.8 -292.97034447761195 L 560.8 -308.97034447761195 L 576.8 -308.97034447761195 L 576.8 -292.97034447761195 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -300.97034447761195 M 572.8 -300.97034447761195 L 572.8 -300.97 M 572.8 -300.97 A 4 4 0 1 0 564.8 -300.97 A 4 4 0 1 0 572.8 -300.97 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 599.2 -292.9836134328358 L 599.2 -308.9836134328358 L 615.2 -308.9836134328358 L 615.2 -292.9836134328358 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -300.9836134328358 M 611.2 -300.9836134328358 L 611.2 -300.984 M 611.2 -300.984 A 4 4 0 1 0 603.2 -300.984 A 4 4 0 1 0 611.2 -300.984 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 637.6 -292.97012447761193 L 637.6 -308.97012447761193 L 653.6 -308.97012447761193 L 653.6 -292.97012447761193 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -300.97012447761193 M 649.6 -300.97012447761193 L 649.6 -300.97 M 649.6 -300.97 A 4 4 0 1 0 641.6 -300.97 A 4 4 0 1 0 649.6 -300.97 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 676.0 -292.98249044776117 L 676.0 -308.98249044776117 L 692.0 -308.98249044776117 L 692.0 -292.98249044776117 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -300.9824904477612 M 688.0 -300.9824904477612 L 688 -300.982 M 688 -300.982 A 4 4 0 1 0 680 -300.982 A 4 4 0 1 0 688 -300.982 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 338.4 -300.6776689552239 L 376.8 -300.63155104477613 L 415.2 -300.62003223880595 L 453.6 -300.60298388059704 L 492.0 -300.5816208955224 L 530.4 -300.58382746268654 L 568.8 -300.5798543283582 L 607.2 -300.57130716417913 L 645.6 -300.5609408955224 L 684.0 -300.55760805970147" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip27);">
+          <path d="M 334.4 -296.6776689552239 L 334.4 -304.6776689552239 L 342.4 -304.6776689552239 L 342.4 -296.6776689552239 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 334.4 -296.6776689552239 L 334.4 -304.6776689552239 L 342.4 -304.6776689552239 L 342.4 -296.6776689552239 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip28);">
+            <path d="M 372.8 -296.63155104477613 L 372.8 -304.63155104477613 L 380.8 -304.63155104477613 L 380.8 -296.63155104477613 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 372.8 -296.63155104477613 L 372.8 -304.63155104477613 L 380.8 -304.63155104477613 L 380.8 -296.63155104477613 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+              <path d="M 411.2 -296.62003223880595 L 411.2 -304.62003223880595 L 419.2 -304.62003223880595 L 419.2 -296.62003223880595 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 411.2 -296.62003223880595 L 411.2 -304.62003223880595 L 419.2 -304.62003223880595 L 419.2 -296.62003223880595 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip30);">
+                <path d="M 449.6 -296.60298388059704 L 449.6 -304.60298388059704 L 457.6 -304.60298388059704 L 457.6 -296.60298388059704 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 449.6 -296.60298388059704 L 449.6 -304.60298388059704 L 457.6 -304.60298388059704 L 457.6 -296.60298388059704 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip31);">
+                  <path d="M 488.0 -296.5816208955224 L 488.0 -304.5816208955224 L 496.0 -304.5816208955224 L 496.0 -296.5816208955224 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 488.0 -296.5816208955224 L 488.0 -304.5816208955224 L 496.0 -304.5816208955224 L 496.0 -296.5816208955224 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip32);">
+                    <path d="M 526.4 -296.58382746268654 L 526.4 -304.58382746268654 L 534.4 -304.58382746268654 L 534.4 -296.58382746268654 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 526.4 -296.58382746268654 L 526.4 -304.58382746268654 L 534.4 -304.58382746268654 L 534.4 -296.58382746268654 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip33);">
+                      <path d="M 564.8 -296.57985432835824 L 564.8 -304.57985432835824 L 572.8 -304.57985432835824 L 572.8 -296.57985432835824 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 564.8 -296.57985432835824 L 564.8 -304.57985432835824 L 572.8 -304.57985432835824 L 572.8 -296.57985432835824 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip34);">
+                        <path d="M 603.2 -296.57130716417913 L 603.2 -304.57130716417913 L 611.2 -304.57130716417913 L 611.2 -296.57130716417913 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 603.2 -296.57130716417913 L 603.2 -304.57130716417913 L 611.2 -304.57130716417913 L 611.2 -296.57130716417913 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip35);">
+                          <path d="M 641.6 -296.5609408955224 L 641.6 -304.5609408955224 L 649.6 -304.5609408955224 L 649.6 -296.5609408955224 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 641.6 -296.5609408955224 L 641.6 -304.5609408955224 L 649.6 -304.5609408955224 L 649.6 -296.5609408955224 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip36);">
+                            <path d="M 680.0 -296.55760805970147 L 680.0 -304.55760805970147 L 688.0 -304.55760805970147 L 688.0 -296.55760805970147 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 680.0 -296.55760805970147 L 680.0 -304.55760805970147 L 688.0 -304.55760805970147 L 688.0 -296.55760805970147 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip37);">
+      <path d="M 290 -134 L 290 -190 L 324 -190 L 324 -134 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -180.66666666666669 L 314 -180.66666666666669" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip38);">
+      <path d="M 300.75 -175.66666666666669 L 300.75 -185.66666666666669 L 313.25 -185.66666666666669 L 313.25 -175.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -175.66666666666669 L 300.75 -185.66666666666669 L 313.25 -185.66666666666669 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-176.0">
+        binary_heap
+      </text>
+      <path d="M 300 -162.66666666666666 L 314 -162.66666666666666" style="stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip39);">
+        <path d="M 299.0 -154.66666666666666 L 299.0 -170.66666666666666 L 315.0 -170.66666666666666 L 315.0 -154.66666666666666 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 307.0 -162.66666666666666 M 311.0 -162.66666666666666 L 311 -162.667 M 311 -162.667 A 4 4 0 1 0 303 -162.667 A 4 4 0 1 0 311 -162.667 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-158.0">
+          n_pq_deque
+        </text>
+        <path d="M 300 -144.66666666666666 L 314 -144.66666666666666" style="stroke-width:2;"/>
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip40);">
+          <path d="M 303.0 -140.66666666666666 L 303.0 -148.66666666666666 L 311.0 -148.66666666666666 L 311.0 -140.66666666666666 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 303.0 -140.66666666666666 L 303.0 -148.66666666666666 L 311.0 -148.66666666666666 L 311.0 -140.66666666666666 Z"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-140.0">
+            n_pq_vector
+          </text>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_find_timing_test_local.pdf b/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_find_timing_test_local.pdf
new file mode 100644 (file)
index 0000000..49f9281
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_find_timing_test_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_find_timing_test_local.png b/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_find_timing_test_local.png
new file mode 100644 (file)
index 0000000..6d1f5d2
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_find_timing_test_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_find_timing_test_local.svg b/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_find_timing_test_local.svg
new file mode 100644 (file)
index 0000000..949ed5f
--- /dev/null
@@ -0,0 +1,597 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 456.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 338.4 -513.0390511110129 M 342.4 -513.0390511110129 L 342.4 -513.039 M 342.4 -513.039 A 4 4 0 1 0 334.4 -513.039 A 4 4 0 1 0 342.4 -513.039 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 376.8 -507.124066793303 M 380.8 -507.124066793303 L 380.8 -507.124 M 380.8 -507.124 A 4 4 0 1 0 372.8 -507.124 A 4 4 0 1 0 380.8 -507.124 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 415.2 -500.165547554888 M 419.2 -500.165547554888 L 419.2 -500.166 M 419.2 -500.166 A 4 4 0 1 0 411.2 -500.166 A 4 4 0 1 0 419.2 -500.166 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 453.6 -512.5324689667359 M 457.6 -512.5324689667359 L 457.6 -512.532 M 457.6 -512.532 A 4 4 0 1 0 449.6 -512.532 A 4 4 0 1 0 457.6 -512.532 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 492.0 -510.3469982771569 M 496.0 -510.3469982771569 L 496 -510.347 M 496 -510.347 A 4 4 0 1 0 488 -510.347 A 4 4 0 1 0 496 -510.347 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 530.4 -511.8108627468305 M 534.4 -511.8108627468305 L 534.4 -511.811 M 534.4 -511.811 A 4 4 0 1 0 526.4 -511.811 A 4 4 0 1 0 534.4 -511.811 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 568.8 -520.0 M 572.8 -520.0 L 572.8 -520 M 572.8 -520 A 4 4 0 1 0 564.8 -520 A 4 4 0 1 0 572.8 -520 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 607.2 -519.6185448601847 M 611.2 -519.6185448601847 L 611.2 -519.619 M 611.2 -519.619 A 4 4 0 1 0 603.2 -519.619 A 4 4 0 1 0 611.2 -519.619 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 645.6 -519.4800547775766 M 649.6 -519.4800547775766 L 649.6 -519.48 M 649.6 -519.48 A 4 4 0 1 0 641.6 -519.48 A 4 4 0 1 0 649.6 -519.48 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 684.0 -518.8872200379909 M 688.0 -518.8872200379909 L 688 -518.887 M 688 -518.887 A 4 4 0 1 0 680 -518.887 A 4 4 0 1 0 688 -518.887 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 338.4 -459.2298007686531 L 332.15 -469.2298007686531 L 344.65 -469.2298007686531 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 376.8 -498.9995361576181 L 370.55 -508.9995361576181 L 383.05 -508.9995361576181 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 415.2 -475.7198392013076 L 408.95 -485.7198392013076 L 421.45 -485.7198392013076 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 453.6 -501.8507311039449 L 447.35 -511.8507311039449 L 459.85 -511.8507311039449 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 492.0 -469.5606750011044 L 485.75 -479.5606750011044 L 498.25 -479.5606750011044 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 530.4 -487.7745505146442 L 524.15 -497.7745505146442 L 536.65 -497.7745505146442 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 568.8 -498.65695542695585 L 562.55 -508.65695542695585 L 575.05 -508.65695542695585 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 607.2 -508.77037593320676 L 600.95 -518.7703759332068 L 613.45 -518.7703759332068 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 645.6 -471.89556920086585 L 639.35 -481.89556920086585 L 651.85 -481.89556920086585 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 684.0 -477.84821310244286 L 677.75 -487.84821310244286 L 690.25 -487.84821310244286 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 332.15 -461.79065247161725 L 344.65 -461.79065247161725 L 338.4 -471.79065247161725 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 370.55 -445.78289967751914 L 383.05 -445.78289967751914 L 376.8 -455.78289967751914 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 408.95 -438.55954852674824 L 421.45 -438.55954852674824 L 415.2 -448.55954852674824 Z"/>
+    </clipPath>
+    <clipPath id="clip30">
+      <path d="M 447.35 -460.7288951716217 L 459.85 -460.7288951716217 L 453.6 -470.7288951716217 Z"/>
+    </clipPath>
+    <clipPath id="clip31">
+      <path d="M 485.75 -442.12263109069227 L 498.25 -442.12263109069227 L 492.0 -452.12263109069227 Z"/>
+    </clipPath>
+    <clipPath id="clip32">
+      <path d="M 524.15 -450.921610637452 L 536.65 -450.921610637452 L 530.4 -460.921610637452 Z"/>
+    </clipPath>
+    <clipPath id="clip33">
+      <path d="M 562.55 -461.4177011088042 L 575.05 -461.4177011088042 L 568.8 -471.4177011088042 Z"/>
+    </clipPath>
+    <clipPath id="clip34">
+      <path d="M 600.95 -463.0382780403764 L 613.45 -463.0382780403764 L 607.2 -473.0382780403764 Z"/>
+    </clipPath>
+    <clipPath id="clip35">
+      <path d="M 639.35 -439.9565976056898 L 651.85 -439.9565976056898 L 645.6 -449.9565976056898 Z"/>
+    </clipPath>
+    <clipPath id="clip36">
+      <path d="M 677.75 -443.50145779034324 L 690.25 -443.50145779034324 L 684.0 -453.50145779034324 Z"/>
+    </clipPath>
+    <clipPath id="clip37">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip38">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip39">
+      <path d="M 331.25714285714287 -390.77818394663603 L 338.4 -397.92104108949314 L 345.54285714285714 -390.77818394663603 L 338.4 -383.63532680377887 Z"/>
+    </clipPath>
+    <clipPath id="clip40">
+      <path d="M 369.65714285714284 -392.49631134867695 L 376.8 -399.63916849153406 L 383.9428571428571 -392.49631134867695 L 376.8 -385.3534542058198 Z"/>
+    </clipPath>
+    <clipPath id="clip41">
+      <path d="M 408.0571428571429 -378.634425939833 L 415.2 -385.77728308269013 L 422.34285714285716 -378.634425939833 L 415.2 -371.4915687969759 Z"/>
+    </clipPath>
+    <clipPath id="clip42">
+      <path d="M 446.45714285714286 -400.8115474665371 L 453.6 -407.95440460939426 L 460.74285714285713 -400.8115474665371 L 453.6 -393.6686903236799 Z"/>
+    </clipPath>
+    <clipPath id="clip43">
+      <path d="M 484.8571428571429 -407.3802292706631 L 492.0 -414.5230864135202 L 499.1428571428571 -407.3802292706631 L 492.0 -400.23737212780594 Z"/>
+    </clipPath>
+    <clipPath id="clip44">
+      <path d="M 523.2571428571429 -386.99546097097675 L 530.4 -394.13831811383386 L 537.5428571428572 -386.99546097097675 L 530.4 -379.8526038281196 Z"/>
+    </clipPath>
+    <clipPath id="clip45">
+      <path d="M 561.6571428571428 -395.8336793744754 L 568.8 -402.97653651733253 L 575.9428571428572 -395.8336793744754 L 568.8 -388.69082223161826 Z"/>
+    </clipPath>
+    <clipPath id="clip46">
+      <path d="M 600.0571428571428 -404.6042320095419 L 607.2 -411.74708915239904 L 614.3428571428572 -404.6042320095419 L 607.2 -397.46137486668476 Z"/>
+    </clipPath>
+    <clipPath id="clip47">
+      <path d="M 638.4571428571428 -412.0129654989619 L 645.6 -419.155822641819 L 652.7428571428572 -412.0129654989619 L 645.6 -404.87010835610477 Z"/>
+    </clipPath>
+    <clipPath id="clip48">
+      <path d="M 676.8571428571429 -415.92834739585635 L 684.0 -423.07120453871346 L 691.1428571428571 -415.92834739585635 L 684.0 -408.78549025299924 Z"/>
+    </clipPath>
+    <clipPath id="clip49">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip50">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip51">
+      <path d="M 290 -94 L 290 -186 L 324 -186 L 324 -94 Z"/>
+    </clipPath>
+    <clipPath id="clip52">
+      <path d="M 307.0 -176.66666666666669 M 311.0 -176.66666666666669 L 311 -176.667 M 311 -176.667 A 4 4 0 1 0 303 -176.667 A 4 4 0 1 0 311 -176.667 Z"/>
+    </clipPath>
+    <clipPath id="clip53">
+      <path d="M 307.0 -153.66666666666666 L 300.75 -163.66666666666666 L 313.25 -163.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip54">
+      <path d="M 300.75 -135.66666666666666 L 313.25 -135.66666666666666 L 307.0 -145.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip55">
+      <path d="M 299.85714285714283 -122.66666666666666 L 307.0 -129.8095238095238 L 314.14285714285717 -122.66666666666666 L 307.0 -115.52380952380952 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      3.62e-09
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      7.24e-09
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      1.09e-08
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      1.45e-08
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      1.81e-08
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -513.0390511110129 L 376.8 -507.124066793303 L 415.2 -500.165547554888 L 453.6 -512.5324689667359 L 492.0 -510.3469982771569 L 530.4 -511.8108627468305 L 568.8 -520.0 L 607.2 -519.6185448601847 L 645.6 -519.4800547775766 L 684.0 -518.8872200379909" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 330.4 -505.03905111101295 L 330.4 -521.0390511110129 L 346.4 -521.0390511110129 L 346.4 -505.03905111101295 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -513.0390511110129 M 342.4 -513.0390511110129 L 342.4 -513.039 M 342.4 -513.039 A 4 4 0 1 0 334.4 -513.039 A 4 4 0 1 0 342.4 -513.039 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 368.8 -499.124066793303 L 368.8 -515.124066793303 L 384.8 -515.124066793303 L 384.8 -499.124066793303 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -507.124066793303 M 380.8 -507.124066793303 L 380.8 -507.124 M 380.8 -507.124 A 4 4 0 1 0 372.8 -507.124 A 4 4 0 1 0 380.8 -507.124 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 407.2 -492.165547554888 L 407.2 -508.165547554888 L 423.2 -508.165547554888 L 423.2 -492.165547554888 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -500.165547554888 M 419.2 -500.165547554888 L 419.2 -500.166 M 419.2 -500.166 A 4 4 0 1 0 411.2 -500.166 A 4 4 0 1 0 419.2 -500.166 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 445.6 -504.5324689667359 L 445.6 -520.5324689667359 L 461.6 -520.5324689667359 L 461.6 -504.5324689667359 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -512.5324689667359 M 457.6 -512.5324689667359 L 457.6 -512.532 M 457.6 -512.532 A 4 4 0 1 0 449.6 -512.532 A 4 4 0 1 0 457.6 -512.532 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 484.0 -502.3469982771569 L 484.0 -518.3469982771569 L 500.0 -518.3469982771569 L 500.0 -502.3469982771569 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -510.3469982771569 M 496.0 -510.3469982771569 L 496 -510.347 M 496 -510.347 A 4 4 0 1 0 488 -510.347 A 4 4 0 1 0 496 -510.347 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 522.4 -503.8108627468305 L 522.4 -519.8108627468305 L 538.4 -519.8108627468305 L 538.4 -503.8108627468305 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -511.8108627468305 M 534.4 -511.8108627468305 L 534.4 -511.811 M 534.4 -511.811 A 4 4 0 1 0 526.4 -511.811 A 4 4 0 1 0 534.4 -511.811 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 560.8 -512.0 L 560.8 -528.0 L 576.8 -528.0 L 576.8 -512.0 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -520.0 M 572.8 -520.0 L 572.8 -520 M 572.8 -520 A 4 4 0 1 0 564.8 -520 A 4 4 0 1 0 572.8 -520 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 599.2 -511.61854486018467 L 599.2 -527.6185448601847 L 615.2 -527.6185448601847 L 615.2 -511.61854486018467 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -519.6185448601847 M 611.2 -519.6185448601847 L 611.2 -519.619 M 611.2 -519.619 A 4 4 0 1 0 603.2 -519.619 A 4 4 0 1 0 611.2 -519.619 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 637.6 -511.4800547775766 L 637.6 -527.4800547775766 L 653.6 -527.4800547775766 L 653.6 -511.4800547775766 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -519.4800547775766 M 649.6 -519.4800547775766 L 649.6 -519.48 M 649.6 -519.48 A 4 4 0 1 0 641.6 -519.48 A 4 4 0 1 0 649.6 -519.48 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 676.0 -510.8872200379909 L 676.0 -526.8872200379909 L 692.0 -526.8872200379909 L 692.0 -510.8872200379909 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -518.8872200379909 M 688.0 -518.8872200379909 L 688 -518.887 M 688 -518.887 A 4 4 0 1 0 680 -518.887 A 4 4 0 1 0 688 -518.887 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 338.4 -464.2298007686531 L 376.8 -503.9995361576181 L 415.2 -480.7198392013076 L 453.6 -506.8507311039449 L 492.0 -474.5606750011044 L 530.4 -492.7745505146442 L 568.8 -503.65695542695585 L 607.2 -513.7703759332068 L 645.6 -476.89556920086585 L 684.0 -482.84821310244286" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 332.15 -459.2298007686531 L 332.15 -469.2298007686531 L 344.65 -469.2298007686531 L 344.65 -459.2298007686531 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -459.2298007686531 L 332.15 -469.2298007686531 L 344.65 -469.2298007686531 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 370.55 -498.9995361576181 L 370.55 -508.9995361576181 L 383.05 -508.9995361576181 L 383.05 -498.9995361576181 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -498.9995361576181 L 370.55 -508.9995361576181 L 383.05 -508.9995361576181 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 408.95 -475.7198392013076 L 408.95 -485.7198392013076 L 421.45 -485.7198392013076 L 421.45 -475.7198392013076 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -475.7198392013076 L 408.95 -485.7198392013076 L 421.45 -485.7198392013076 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 447.35 -501.8507311039449 L 447.35 -511.8507311039449 L 459.85 -511.8507311039449 L 459.85 -501.8507311039449 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -501.8507311039449 L 447.35 -511.8507311039449 L 459.85 -511.8507311039449 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 485.75 -469.5606750011044 L 485.75 -479.5606750011044 L 498.25 -479.5606750011044 L 498.25 -469.5606750011044 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -469.5606750011044 L 485.75 -479.5606750011044 L 498.25 -479.5606750011044 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 524.15 -487.7745505146442 L 524.15 -497.7745505146442 L 536.65 -497.7745505146442 L 536.65 -487.7745505146442 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -487.7745505146442 L 524.15 -497.7745505146442 L 536.65 -497.7745505146442 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 562.55 -498.65695542695585 L 562.55 -508.65695542695585 L 575.05 -508.65695542695585 L 575.05 -498.65695542695585 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -498.65695542695585 L 562.55 -508.65695542695585 L 575.05 -508.65695542695585 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 600.95 -508.77037593320676 L 600.95 -518.7703759332068 L 613.45 -518.7703759332068 L 613.45 -508.77037593320676 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -508.77037593320676 L 600.95 -518.7703759332068 L 613.45 -518.7703759332068 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 639.35 -471.89556920086585 L 639.35 -481.89556920086585 L 651.85 -481.89556920086585 L 651.85 -471.89556920086585 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -471.89556920086585 L 639.35 -481.89556920086585 L 651.85 -481.89556920086585 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 677.75 -477.84821310244286 L 677.75 -487.84821310244286 L 690.25 -487.84821310244286 L 690.25 -477.84821310244286 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -477.84821310244286 L 677.75 -487.84821310244286 L 690.25 -487.84821310244286 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 338.4 -466.79065247161725 L 376.8 -450.78289967751914 L 415.2 -443.55954852674824 L 453.6 -465.7288951716217 L 492.0 -447.12263109069227 L 530.4 -455.921610637452 L 568.8 -466.4177011088042 L 607.2 -468.0382780403764 L 645.6 -444.9565976056898 L 684.0 -448.50145779034324" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip27);">
+          <path d="M 332.15 -461.79065247161725 L 332.15 -471.79065247161725 L 344.65 -471.79065247161725 L 344.65 -461.79065247161725 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 332.15 -461.79065247161725 L 344.65 -461.79065247161725 L 338.4 -471.79065247161725 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip28);">
+            <path d="M 370.55 -445.78289967751914 L 370.55 -455.78289967751914 L 383.05 -455.78289967751914 L 383.05 -445.78289967751914 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 370.55 -445.78289967751914 L 383.05 -445.78289967751914 L 376.8 -455.78289967751914 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+              <path d="M 408.95 -438.55954852674824 L 408.95 -448.55954852674824 L 421.45 -448.55954852674824 L 421.45 -438.55954852674824 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.95 -438.55954852674824 L 421.45 -438.55954852674824 L 415.2 -448.55954852674824 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip30);">
+                <path d="M 447.35 -460.7288951716217 L 447.35 -470.7288951716217 L 459.85 -470.7288951716217 L 459.85 -460.7288951716217 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 447.35 -460.7288951716217 L 459.85 -460.7288951716217 L 453.6 -470.7288951716217 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip31);">
+                  <path d="M 485.75 -442.12263109069227 L 485.75 -452.12263109069227 L 498.25 -452.12263109069227 L 498.25 -442.12263109069227 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 485.75 -442.12263109069227 L 498.25 -442.12263109069227 L 492.0 -452.12263109069227 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip32);">
+                    <path d="M 524.15 -450.921610637452 L 524.15 -460.921610637452 L 536.65 -460.921610637452 L 536.65 -450.921610637452 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 524.15 -450.921610637452 L 536.65 -450.921610637452 L 530.4 -460.921610637452 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip33);">
+                      <path d="M 562.55 -461.4177011088042 L 562.55 -471.4177011088042 L 575.05 -471.4177011088042 L 575.05 -461.4177011088042 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 562.55 -461.4177011088042 L 575.05 -461.4177011088042 L 568.8 -471.4177011088042 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip34);">
+                        <path d="M 600.95 -463.0382780403764 L 600.95 -473.0382780403764 L 613.45 -473.0382780403764 L 613.45 -463.0382780403764 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.95 -463.0382780403764 L 613.45 -463.0382780403764 L 607.2 -473.0382780403764 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip35);">
+                          <path d="M 639.35 -439.9565976056898 L 639.35 -449.9565976056898 L 651.85 -449.9565976056898 L 651.85 -439.9565976056898 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 639.35 -439.9565976056898 L 651.85 -439.9565976056898 L 645.6 -449.9565976056898 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip36);">
+                            <path d="M 677.75 -443.50145779034324 L 677.75 -453.50145779034324 L 690.25 -453.50145779034324 L 690.25 -443.50145779034324 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 677.75 -443.50145779034324 L 690.25 -443.50145779034324 L 684.0 -453.50145779034324 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip37);">
+        <path d="M 338.4 -390.77818394663603 L 376.8 -392.49631134867695 L 415.2 -378.634425939833 L 453.6 -400.8115474665371 L 492.0 -407.3802292706631 L 530.4 -386.99546097097675 L 568.8 -395.8336793744754 L 607.2 -404.6042320095419 L 645.6 -412.0129654989619 L 684.0 -415.92834739585635" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip38);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip39);">
+          <path d="M 331.25714285714287 -383.63532680377887 L 331.25714285714287 -397.92104108949314 L 345.54285714285714 -397.92104108949314 L 345.54285714285714 -383.63532680377887 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 331.25714285714287 -390.77818394663603 L 338.4 -397.92104108949314 L 345.54285714285714 -390.77818394663603 L 338.4 -383.63532680377887 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip40);">
+            <path d="M 369.65714285714284 -385.3534542058198 L 369.65714285714284 -399.63916849153406 L 383.9428571428571 -399.63916849153406 L 383.9428571428571 -385.3534542058198 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 369.65714285714284 -392.49631134867695 L 376.8 -399.63916849153406 L 383.9428571428571 -392.49631134867695 L 376.8 -385.3534542058198 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip41);">
+              <path d="M 408.0571428571429 -371.4915687969759 L 408.0571428571429 -385.77728308269013 L 422.34285714285716 -385.77728308269013 L 422.34285714285716 -371.4915687969759 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.0571428571429 -378.634425939833 L 415.2 -385.77728308269013 L 422.34285714285716 -378.634425939833 L 415.2 -371.4915687969759 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip42);">
+                <path d="M 446.45714285714286 -393.6686903236799 L 446.45714285714286 -407.95440460939426 L 460.74285714285713 -407.95440460939426 L 460.74285714285713 -393.6686903236799 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 446.45714285714286 -400.8115474665371 L 453.6 -407.95440460939426 L 460.74285714285713 -400.8115474665371 L 453.6 -393.6686903236799 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip43);">
+                  <path d="M 484.8571428571429 -400.23737212780594 L 484.8571428571429 -414.5230864135202 L 499.1428571428571 -414.5230864135202 L 499.1428571428571 -400.23737212780594 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 484.8571428571429 -407.3802292706631 L 492.0 -414.5230864135202 L 499.1428571428571 -407.3802292706631 L 492.0 -400.23737212780594 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip44);">
+                    <path d="M 523.2571428571429 -379.8526038281196 L 523.2571428571429 -394.13831811383386 L 537.5428571428572 -394.13831811383386 L 537.5428571428572 -379.8526038281196 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 523.2571428571429 -386.99546097097675 L 530.4 -394.13831811383386 L 537.5428571428572 -386.99546097097675 L 530.4 -379.8526038281196 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip45);">
+                      <path d="M 561.6571428571428 -388.69082223161826 L 561.6571428571428 -402.97653651733253 L 575.9428571428572 -402.97653651733253 L 575.9428571428572 -388.69082223161826 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 561.6571428571428 -395.8336793744754 L 568.8 -402.97653651733253 L 575.9428571428572 -395.8336793744754 L 568.8 -388.69082223161826 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip46);">
+                        <path d="M 600.0571428571428 -397.46137486668476 L 600.0571428571428 -411.74708915239904 L 614.3428571428572 -411.74708915239904 L 614.3428571428572 -397.46137486668476 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.0571428571428 -404.6042320095419 L 607.2 -411.74708915239904 L 614.3428571428572 -404.6042320095419 L 607.2 -397.46137486668476 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip47);">
+                          <path d="M 638.4571428571428 -404.87010835610477 L 638.4571428571428 -419.155822641819 L 652.7428571428572 -419.155822641819 L 652.7428571428572 -404.87010835610477 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 638.4571428571428 -412.0129654989619 L 645.6 -419.155822641819 L 652.7428571428572 -412.0129654989619 L 645.6 -404.87010835610477 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip48);">
+                            <path d="M 676.8571428571429 -408.78549025299924 L 676.8571428571429 -423.07120453871346 L 691.1428571428571 -423.07120453871346 L 691.1428571428571 -408.78549025299924 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 676.8571428571429 -415.92834739585635 L 684.0 -423.07120453871346 L 691.1428571428571 -415.92834739585635 L 684.0 -408.78549025299924 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip49);">
+        <path d="M 338.4 -364.56735654017757 L 376.8 -363.4165525467156 L 415.2 -363.14406723505766 L 453.6 -373.6615386314441 L 492.0 -381.0245946901091 L 530.4 -370.7747493042364 L 568.8 -376.09774926006094 L 607.2 -379.5363122321862 L 645.6 -384.6173189910324 L 684.0 -387.67527720104255" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip50);">
+        <path d="M 333.4 -359.56735654017757 L 343.4 -369.56735654017757" style="stroke-width:0.7;"/>
+        <path d="M 343.4 -359.56735654017757 L 333.4 -369.56735654017757" style="stroke-width:0.7;"/>
+        <path d="M 371.8 -358.4165525467156 L 381.8 -368.4165525467156" style="stroke-width:0.7;"/>
+        <path d="M 381.8 -358.4165525467156 L 371.8 -368.4165525467156" style="stroke-width:0.7;"/>
+        <path d="M 410.2 -358.14406723505766 L 420.2 -368.14406723505766" style="stroke-width:0.7;"/>
+        <path d="M 420.2 -358.14406723505766 L 410.2 -368.14406723505766" style="stroke-width:0.7;"/>
+        <path d="M 448.6 -368.6615386314441 L 458.6 -378.6615386314441" style="stroke-width:0.7;"/>
+        <path d="M 458.6 -368.6615386314441 L 448.6 -378.6615386314441" style="stroke-width:0.7;"/>
+        <path d="M 487.0 -376.0245946901091 L 497.0 -386.0245946901091" style="stroke-width:0.7;"/>
+        <path d="M 497.0 -376.0245946901091 L 487.0 -386.0245946901091" style="stroke-width:0.7;"/>
+        <path d="M 525.4 -365.7747493042364 L 535.4 -375.7747493042364" style="stroke-width:0.7;"/>
+        <path d="M 535.4 -365.7747493042364 L 525.4 -375.7747493042364" style="stroke-width:0.7;"/>
+        <path d="M 563.8 -371.09774926006094 L 573.8 -381.09774926006094" style="stroke-width:0.7;"/>
+        <path d="M 573.8 -371.09774926006094 L 563.8 -381.09774926006094" style="stroke-width:0.7;"/>
+        <path d="M 602.2 -374.5363122321862 L 612.2 -384.5363122321862" style="stroke-width:0.7;"/>
+        <path d="M 612.2 -374.5363122321862 L 602.2 -384.5363122321862" style="stroke-width:0.7;"/>
+        <path d="M 640.6 -379.6173189910324 L 650.6 -389.6173189910324" style="stroke-width:0.7;"/>
+        <path d="M 650.6 -379.6173189910324 L 640.6 -389.6173189910324" style="stroke-width:0.7;"/>
+        <path d="M 679.0 -382.67527720104255 L 689.0 -392.67527720104255" style="stroke-width:0.7;"/>
+        <path d="M 689.0 -382.67527720104255 L 679.0 -392.67527720104255" style="stroke-width:0.7;"/>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip51);">
+      <path d="M 290 -94 L 290 -186 L 324 -186 L 324 -94 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -176.66666666666669 L 314 -176.66666666666669" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip52);">
+      <path d="M 299.0 -168.66666666666669 L 299.0 -184.66666666666669 L 315.0 -184.66666666666669 L 315.0 -168.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -176.66666666666669 M 311.0 -176.66666666666669 L 311 -176.667 M 311 -176.667 A 4 4 0 1 0 303 -176.667 A 4 4 0 1 0 311 -176.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-172.0">
+        n_hash_map_ncah
+      </text>
+      <path d="M 300 -158.66666666666666 L 314 -158.66666666666666" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip53);">
+        <path d="M 300.75 -153.66666666666666 L 300.75 -163.66666666666666 L 313.25 -163.66666666666666 L 313.25 -153.66666666666666 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 307.0 -153.66666666666666 L 300.75 -163.66666666666666 L 313.25 -163.66666666666666 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-154.0">
+          cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map
+        </text>
+        <path d="M 300 -140.66666666666666 L 314 -140.66666666666666" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip54);">
+          <path d="M 300.75 -135.66666666666666 L 300.75 -145.66666666666666 L 313.25 -145.66666666666666 L 313.25 -135.66666666666666 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 300.75 -135.66666666666666 L 313.25 -135.66666666666666 L 307.0 -145.66666666666666 Z"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-136.0">
+            cc_hash_mod_prime_nea_lc_1div8_1div2_nsth_map
+          </text>
+          <path d="M 300 -122.66666666666666 L 314 -122.66666666666666" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip55);">
+            <path d="M 299.85714285714283 -115.52380952380952 L 299.85714285714283 -129.8095238095238 L 314.14285714285717 -129.8095238095238 L 314.14285714285717 -115.52380952380952 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 299.85714285714283 -122.66666666666666 L 307.0 -129.8095238095238 L 314.14285714285717 -122.66666666666666 L 307.0 -115.52380952380952 Z"/>
+            <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-118.0">
+              cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map
+            </text>
+            <path d="M 300 -104.66666666666666 L 314 -104.66666666666666" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+            <path d="M 302.0 -99.66666666666666 L 312.0 -109.66666666666666" style="stroke-width:0.7;"/>
+            <path d="M 312.0 -99.66666666666666 L 302.0 -109.66666666666666" style="stroke-width:0.7;"/>
+            <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-100.0">
+              cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map
+            </text>
+          </g>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_find_local.pdf b/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_find_local.pdf
new file mode 100644 (file)
index 0000000..a778ac2
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_find_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_find_local.png b/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_find_local.png
new file mode 100644 (file)
index 0000000..d2d6035
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_find_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_find_local.svg b/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_find_local.svg
new file mode 100644 (file)
index 0000000..065aed6
--- /dev/null
@@ -0,0 +1,597 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 456.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 338.4 -489.255309191219 M 342.4 -489.255309191219 L 342.4 -489.255 M 342.4 -489.255 A 4 4 0 1 0 334.4 -489.255 A 4 4 0 1 0 342.4 -489.255 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 376.8 -500.4818879082035 M 380.8 -500.4818879082035 L 380.8 -500.482 M 380.8 -500.482 A 4 4 0 1 0 372.8 -500.482 A 4 4 0 1 0 380.8 -500.482 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 415.2 -490.50418733722796 M 419.2 -490.50418733722796 L 419.2 -490.504 M 419.2 -490.504 A 4 4 0 1 0 411.2 -490.504 A 4 4 0 1 0 419.2 -490.504 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 453.6 -500.1269690946432 M 457.6 -500.1269690946432 L 457.6 -500.127 M 457.6 -500.127 A 4 4 0 1 0 449.6 -500.127 A 4 4 0 1 0 457.6 -500.127 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 492.0 -514.9996421079293 M 496.0 -514.9996421079293 L 496 -515 M 496 -515 A 4 4 0 1 0 488 -515 A 4 4 0 1 0 496 -515 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 530.4 -503.2497701231699 M 534.4 -503.2497701231699 L 534.4 -503.25 M 534.4 -503.25 A 4 4 0 1 0 526.4 -503.25 A 4 4 0 1 0 534.4 -503.25 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 568.8 -502.98327818124756 M 572.8 -502.98327818124756 L 572.8 -502.983 M 572.8 -502.983 A 4 4 0 1 0 564.8 -502.983 A 4 4 0 1 0 572.8 -502.983 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 607.2 -516.1067949939159 M 611.2 -516.1067949939159 L 611.2 -516.107 M 611.2 -516.107 A 4 4 0 1 0 603.2 -516.107 A 4 4 0 1 0 611.2 -516.107 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 645.6 -506.3265407253647 M 649.6 -506.3265407253647 L 649.6 -506.327 M 649.6 -506.327 A 4 4 0 1 0 641.6 -506.327 A 4 4 0 1 0 649.6 -506.327 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 684.0 -508.29010180652904 M 688.0 -508.29010180652904 L 688 -508.29 M 688 -508.29 A 4 4 0 1 0 680 -508.29 A 4 4 0 1 0 688 -508.29 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 338.4 -470.9876444645109 L 332.15 -480.9876444645109 L 344.65 -480.9876444645109 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 376.8 -510.4732709683459 L 370.55 -520.4732709683459 L 383.05 -520.4732709683459 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 415.2 -487.7475649574109 L 408.95 -497.7475649574109 L 421.45 -497.7475649574109 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 453.6 -502.4191576872464 L 447.35 -512.4191576872464 L 459.85 -512.4191576872464 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 492.0 -479.1798490246065 L 485.75 -489.1798490246065 L 498.25 -489.1798490246065 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 530.4 -499.38357220334876 L 524.15 -509.38357220334876 L 536.65 -509.38357220334876 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 568.8 -508.1547910736212 L 562.55 -518.1547910736213 L 575.05 -518.1547910736213 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 607.2 -515.0 L 600.95 -525.0 L 613.45 -525.0 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 645.6 -481.665492046537 L 639.35 -491.665492046537 L 651.85 -491.665492046537 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 684.0 -487.03288202225536 L 677.75 -497.03288202225536 L 690.25 -497.03288202225536 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 332.15 -469.4928669357281 L 344.65 -469.4928669357281 L 338.4 -479.4928669357281 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 370.55 -454.5959673822673 L 383.05 -454.5959673822673 L 376.8 -464.5959673822673 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 408.95 -449.29035508399454 L 421.45 -449.29035508399454 L 415.2 -459.29035508399454 Z"/>
+    </clipPath>
+    <clipPath id="clip30">
+      <path d="M 447.35 -470.4667738507535 L 459.85 -470.4667738507535 L 453.6 -480.4667738507535 Z"/>
+    </clipPath>
+    <clipPath id="clip31">
+      <path d="M 485.75 -451.10613427009287 L 498.25 -451.10613427009287 L 492.0 -461.10613427009287 Z"/>
+    </clipPath>
+    <clipPath id="clip32">
+      <path d="M 524.15 -455.13016259312076 L 536.65 -455.13016259312076 L 530.4 -465.13016259312076 Z"/>
+    </clipPath>
+    <clipPath id="clip33">
+      <path d="M 562.55 -463.3780881956183 L 575.05 -463.3780881956183 L 568.8 -473.3780881956183 Z"/>
+    </clipPath>
+    <clipPath id="clip34">
+      <path d="M 600.95 -470.93676873014385 L 613.45 -470.93676873014385 L 607.2 -480.93676873014385 Z"/>
+    </clipPath>
+    <clipPath id="clip35">
+      <path d="M 639.35 -442.75282321783516 L 651.85 -442.75282321783516 L 645.6 -452.75282321783516 Z"/>
+    </clipPath>
+    <clipPath id="clip36">
+      <path d="M 677.75 -453.34345525523213 L 690.25 -453.34345525523213 L 684.0 -463.34345525523213 Z"/>
+    </clipPath>
+    <clipPath id="clip37">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip38">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip39">
+      <path d="M 331.25714285714287 -387.5456312390223 L 338.4 -394.6884883818795 L 345.54285714285714 -387.5456312390223 L 338.4 -380.4027740961652 Z"/>
+    </clipPath>
+    <clipPath id="clip40">
+      <path d="M 369.65714285714284 -384.89985078653666 L 376.8 -392.0427079293938 L 383.9428571428571 -384.89985078653666 L 376.8 -377.7569936436795 Z"/>
+    </clipPath>
+    <clipPath id="clip41">
+      <path d="M 408.0571428571429 -380.2014767177443 L 415.2 -387.3443338606014 L 422.34285714285716 -380.2014767177443 L 415.2 -373.05861957488713 Z"/>
+    </clipPath>
+    <clipPath id="clip42">
+      <path d="M 446.45714285714286 -391.5973989505503 L 453.6 -398.7402560934075 L 460.74285714285713 -391.5973989505503 L 453.6 -384.4545418076932 Z"/>
+    </clipPath>
+    <clipPath id="clip43">
+      <path d="M 484.8571428571429 -406.074937093586 L 492.0 -413.2177942364432 L 499.1428571428571 -406.074937093586 L 492.0 -398.9320799507289 Z"/>
+    </clipPath>
+    <clipPath id="clip44">
+      <path d="M 523.2571428571429 -388.20289727396363 L 530.4 -395.3457544168208 L 537.5428571428572 -388.20289727396363 L 530.4 -381.06004013110646 Z"/>
+    </clipPath>
+    <clipPath id="clip45">
+      <path d="M 561.6571428571428 -398.0283340399408 L 568.8 -405.1711911827979 L 575.9428571428572 -398.0283340399408 L 568.8 -390.8854768970836 Z"/>
+    </clipPath>
+    <clipPath id="clip46">
+      <path d="M 600.0571428571428 -408.78625033724444 L 607.2 -415.9291074801016 L 614.3428571428572 -408.78625033724444 L 607.2 -401.64339319438733 Z"/>
+    </clipPath>
+    <clipPath id="clip47">
+      <path d="M 638.4571428571428 -409.21021479030276 L 645.6 -416.3530719331599 L 652.7428571428572 -409.21021479030276 L 645.6 -402.06735764744565 Z"/>
+    </clipPath>
+    <clipPath id="clip48">
+      <path d="M 676.8571428571429 -414.2761054735463 L 684.0 -421.4189626164034 L 691.1428571428571 -414.2761054735463 L 684.0 -407.1332483306891 Z"/>
+    </clipPath>
+    <clipPath id="clip49">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip50">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip51">
+      <path d="M 290 -94 L 290 -186 L 324 -186 L 324 -94 Z"/>
+    </clipPath>
+    <clipPath id="clip52">
+      <path d="M 307.0 -176.66666666666669 M 311.0 -176.66666666666669 L 311 -176.667 M 311 -176.667 A 4 4 0 1 0 303 -176.667 A 4 4 0 1 0 311 -176.667 Z"/>
+    </clipPath>
+    <clipPath id="clip53">
+      <path d="M 307.0 -153.66666666666666 L 300.75 -163.66666666666666 L 313.25 -163.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip54">
+      <path d="M 300.75 -135.66666666666666 L 313.25 -135.66666666666666 L 307.0 -145.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip55">
+      <path d="M 299.85714285714283 -122.66666666666666 L 307.0 -129.8095238095238 L 314.14285714285717 -122.66666666666666 L 307.0 -115.52380952380952 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      3.63e-09
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      7.26e-09
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      1.09e-08
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      1.45e-08
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      1.82e-08
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -489.255309191219 L 376.8 -500.4818879082035 L 415.2 -490.50418733722796 L 453.6 -500.1269690946432 L 492.0 -514.9996421079293 L 530.4 -503.2497701231699 L 568.8 -502.98327818124756 L 607.2 -516.1067949939159 L 645.6 -506.3265407253647 L 684.0 -508.29010180652904" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 330.4 -481.255309191219 L 330.4 -497.255309191219 L 346.4 -497.255309191219 L 346.4 -481.255309191219 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -489.255309191219 M 342.4 -489.255309191219 L 342.4 -489.255 M 342.4 -489.255 A 4 4 0 1 0 334.4 -489.255 A 4 4 0 1 0 342.4 -489.255 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 368.8 -492.4818879082035 L 368.8 -508.4818879082035 L 384.8 -508.4818879082035 L 384.8 -492.4818879082035 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -500.4818879082035 M 380.8 -500.4818879082035 L 380.8 -500.482 M 380.8 -500.482 A 4 4 0 1 0 372.8 -500.482 A 4 4 0 1 0 380.8 -500.482 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 407.2 -482.50418733722796 L 407.2 -498.50418733722796 L 423.2 -498.50418733722796 L 423.2 -482.50418733722796 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -490.50418733722796 M 419.2 -490.50418733722796 L 419.2 -490.504 M 419.2 -490.504 A 4 4 0 1 0 411.2 -490.504 A 4 4 0 1 0 419.2 -490.504 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 445.6 -492.1269690946432 L 445.6 -508.1269690946432 L 461.6 -508.1269690946432 L 461.6 -492.1269690946432 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -500.1269690946432 M 457.6 -500.1269690946432 L 457.6 -500.127 M 457.6 -500.127 A 4 4 0 1 0 449.6 -500.127 A 4 4 0 1 0 457.6 -500.127 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 484.0 -506.9996421079293 L 484.0 -522.9996421079293 L 500.0 -522.9996421079293 L 500.0 -506.9996421079293 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -514.9996421079293 M 496.0 -514.9996421079293 L 496 -515 M 496 -515 A 4 4 0 1 0 488 -515 A 4 4 0 1 0 496 -515 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 522.4 -495.2497701231699 L 522.4 -511.2497701231699 L 538.4 -511.2497701231699 L 538.4 -495.2497701231699 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -503.2497701231699 M 534.4 -503.2497701231699 L 534.4 -503.25 M 534.4 -503.25 A 4 4 0 1 0 526.4 -503.25 A 4 4 0 1 0 534.4 -503.25 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 560.8 -494.98327818124756 L 560.8 -510.98327818124756 L 576.8 -510.98327818124756 L 576.8 -494.98327818124756 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -502.98327818124756 M 572.8 -502.98327818124756 L 572.8 -502.983 M 572.8 -502.983 A 4 4 0 1 0 564.8 -502.983 A 4 4 0 1 0 572.8 -502.983 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 599.2 -508.10679499391586 L 599.2 -524.1067949939159 L 615.2 -524.1067949939159 L 615.2 -508.10679499391586 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -516.1067949939159 M 611.2 -516.1067949939159 L 611.2 -516.107 M 611.2 -516.107 A 4 4 0 1 0 603.2 -516.107 A 4 4 0 1 0 611.2 -516.107 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 637.6 -498.3265407253647 L 637.6 -514.3265407253647 L 653.6 -514.3265407253647 L 653.6 -498.3265407253647 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -506.3265407253647 M 649.6 -506.3265407253647 L 649.6 -506.327 M 649.6 -506.327 A 4 4 0 1 0 641.6 -506.327 A 4 4 0 1 0 649.6 -506.327 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 676.0 -500.29010180652904 L 676.0 -516.290101806529 L 692.0 -516.290101806529 L 692.0 -500.29010180652904 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -508.29010180652904 M 688.0 -508.29010180652904 L 688 -508.29 M 688 -508.29 A 4 4 0 1 0 680 -508.29 A 4 4 0 1 0 688 -508.29 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 338.4 -475.9876444645109 L 376.8 -515.4732709683459 L 415.2 -492.7475649574109 L 453.6 -507.4191576872464 L 492.0 -484.1798490246065 L 530.4 -504.38357220334876 L 568.8 -513.1547910736213 L 607.2 -520.0 L 645.6 -486.665492046537 L 684.0 -492.03288202225536" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 332.15 -470.9876444645109 L 332.15 -480.9876444645109 L 344.65 -480.9876444645109 L 344.65 -470.9876444645109 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -470.9876444645109 L 332.15 -480.9876444645109 L 344.65 -480.9876444645109 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 370.55 -510.4732709683459 L 370.55 -520.4732709683459 L 383.05 -520.4732709683459 L 383.05 -510.4732709683459 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -510.4732709683459 L 370.55 -520.4732709683459 L 383.05 -520.4732709683459 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 408.95 -487.7475649574109 L 408.95 -497.7475649574109 L 421.45 -497.7475649574109 L 421.45 -487.7475649574109 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -487.7475649574109 L 408.95 -497.7475649574109 L 421.45 -497.7475649574109 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 447.35 -502.4191576872464 L 447.35 -512.4191576872464 L 459.85 -512.4191576872464 L 459.85 -502.4191576872464 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -502.4191576872464 L 447.35 -512.4191576872464 L 459.85 -512.4191576872464 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 485.75 -479.1798490246065 L 485.75 -489.1798490246065 L 498.25 -489.1798490246065 L 498.25 -479.1798490246065 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -479.1798490246065 L 485.75 -489.1798490246065 L 498.25 -489.1798490246065 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 524.15 -499.38357220334876 L 524.15 -509.38357220334876 L 536.65 -509.38357220334876 L 536.65 -499.38357220334876 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -499.38357220334876 L 524.15 -509.38357220334876 L 536.65 -509.38357220334876 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 562.55 -508.1547910736212 L 562.55 -518.1547910736213 L 575.05 -518.1547910736213 L 575.05 -508.1547910736212 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -508.1547910736212 L 562.55 -518.1547910736213 L 575.05 -518.1547910736213 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 600.95 -515.0 L 600.95 -525.0 L 613.45 -525.0 L 613.45 -515.0 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -515.0 L 600.95 -525.0 L 613.45 -525.0 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 639.35 -481.665492046537 L 639.35 -491.665492046537 L 651.85 -491.665492046537 L 651.85 -481.665492046537 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -481.665492046537 L 639.35 -491.665492046537 L 651.85 -491.665492046537 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 677.75 -487.03288202225536 L 677.75 -497.03288202225536 L 690.25 -497.03288202225536 L 690.25 -487.03288202225536 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -487.03288202225536 L 677.75 -497.03288202225536 L 690.25 -497.03288202225536 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 338.4 -474.4928669357281 L 376.8 -459.5959673822673 L 415.2 -454.29035508399454 L 453.6 -475.4667738507535 L 492.0 -456.10613427009287 L 530.4 -460.13016259312076 L 568.8 -468.3780881956183 L 607.2 -475.93676873014385 L 645.6 -447.75282321783516 L 684.0 -458.34345525523213" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip27);">
+          <path d="M 332.15 -469.4928669357281 L 332.15 -479.4928669357281 L 344.65 -479.4928669357281 L 344.65 -469.4928669357281 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 332.15 -469.4928669357281 L 344.65 -469.4928669357281 L 338.4 -479.4928669357281 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip28);">
+            <path d="M 370.55 -454.5959673822673 L 370.55 -464.5959673822673 L 383.05 -464.5959673822673 L 383.05 -454.5959673822673 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 370.55 -454.5959673822673 L 383.05 -454.5959673822673 L 376.8 -464.5959673822673 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+              <path d="M 408.95 -449.29035508399454 L 408.95 -459.29035508399454 L 421.45 -459.29035508399454 L 421.45 -449.29035508399454 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.95 -449.29035508399454 L 421.45 -449.29035508399454 L 415.2 -459.29035508399454 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip30);">
+                <path d="M 447.35 -470.4667738507535 L 447.35 -480.4667738507535 L 459.85 -480.4667738507535 L 459.85 -470.4667738507535 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 447.35 -470.4667738507535 L 459.85 -470.4667738507535 L 453.6 -480.4667738507535 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip31);">
+                  <path d="M 485.75 -451.10613427009287 L 485.75 -461.10613427009287 L 498.25 -461.10613427009287 L 498.25 -451.10613427009287 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 485.75 -451.10613427009287 L 498.25 -451.10613427009287 L 492.0 -461.10613427009287 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip32);">
+                    <path d="M 524.15 -455.13016259312076 L 524.15 -465.13016259312076 L 536.65 -465.13016259312076 L 536.65 -455.13016259312076 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 524.15 -455.13016259312076 L 536.65 -455.13016259312076 L 530.4 -465.13016259312076 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip33);">
+                      <path d="M 562.55 -463.3780881956183 L 562.55 -473.3780881956183 L 575.05 -473.3780881956183 L 575.05 -463.3780881956183 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 562.55 -463.3780881956183 L 575.05 -463.3780881956183 L 568.8 -473.3780881956183 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip34);">
+                        <path d="M 600.95 -470.93676873014385 L 600.95 -480.93676873014385 L 613.45 -480.93676873014385 L 613.45 -470.93676873014385 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.95 -470.93676873014385 L 613.45 -470.93676873014385 L 607.2 -480.93676873014385 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip35);">
+                          <path d="M 639.35 -442.75282321783516 L 639.35 -452.75282321783516 L 651.85 -452.75282321783516 L 651.85 -442.75282321783516 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 639.35 -442.75282321783516 L 651.85 -442.75282321783516 L 645.6 -452.75282321783516 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip36);">
+                            <path d="M 677.75 -453.34345525523213 L 677.75 -463.34345525523213 L 690.25 -463.34345525523213 L 690.25 -453.34345525523213 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 677.75 -453.34345525523213 L 690.25 -453.34345525523213 L 684.0 -463.34345525523213 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip37);">
+        <path d="M 338.4 -387.5456312390223 L 376.8 -384.89985078653666 L 415.2 -380.2014767177443 L 453.6 -391.5973989505503 L 492.0 -406.074937093586 L 530.4 -388.20289727396363 L 568.8 -398.0283340399408 L 607.2 -408.78625033724444 L 645.6 -409.21021479030276 L 684.0 -414.2761054735463" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip38);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip39);">
+          <path d="M 331.25714285714287 -380.4027740961652 L 331.25714285714287 -394.6884883818795 L 345.54285714285714 -394.6884883818795 L 345.54285714285714 -380.4027740961652 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 331.25714285714287 -387.5456312390223 L 338.4 -394.6884883818795 L 345.54285714285714 -387.5456312390223 L 338.4 -380.4027740961652 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip40);">
+            <path d="M 369.65714285714284 -377.7569936436795 L 369.65714285714284 -392.0427079293938 L 383.9428571428571 -392.0427079293938 L 383.9428571428571 -377.7569936436795 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 369.65714285714284 -384.89985078653666 L 376.8 -392.0427079293938 L 383.9428571428571 -384.89985078653666 L 376.8 -377.7569936436795 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip41);">
+              <path d="M 408.0571428571429 -373.05861957488713 L 408.0571428571429 -387.3443338606014 L 422.34285714285716 -387.3443338606014 L 422.34285714285716 -373.05861957488713 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.0571428571429 -380.2014767177443 L 415.2 -387.3443338606014 L 422.34285714285716 -380.2014767177443 L 415.2 -373.05861957488713 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip42);">
+                <path d="M 446.45714285714286 -384.4545418076932 L 446.45714285714286 -398.7402560934075 L 460.74285714285713 -398.7402560934075 L 460.74285714285713 -384.4545418076932 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 446.45714285714286 -391.5973989505503 L 453.6 -398.7402560934075 L 460.74285714285713 -391.5973989505503 L 453.6 -384.4545418076932 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip43);">
+                  <path d="M 484.8571428571429 -398.9320799507289 L 484.8571428571429 -413.2177942364432 L 499.1428571428571 -413.2177942364432 L 499.1428571428571 -398.9320799507289 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 484.8571428571429 -406.074937093586 L 492.0 -413.2177942364432 L 499.1428571428571 -406.074937093586 L 492.0 -398.9320799507289 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip44);">
+                    <path d="M 523.2571428571429 -381.06004013110646 L 523.2571428571429 -395.3457544168208 L 537.5428571428572 -395.3457544168208 L 537.5428571428572 -381.06004013110646 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 523.2571428571429 -388.20289727396363 L 530.4 -395.3457544168208 L 537.5428571428572 -388.20289727396363 L 530.4 -381.06004013110646 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip45);">
+                      <path d="M 561.6571428571428 -390.8854768970836 L 561.6571428571428 -405.1711911827979 L 575.9428571428572 -405.1711911827979 L 575.9428571428572 -390.8854768970836 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 561.6571428571428 -398.0283340399408 L 568.8 -405.1711911827979 L 575.9428571428572 -398.0283340399408 L 568.8 -390.8854768970836 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip46);">
+                        <path d="M 600.0571428571428 -401.64339319438733 L 600.0571428571428 -415.9291074801016 L 614.3428571428572 -415.9291074801016 L 614.3428571428572 -401.64339319438733 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.0571428571428 -408.78625033724444 L 607.2 -415.9291074801016 L 614.3428571428572 -408.78625033724444 L 607.2 -401.64339319438733 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip47);">
+                          <path d="M 638.4571428571428 -402.06735764744565 L 638.4571428571428 -416.3530719331599 L 652.7428571428572 -416.3530719331599 L 652.7428571428572 -402.06735764744565 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 638.4571428571428 -409.21021479030276 L 645.6 -416.3530719331599 L 652.7428571428572 -409.21021479030276 L 645.6 -402.06735764744565 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip48);">
+                            <path d="M 676.8571428571429 -407.1332483306891 L 676.8571428571429 -421.4189626164034 L 691.1428571428571 -421.4189626164034 L 691.1428571428571 -407.1332483306891 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 676.8571428571429 -414.2761054735463 L 684.0 -421.4189626164034 L 691.1428571428571 -414.2761054735463 L 684.0 -407.1332483306891 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip49);">
+        <path d="M 338.4 -365.9034572374036 L 376.8 -362.27504831542956 L 415.2 -363.2104350315771 L 453.6 -369.4952840837137 L 492.0 -377.070559798259 L 530.4 -369.5476134104912 L 568.8 -375.4472604738491 L 607.2 -378.7883426293505 L 645.6 -381.04286445801375 L 684.0 -386.12825750609795" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip50);">
+        <path d="M 333.4 -360.9034572374036 L 343.4 -370.9034572374036" style="stroke-width:0.7;"/>
+        <path d="M 343.4 -360.9034572374036 L 333.4 -370.9034572374036" style="stroke-width:0.7;"/>
+        <path d="M 371.8 -357.27504831542956 L 381.8 -367.27504831542956" style="stroke-width:0.7;"/>
+        <path d="M 381.8 -357.27504831542956 L 371.8 -367.27504831542956" style="stroke-width:0.7;"/>
+        <path d="M 410.2 -358.2104350315771 L 420.2 -368.2104350315771" style="stroke-width:0.7;"/>
+        <path d="M 420.2 -358.2104350315771 L 410.2 -368.2104350315771" style="stroke-width:0.7;"/>
+        <path d="M 448.6 -364.4952840837137 L 458.6 -374.4952840837137" style="stroke-width:0.7;"/>
+        <path d="M 458.6 -364.4952840837137 L 448.6 -374.4952840837137" style="stroke-width:0.7;"/>
+        <path d="M 487.0 -372.070559798259 L 497.0 -382.070559798259" style="stroke-width:0.7;"/>
+        <path d="M 497.0 -372.070559798259 L 487.0 -382.070559798259" style="stroke-width:0.7;"/>
+        <path d="M 525.4 -364.5476134104912 L 535.4 -374.5476134104912" style="stroke-width:0.7;"/>
+        <path d="M 535.4 -364.5476134104912 L 525.4 -374.5476134104912" style="stroke-width:0.7;"/>
+        <path d="M 563.8 -370.4472604738491 L 573.8 -380.4472604738491" style="stroke-width:0.7;"/>
+        <path d="M 573.8 -370.4472604738491 L 563.8 -380.4472604738491" style="stroke-width:0.7;"/>
+        <path d="M 602.2 -373.7883426293505 L 612.2 -383.7883426293505" style="stroke-width:0.7;"/>
+        <path d="M 612.2 -373.7883426293505 L 602.2 -383.7883426293505" style="stroke-width:0.7;"/>
+        <path d="M 640.6 -376.04286445801375 L 650.6 -386.04286445801375" style="stroke-width:0.7;"/>
+        <path d="M 650.6 -376.04286445801375 L 640.6 -386.04286445801375" style="stroke-width:0.7;"/>
+        <path d="M 679.0 -381.12825750609795 L 689.0 -391.12825750609795" style="stroke-width:0.7;"/>
+        <path d="M 689.0 -381.12825750609795 L 679.0 -391.12825750609795" style="stroke-width:0.7;"/>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip51);">
+      <path d="M 290 -94 L 290 -186 L 324 -186 L 324 -94 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -176.66666666666669 L 314 -176.66666666666669" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip52);">
+      <path d="M 299.0 -168.66666666666669 L 299.0 -184.66666666666669 L 315.0 -184.66666666666669 L 315.0 -168.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -176.66666666666669 M 311.0 -176.66666666666669 L 311 -176.667 M 311 -176.667 A 4 4 0 1 0 303 -176.667 A 4 4 0 1 0 311 -176.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-172.0">
+        n_hash_map_ncah
+      </text>
+      <path d="M 300 -158.66666666666666 L 314 -158.66666666666666" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip53);">
+        <path d="M 300.75 -153.66666666666666 L 300.75 -163.66666666666666 L 313.25 -163.66666666666666 L 313.25 -153.66666666666666 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 307.0 -153.66666666666666 L 300.75 -163.66666666666666 L 313.25 -163.66666666666666 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-154.0">
+          cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map
+        </text>
+        <path d="M 300 -140.66666666666666 L 314 -140.66666666666666" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip54);">
+          <path d="M 300.75 -135.66666666666666 L 300.75 -145.66666666666666 L 313.25 -145.66666666666666 L 313.25 -135.66666666666666 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 300.75 -135.66666666666666 L 313.25 -135.66666666666666 L 307.0 -145.66666666666666 Z"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-136.0">
+            cc_hash_mod_prime_nea_lc_1div8_1div2_nsth_map
+          </text>
+          <path d="M 300 -122.66666666666666 L 314 -122.66666666666666" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip55);">
+            <path d="M 299.85714285714283 -115.52380952380952 L 299.85714285714283 -129.8095238095238 L 314.14285714285717 -129.8095238095238 L 314.14285714285717 -115.52380952380952 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 299.85714285714283 -122.66666666666666 L 307.0 -129.8095238095238 L 314.14285714285717 -122.66666666666666 L 307.0 -115.52380952380952 Z"/>
+            <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-118.0">
+              cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map
+            </text>
+            <path d="M 300 -104.66666666666666 L 314 -104.66666666666666" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+            <path d="M 302.0 -99.66666666666666 L 312.0 -109.66666666666666" style="stroke-width:0.7;"/>
+            <path d="M 312.0 -99.66666666666666 L 302.0 -109.66666666666666" style="stroke-width:0.7;"/>
+            <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-100.0">
+              cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map
+            </text>
+          </g>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_insert_local.pdf b/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_insert_local.pdf
new file mode 100644 (file)
index 0000000..6a62da8
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_insert_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_insert_local.png b/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_insert_local.png
new file mode 100644 (file)
index 0000000..71b6206
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_insert_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_insert_local.svg b/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_insert_local.svg
new file mode 100644 (file)
index 0000000..9cb1af8
--- /dev/null
@@ -0,0 +1,598 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 456.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 332.15 -473.62481833173945 L 344.65 -473.62481833173945 L 338.4 -483.62481833173945 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 370.55 -471.2789822059233 L 383.05 -471.2789822059233 L 376.8 -481.2789822059233 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 408.95 -485.7101817059121 L 421.45 -485.7101817059121 L 415.2 -495.7101817059121 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 447.35 -472.0692109008487 L 459.85 -472.0692109008487 L 453.6 -482.0692109008487 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 485.75 -502.86493670790753 L 498.25 -502.86493670790753 L 492.0 -512.8649367079075 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 524.15 -489.1229094030739 L 536.65 -489.1229094030739 L 530.4 -499.1229094030739 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 562.55 -482.8308997944231 L 575.05 -482.8308997944231 L 568.8 -492.8308997944231 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 600.95 -477.7200915683336 L 613.45 -477.7200915683336 L 607.2 -487.7200915683336 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 639.35 -515.0 L 651.85 -515.0 L 645.6 -525.0 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 677.75 -503.90532165636273 L 690.25 -503.90532165636273 L 684.0 -513.9053216563627 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 338.4 -508.1896428383171 M 342.4 -508.1896428383171 L 342.4 -508.19 M 342.4 -508.19 A 4 4 0 1 0 334.4 -508.19 A 4 4 0 1 0 342.4 -508.19 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 376.8 -472.9258944102653 M 380.8 -472.9258944102653 L 380.8 -472.926 M 380.8 -472.926 A 4 4 0 1 0 372.8 -472.926 A 4 4 0 1 0 380.8 -472.926 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 415.2 -484.19452246662195 M 419.2 -484.19452246662195 L 419.2 -484.195 M 419.2 -484.195 A 4 4 0 1 0 411.2 -484.195 A 4 4 0 1 0 419.2 -484.195 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 453.6 -472.70887143534867 M 457.6 -472.70887143534867 L 457.6 -472.709 M 457.6 -472.709 A 4 4 0 1 0 449.6 -472.709 A 4 4 0 1 0 457.6 -472.709 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 492.0 -494.8568115243568 M 496.0 -494.8568115243568 L 496 -494.857 M 496 -494.857 A 4 4 0 1 0 488 -494.857 A 4 4 0 1 0 496 -494.857 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 530.4 -485.7617265450274 M 534.4 -485.7617265450274 L 534.4 -485.762 M 534.4 -485.762 A 4 4 0 1 0 526.4 -485.762 A 4 4 0 1 0 534.4 -485.762 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 568.8 -487.8308997944231 M 572.8 -487.8308997944231 L 572.8 -487.831 M 572.8 -487.831 A 4 4 0 1 0 564.8 -487.831 A 4 4 0 1 0 572.8 -487.831 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 607.2 -475.30817714255596 M 611.2 -475.30817714255596 L 611.2 -475.308 M 611.2 -475.308 A 4 4 0 1 0 603.2 -475.308 A 4 4 0 1 0 611.2 -475.308 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 645.6 -505.84546337643167 M 649.6 -505.84546337643167 L 649.6 -505.845 M 649.6 -505.845 A 4 4 0 1 0 641.6 -505.845 A 4 4 0 1 0 649.6 -505.845 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 684.0 -500.40332236421006 M 688.0 -500.40332236421006 L 688 -500.403 M 688 -500.403 A 4 4 0 1 0 680 -500.403 A 4 4 0 1 0 688 -500.403 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 338.4 -507.39259923040436 L 332.15 -517.3925992304044 L 344.65 -517.3925992304044 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 376.8 -463.865411116215 L 370.55 -473.865411116215 L 383.05 -473.865411116215 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 415.2 -470.4572768963154 L 408.95 -480.4572768963154 L 421.45 -480.4572768963154 Z"/>
+    </clipPath>
+    <clipPath id="clip30">
+      <path d="M 453.6 -463.49266173181627 L 447.35 -473.49266173181627 L 459.85 -473.49266173181627 Z"/>
+    </clipPath>
+    <clipPath id="clip31">
+      <path d="M 492.0 -482.3604072381153 L 485.75 -492.3604072381153 L 498.25 -492.3604072381153 Z"/>
+    </clipPath>
+    <clipPath id="clip32">
+      <path d="M 530.4 -473.1973990376289 L 524.15 -483.1973990376289 L 536.65 -483.1973990376289 Z"/>
+    </clipPath>
+    <clipPath id="clip33">
+      <path d="M 568.8 -466.4166735694331 L 562.55 -476.4166735694331 L 575.05 -476.4166735694331 Z"/>
+    </clipPath>
+    <clipPath id="clip34">
+      <path d="M 607.2 -461.1584222535148 L 600.95 -471.1584222535148 L 613.45 -471.1584222535148 Z"/>
+    </clipPath>
+    <clipPath id="clip35">
+      <path d="M 645.6 -491.8779415197632 L 639.35 -501.8779415197632 L 651.85 -501.8779415197632 Z"/>
+    </clipPath>
+    <clipPath id="clip36">
+      <path d="M 684.0 -487.59546525900436 L 677.75 -497.59546525900436 L 690.25 -497.59546525900436 Z"/>
+    </clipPath>
+    <clipPath id="clip37">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip38">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip39">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip40">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip41">
+      <path d="M 331.25714285714287 -455.9212331603877 L 338.4 -463.0640903032448 L 345.54285714285714 -455.9212331603877 L 338.4 -448.77837601753055 Z"/>
+    </clipPath>
+    <clipPath id="clip42">
+      <path d="M 369.65714285714284 -455.83574930156556 L 376.8 -462.97860644442267 L 383.9428571428571 -455.83574930156556 L 376.8 -448.69289215870845 Z"/>
+    </clipPath>
+    <clipPath id="clip43">
+      <path d="M 408.0571428571429 -463.893596993908 L 415.2 -471.0364541367651 L 422.34285714285716 -463.893596993908 L 415.2 -456.75073985105087 Z"/>
+    </clipPath>
+    <clipPath id="clip44">
+      <path d="M 446.45714285714286 -451.16064368924003 L 453.6 -458.30350083209714 L 460.74285714285713 -451.16064368924003 L 453.6 -444.01778654638287 Z"/>
+    </clipPath>
+    <clipPath id="clip45">
+      <path d="M 484.8571428571429 -445.08284072682363 L 492.0 -452.2256978696808 L 499.1428571428571 -445.08284072682363 L 492.0 -437.9399835839665 Z"/>
+    </clipPath>
+    <clipPath id="clip46">
+      <path d="M 523.2571428571429 -467.46884342266765 L 530.4 -474.6117005655248 L 537.5428571428572 -467.46884342266765 L 530.4 -460.32598627981054 Z"/>
+    </clipPath>
+    <clipPath id="clip47">
+      <path d="M 561.6571428571428 -460.60859808580017 L 568.8 -467.7514552286573 L 575.9428571428572 -460.60859808580017 L 568.8 -453.465740942943 Z"/>
+    </clipPath>
+    <clipPath id="clip48">
+      <path d="M 600.0571428571428 -458.9030625691845 L 607.2 -466.04591971204167 L 614.3428571428572 -458.9030625691845 L 607.2 -451.7602054263274 Z"/>
+    </clipPath>
+    <clipPath id="clip49">
+      <path d="M 638.4571428571428 -451.188309976882 L 645.6 -458.3311671197391 L 652.7428571428572 -451.188309976882 L 645.6 -444.0454528340249 Z"/>
+    </clipPath>
+    <clipPath id="clip50">
+      <path d="M 676.8571428571429 -448.5414580148648 L 684.0 -455.6843151577219 L 691.1428571428571 -448.5414580148648 L 684.0 -441.3986008720077 Z"/>
+    </clipPath>
+    <clipPath id="clip51">
+      <path d="M 290 -94 L 290 -186 L 324 -186 L 324 -94 Z"/>
+    </clipPath>
+    <clipPath id="clip52">
+      <path d="M 300.75 -171.66666666666669 L 313.25 -171.66666666666669 L 307.0 -181.66666666666669 Z"/>
+    </clipPath>
+    <clipPath id="clip53">
+      <path d="M 307.0 -158.66666666666666 M 311.0 -158.66666666666666 L 311 -158.667 M 311 -158.667 A 4 4 0 1 0 303 -158.667 A 4 4 0 1 0 311 -158.667 Z"/>
+    </clipPath>
+    <clipPath id="clip54">
+      <path d="M 307.0 -135.66666666666666 L 300.75 -145.66666666666666 L 313.25 -145.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip55">
+      <path d="M 299.85714285714283 -104.66666666666666 L 307.0 -111.8095238095238 L 314.14285714285717 -104.66666666666666 L 307.0 -97.52380952380952 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -465.6663930661084 L 780 -465.6663930661084" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      2.66e-08
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      5.31e-08
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      7.97e-08
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      1.06e-07
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      1.33e-07
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -478.62481833173945 L 376.8 -476.2789822059233 L 415.2 -490.7101817059121 L 453.6 -477.0692109008487 L 492.0 -507.86493670790753 L 530.4 -494.1229094030739 L 568.8 -487.8308997944231 L 607.2 -482.7200915683336 L 645.6 -520.0 L 684.0 -508.90532165636273" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 332.15 -473.62481833173945 L 332.15 -483.62481833173945 L 344.65 -483.62481833173945 L 344.65 -473.62481833173945 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 332.15 -473.62481833173945 L 344.65 -473.62481833173945 L 338.4 -483.62481833173945 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 370.55 -471.2789822059233 L 370.55 -481.2789822059233 L 383.05 -481.2789822059233 L 383.05 -471.2789822059233 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 370.55 -471.2789822059233 L 383.05 -471.2789822059233 L 376.8 -481.2789822059233 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 408.95 -485.7101817059121 L 408.95 -495.7101817059121 L 421.45 -495.7101817059121 L 421.45 -485.7101817059121 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.95 -485.7101817059121 L 421.45 -485.7101817059121 L 415.2 -495.7101817059121 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 447.35 -472.0692109008487 L 447.35 -482.0692109008487 L 459.85 -482.0692109008487 L 459.85 -472.0692109008487 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 447.35 -472.0692109008487 L 459.85 -472.0692109008487 L 453.6 -482.0692109008487 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 485.75 -502.86493670790753 L 485.75 -512.8649367079075 L 498.25 -512.8649367079075 L 498.25 -502.86493670790753 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 485.75 -502.86493670790753 L 498.25 -502.86493670790753 L 492.0 -512.8649367079075 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 524.15 -489.1229094030739 L 524.15 -499.1229094030739 L 536.65 -499.1229094030739 L 536.65 -489.1229094030739 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 524.15 -489.1229094030739 L 536.65 -489.1229094030739 L 530.4 -499.1229094030739 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 562.55 -482.8308997944231 L 562.55 -492.8308997944231 L 575.05 -492.8308997944231 L 575.05 -482.8308997944231 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 562.55 -482.8308997944231 L 575.05 -482.8308997944231 L 568.8 -492.8308997944231 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 600.95 -477.7200915683336 L 600.95 -487.7200915683336 L 613.45 -487.7200915683336 L 613.45 -477.7200915683336 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.95 -477.7200915683336 L 613.45 -477.7200915683336 L 607.2 -487.7200915683336 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 639.35 -515.0 L 639.35 -525.0 L 651.85 -525.0 L 651.85 -515.0 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 639.35 -515.0 L 651.85 -515.0 L 645.6 -525.0 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 677.75 -503.90532165636273 L 677.75 -513.9053216563627 L 690.25 -513.9053216563627 L 690.25 -503.90532165636273 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 677.75 -503.90532165636273 L 690.25 -503.90532165636273 L 684.0 -513.9053216563627 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 338.4 -508.1896428383171 L 376.8 -472.9258944102653 L 415.2 -484.19452246662195 L 453.6 -472.70887143534867 L 492.0 -494.8568115243568 L 530.4 -485.7617265450274 L 568.8 -487.8308997944231 L 607.2 -475.30817714255596 L 645.6 -505.84546337643167 L 684.0 -500.40332236421006" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 330.4 -500.1896428383171 L 330.4 -516.1896428383171 L 346.4 -516.1896428383171 L 346.4 -500.1896428383171 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -508.1896428383171 M 342.4 -508.1896428383171 L 342.4 -508.19 M 342.4 -508.19 A 4 4 0 1 0 334.4 -508.19 A 4 4 0 1 0 342.4 -508.19 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 368.8 -464.9258944102653 L 368.8 -480.9258944102653 L 384.8 -480.9258944102653 L 384.8 -464.9258944102653 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -472.9258944102653 M 380.8 -472.9258944102653 L 380.8 -472.926 M 380.8 -472.926 A 4 4 0 1 0 372.8 -472.926 A 4 4 0 1 0 380.8 -472.926 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 407.2 -476.19452246662195 L 407.2 -492.19452246662195 L 423.2 -492.19452246662195 L 423.2 -476.19452246662195 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -484.19452246662195 M 419.2 -484.19452246662195 L 419.2 -484.195 M 419.2 -484.195 A 4 4 0 1 0 411.2 -484.195 A 4 4 0 1 0 419.2 -484.195 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 445.6 -464.70887143534867 L 445.6 -480.70887143534867 L 461.6 -480.70887143534867 L 461.6 -464.70887143534867 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -472.70887143534867 M 457.6 -472.70887143534867 L 457.6 -472.709 M 457.6 -472.709 A 4 4 0 1 0 449.6 -472.709 A 4 4 0 1 0 457.6 -472.709 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 484.0 -486.8568115243568 L 484.0 -502.8568115243568 L 500.0 -502.8568115243568 L 500.0 -486.8568115243568 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -494.8568115243568 M 496.0 -494.8568115243568 L 496 -494.857 M 496 -494.857 A 4 4 0 1 0 488 -494.857 A 4 4 0 1 0 496 -494.857 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 522.4 -477.7617265450274 L 522.4 -493.7617265450274 L 538.4 -493.7617265450274 L 538.4 -477.7617265450274 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -485.7617265450274 M 534.4 -485.7617265450274 L 534.4 -485.762 M 534.4 -485.762 A 4 4 0 1 0 526.4 -485.762 A 4 4 0 1 0 534.4 -485.762 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 560.8 -479.8308997944231 L 560.8 -495.8308997944231 L 576.8 -495.8308997944231 L 576.8 -479.8308997944231 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -487.8308997944231 M 572.8 -487.8308997944231 L 572.8 -487.831 M 572.8 -487.831 A 4 4 0 1 0 564.8 -487.831 A 4 4 0 1 0 572.8 -487.831 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 599.2 -467.30817714255596 L 599.2 -483.30817714255596 L 615.2 -483.30817714255596 L 615.2 -467.30817714255596 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -475.30817714255596 M 611.2 -475.30817714255596 L 611.2 -475.308 M 611.2 -475.308 A 4 4 0 1 0 603.2 -475.308 A 4 4 0 1 0 611.2 -475.308 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 637.6 -497.84546337643167 L 637.6 -513.8454633764317 L 653.6 -513.8454633764317 L 653.6 -497.84546337643167 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -505.84546337643167 M 649.6 -505.84546337643167 L 649.6 -505.845 M 649.6 -505.845 A 4 4 0 1 0 641.6 -505.845 A 4 4 0 1 0 649.6 -505.845 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 676.0 -492.40332236421006 L 676.0 -508.40332236421006 L 692.0 -508.40332236421006 L 692.0 -492.40332236421006 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -500.40332236421006 M 688.0 -500.40332236421006 L 688 -500.403 M 688 -500.403 A 4 4 0 1 0 680 -500.403 A 4 4 0 1 0 688 -500.403 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 338.4 -512.3925992304044 L 376.8 -468.865411116215 L 415.2 -475.4572768963154 L 453.6 -468.49266173181627 L 492.0 -487.3604072381153 L 530.4 -478.1973990376289 L 568.8 -471.4166735694331 L 607.2 -466.1584222535148 L 645.6 -496.8779415197632 L 684.0 -492.59546525900436" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip27);">
+          <path d="M 332.15 -507.39259923040436 L 332.15 -517.3925992304044 L 344.65 -517.3925992304044 L 344.65 -507.39259923040436 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -507.39259923040436 L 332.15 -517.3925992304044 L 344.65 -517.3925992304044 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip28);">
+            <path d="M 370.55 -463.865411116215 L 370.55 -473.865411116215 L 383.05 -473.865411116215 L 383.05 -463.865411116215 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -463.865411116215 L 370.55 -473.865411116215 L 383.05 -473.865411116215 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+              <path d="M 408.95 -470.4572768963154 L 408.95 -480.4572768963154 L 421.45 -480.4572768963154 L 421.45 -470.4572768963154 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -470.4572768963154 L 408.95 -480.4572768963154 L 421.45 -480.4572768963154 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip30);">
+                <path d="M 447.35 -463.49266173181627 L 447.35 -473.49266173181627 L 459.85 -473.49266173181627 L 459.85 -463.49266173181627 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -463.49266173181627 L 447.35 -473.49266173181627 L 459.85 -473.49266173181627 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip31);">
+                  <path d="M 485.75 -482.3604072381153 L 485.75 -492.3604072381153 L 498.25 -492.3604072381153 L 498.25 -482.3604072381153 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -482.3604072381153 L 485.75 -492.3604072381153 L 498.25 -492.3604072381153 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip32);">
+                    <path d="M 524.15 -473.1973990376289 L 524.15 -483.1973990376289 L 536.65 -483.1973990376289 L 536.65 -473.1973990376289 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -473.1973990376289 L 524.15 -483.1973990376289 L 536.65 -483.1973990376289 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip33);">
+                      <path d="M 562.55 -466.4166735694331 L 562.55 -476.4166735694331 L 575.05 -476.4166735694331 L 575.05 -466.4166735694331 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -466.4166735694331 L 562.55 -476.4166735694331 L 575.05 -476.4166735694331 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip34);">
+                        <path d="M 600.95 -461.1584222535148 L 600.95 -471.1584222535148 L 613.45 -471.1584222535148 L 613.45 -461.1584222535148 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -461.1584222535148 L 600.95 -471.1584222535148 L 613.45 -471.1584222535148 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip35);">
+                          <path d="M 639.35 -491.8779415197632 L 639.35 -501.8779415197632 L 651.85 -501.8779415197632 L 651.85 -491.8779415197632 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -491.8779415197632 L 639.35 -501.8779415197632 L 651.85 -501.8779415197632 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip36);">
+                            <path d="M 677.75 -487.59546525900436 L 677.75 -497.59546525900436 L 690.25 -497.59546525900436 L 690.25 -487.59546525900436 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -487.59546525900436 L 677.75 -497.59546525900436 L 690.25 -497.59546525900436 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip37);">
+        <path d="M 338.4 -467.50363336521156 L 376.8 -463.89790432012774 L 415.2 -480.29142224598445 L 453.6 -461.9582821901097 L 492.0 -452.7775476855652 L 530.4 -478.1973990376289 L 568.8 -470.3580653177406 L 607.2 -462.55434987236157 L 645.6 -459.9335075340557 L 684.0 -454.0132533114453" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip38);">
+        <path d="M 333.4 -462.50363336521156 L 343.4 -472.50363336521156" style="stroke-width:0.7;"/>
+        <path d="M 343.4 -462.50363336521156 L 333.4 -472.50363336521156" style="stroke-width:0.7;"/>
+        <path d="M 371.8 -458.89790432012774 L 381.8 -468.89790432012774" style="stroke-width:0.7;"/>
+        <path d="M 381.8 -458.89790432012774 L 371.8 -468.89790432012774" style="stroke-width:0.7;"/>
+        <path d="M 410.2 -475.29142224598445 L 420.2 -485.29142224598445" style="stroke-width:0.7;"/>
+        <path d="M 420.2 -475.29142224598445 L 410.2 -485.29142224598445" style="stroke-width:0.7;"/>
+        <path d="M 448.6 -456.9582821901097 L 458.6 -466.9582821901097" style="stroke-width:0.7;"/>
+        <path d="M 458.6 -456.9582821901097 L 448.6 -466.9582821901097" style="stroke-width:0.7;"/>
+        <path d="M 487.0 -447.7775476855652 L 497.0 -457.7775476855652" style="stroke-width:0.7;"/>
+        <path d="M 497.0 -447.7775476855652 L 487.0 -457.7775476855652" style="stroke-width:0.7;"/>
+        <path d="M 525.4 -473.1973990376289 L 535.4 -483.1973990376289" style="stroke-width:0.7;"/>
+        <path d="M 535.4 -473.1973990376289 L 525.4 -483.1973990376289" style="stroke-width:0.7;"/>
+        <path d="M 563.8 -465.3580653177406 L 573.8 -475.3580653177406" style="stroke-width:0.7;"/>
+        <path d="M 573.8 -465.3580653177406 L 563.8 -475.3580653177406" style="stroke-width:0.7;"/>
+        <path d="M 602.2 -457.55434987236157 L 612.2 -467.55434987236157" style="stroke-width:0.7;"/>
+        <path d="M 612.2 -457.55434987236157 L 602.2 -467.55434987236157" style="stroke-width:0.7;"/>
+        <path d="M 640.6 -454.9335075340557 L 650.6 -464.9335075340557" style="stroke-width:0.7;"/>
+        <path d="M 650.6 -454.9335075340557 L 640.6 -464.9335075340557" style="stroke-width:0.7;"/>
+        <path d="M 679.0 -449.0132533114453 L 689.0 -459.0132533114453" style="stroke-width:0.7;"/>
+        <path d="M 689.0 -449.0132533114453 L 679.0 -459.0132533114453" style="stroke-width:0.7;"/>
+      </g>
+      <g style="clip-path:url(#clip39);">
+        <path d="M 338.4 -455.9212331603877 L 376.8 -455.83574930156556 L 415.2 -463.893596993908 L 453.6 -451.16064368924003 L 492.0 -445.08284072682363 L 530.4 -467.46884342266765 L 568.8 -460.60859808580017 L 607.2 -458.9030625691845 L 645.6 -451.188309976882 L 684.0 -448.5414580148648" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip40);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip41);">
+          <path d="M 331.25714285714287 -448.77837601753055 L 331.25714285714287 -463.0640903032448 L 345.54285714285714 -463.0640903032448 L 345.54285714285714 -448.77837601753055 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 331.25714285714287 -455.9212331603877 L 338.4 -463.0640903032448 L 345.54285714285714 -455.9212331603877 L 338.4 -448.77837601753055 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip42);">
+            <path d="M 369.65714285714284 -448.69289215870845 L 369.65714285714284 -462.97860644442267 L 383.9428571428571 -462.97860644442267 L 383.9428571428571 -448.69289215870845 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 369.65714285714284 -455.83574930156556 L 376.8 -462.97860644442267 L 383.9428571428571 -455.83574930156556 L 376.8 -448.69289215870845 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip43);">
+              <path d="M 408.0571428571429 -456.75073985105087 L 408.0571428571429 -471.0364541367651 L 422.34285714285716 -471.0364541367651 L 422.34285714285716 -456.75073985105087 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.0571428571429 -463.893596993908 L 415.2 -471.0364541367651 L 422.34285714285716 -463.893596993908 L 415.2 -456.75073985105087 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip44);">
+                <path d="M 446.45714285714286 -444.01778654638287 L 446.45714285714286 -458.30350083209714 L 460.74285714285713 -458.30350083209714 L 460.74285714285713 -444.01778654638287 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 446.45714285714286 -451.16064368924003 L 453.6 -458.30350083209714 L 460.74285714285713 -451.16064368924003 L 453.6 -444.01778654638287 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip45);">
+                  <path d="M 484.8571428571429 -437.9399835839665 L 484.8571428571429 -452.2256978696808 L 499.1428571428571 -452.2256978696808 L 499.1428571428571 -437.9399835839665 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 484.8571428571429 -445.08284072682363 L 492.0 -452.2256978696808 L 499.1428571428571 -445.08284072682363 L 492.0 -437.9399835839665 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip46);">
+                    <path d="M 523.2571428571429 -460.32598627981054 L 523.2571428571429 -474.6117005655248 L 537.5428571428572 -474.6117005655248 L 537.5428571428572 -460.32598627981054 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 523.2571428571429 -467.46884342266765 L 530.4 -474.6117005655248 L 537.5428571428572 -467.46884342266765 L 530.4 -460.32598627981054 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip47);">
+                      <path d="M 561.6571428571428 -453.465740942943 L 561.6571428571428 -467.7514552286573 L 575.9428571428572 -467.7514552286573 L 575.9428571428572 -453.465740942943 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 561.6571428571428 -460.60859808580017 L 568.8 -467.7514552286573 L 575.9428571428572 -460.60859808580017 L 568.8 -453.465740942943 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip48);">
+                        <path d="M 600.0571428571428 -451.7602054263274 L 600.0571428571428 -466.04591971204167 L 614.3428571428572 -466.04591971204167 L 614.3428571428572 -451.7602054263274 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.0571428571428 -458.9030625691845 L 607.2 -466.04591971204167 L 614.3428571428572 -458.9030625691845 L 607.2 -451.7602054263274 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip49);">
+                          <path d="M 638.4571428571428 -444.0454528340249 L 638.4571428571428 -458.3311671197391 L 652.7428571428572 -458.3311671197391 L 652.7428571428572 -444.0454528340249 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 638.4571428571428 -451.188309976882 L 645.6 -458.3311671197391 L 652.7428571428572 -451.188309976882 L 645.6 -444.0454528340249 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip50);">
+                            <path d="M 676.8571428571429 -441.3986008720077 L 676.8571428571429 -455.6843151577219 L 691.1428571428571 -455.6843151577219 L 691.1428571428571 -441.3986008720077 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 676.8571428571429 -448.5414580148648 L 684.0 -455.6843151577219 L 691.1428571428571 -448.5414580148648 L 684.0 -441.3986008720077 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip51);">
+      <path d="M 290 -94 L 290 -186 L 324 -186 L 324 -94 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -176.66666666666669 L 314 -176.66666666666669" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip52);">
+      <path d="M 300.75 -171.66666666666669 L 300.75 -181.66666666666669 L 313.25 -181.66666666666669 L 313.25 -171.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 300.75 -171.66666666666669 L 313.25 -171.66666666666669 L 307.0 -181.66666666666669 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-172.0">
+        cc_hash_mod_prime_nea_lc_1div8_1div2_nsth_map
+      </text>
+      <path d="M 300 -158.66666666666666 L 314 -158.66666666666666" style="stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip53);">
+        <path d="M 299.0 -150.66666666666666 L 299.0 -166.66666666666666 L 315.0 -166.66666666666666 L 315.0 -150.66666666666666 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 307.0 -158.66666666666666 M 311.0 -158.66666666666666 L 311 -158.667 M 311 -158.667 A 4 4 0 1 0 303 -158.667 A 4 4 0 1 0 311 -158.667 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-154.0">
+          n_hash_map_ncah
+        </text>
+        <path d="M 300 -140.66666666666666 L 314 -140.66666666666666" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip54);">
+          <path d="M 300.75 -135.66666666666666 L 300.75 -145.66666666666666 L 313.25 -145.66666666666666 L 313.25 -135.66666666666666 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 307.0 -135.66666666666666 L 300.75 -145.66666666666666 L 313.25 -145.66666666666666 Z"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-136.0">
+            cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map
+          </text>
+          <path d="M 300 -122.66666666666666 L 314 -122.66666666666666" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+          <path d="M 302.0 -117.66666666666666 L 312.0 -127.66666666666666" style="stroke-width:0.7;"/>
+          <path d="M 312.0 -117.66666666666666 L 302.0 -127.66666666666666" style="stroke-width:0.7;"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-118.0">
+            cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map
+          </text>
+          <path d="M 300 -104.66666666666666 L 314 -104.66666666666666" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip55);">
+            <path d="M 299.85714285714283 -97.52380952380952 L 299.85714285714283 -111.8095238095238 L 314.14285714285717 -111.8095238095238 L 314.14285714285717 -97.52380952380952 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 299.85714285714283 -104.66666666666666 L 307.0 -111.8095238095238 L 314.14285714285717 -104.66666666666666 L 307.0 -97.52380952380952 Z"/>
+            <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-100.0">
+              cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map
+            </text>
+          </g>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_container_tag_hierarchy.pdf b/libstdc++-v3/doc/xml/images/pbds_container_tag_hierarchy.pdf
new file mode 100644 (file)
index 0000000..b9581c2
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_container_tag_hierarchy.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_container_tag_hierarchy.png b/libstdc++-v3/doc/xml/images/pbds_container_tag_hierarchy.png
new file mode 100644 (file)
index 0000000..f827f6e
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_container_tag_hierarchy.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_container_tag_hierarchy.svg b/libstdc++-v3/doc/xml/images/pbds_container_tag_hierarchy.svg
new file mode 100644 (file)
index 0000000..cedb955
--- /dev/null
@@ -0,0 +1,256 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.26.3 (20100126.1600)
+ -->
+<!-- Title: G Pages: 1 -->
+<svg width="924pt" height="436pt" viewBox="0.00 0.00 924.00 436.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph1" class="graph" transform="scale(1) rotate(0) translate(4, 432)">
+<title>G</title>
+<polygon fill="white" stroke="white" points="-4,5 -4,-432 921,-432 921,5 -4,5"/>
+<!-- Node1 -->
+<g id="node1" class="node"><title>Node1</title>
+<polygon fill="#bfbfbf" stroke="black" points="0.5,-114 0.5,-134 143.5,-134 143.5,-114 0.5,-114"/>
+<text text-anchor="middle" x="72" y="-121.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::container_tag</text>
+</g>
+<!-- Node2 -->
+<g id="node3" class="node"><title>Node2</title>
+<a xlink:href="a00181.html" target="_top" xlink:title="Basic associative-container.">
+<polygon fill="white" stroke="black" points="187,-247 187,-267 337,-267 337,-247 187,-247"/>
+<text text-anchor="middle" x="262" y="-254.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::associative_tag</text>
+</a>
+</g>
+<!-- Node1&#45;&gt;Node2 -->
+<g id="edge2" class="edge"><title>Node1-&gt;Node2</title>
+<path fill="none" stroke="midnightblue" d="M94.8477,-139.993C134.478,-167.735 214.859,-224.001 247.617,-246.932"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="96.793,-137.083 86.5935,-134.215 92.7787,-142.817 96.793,-137.083"/>
+</g>
+<!-- Node14 -->
+<g id="node27" class="node"><title>Node14</title>
+<a xlink:href="a00353.html" target="_top" xlink:title="Basic priority-queue.">
+<polygon fill="white" stroke="black" points="180,-114 180,-134 344,-134 344,-114 180,-114"/>
+<text text-anchor="middle" x="262" y="-121.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::priority_queue_tag</text>
+</a>
+</g>
+<!-- Node1&#45;&gt;Node14 -->
+<g id="edge26" class="edge"><title>Node1-&gt;Node14</title>
+<path fill="none" stroke="midnightblue" d="M153.696,-124C162.404,-124 171.265,-124 179.978,-124"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="153.56,-120.5 143.56,-124 153.56,-127.5 153.56,-120.5"/>
+</g>
+<!-- Node20 -->
+<g id="node39" class="node"><title>Node20</title>
+<a xlink:href="a00370.html" target="_top" xlink:title="Basic sequence.">
+<polygon fill="white" stroke="black" points="190,-38 190,-58 334,-58 334,-38 190,-38"/>
+<text text-anchor="middle" x="262" y="-45.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::sequence_tag</text>
+</a>
+</g>
+<!-- Node1&#45;&gt;Node20 -->
+<g id="edge38" class="edge"><title>Node1-&gt;Node20</title>
+<path fill="none" stroke="midnightblue" d="M106.781,-110.088C144.452,-95.0192 203.618,-71.3528 236.968,-58.0129"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="105.215,-106.944 97.2305,-113.908 107.815,-113.443 105.215,-106.944"/>
+</g>
+<!-- Node3 -->
+<g id="node5" class="node"><title>Node3</title>
+<a xlink:href="a00183.html" target="_top" xlink:title="Basic branch structure.">
+<polygon fill="white" stroke="black" points="390,-304 390,-324 550,-324 550,-304 390,-304"/>
+<text text-anchor="middle" x="470" y="-311.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::basic_branch_tag</text>
+</a>
+</g>
+<!-- Node2&#45;&gt;Node3 -->
+<g id="edge4" class="edge"><title>Node2-&gt;Node3</title>
+<path fill="none" stroke="midnightblue" d="M300.076,-270.369C323.049,-278.157 353.003,-287.824 380,-295 392.192,-298.241 405.431,-301.291 417.908,-303.959"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="300.963,-266.973 290.368,-267.049 298.698,-273.596 300.963,-266.973"/>
+</g>
+<!-- Node10 -->
+<g id="node19" class="node"><title>Node10</title>
+<a xlink:href="a00185.html" target="_top" xlink:title="Basic hash structure.">
+<polygon fill="white" stroke="black" points="395,-266 395,-286 545,-286 545,-266 395,-266"/>
+<text text-anchor="middle" x="470" y="-273.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::basic_hash_tag</text>
+</a>
+</g>
+<!-- Node2&#45;&gt;Node10 -->
+<g id="edge18" class="edge"><title>Node2-&gt;Node10</title>
+<path fill="none" stroke="midnightblue" d="M347.308,-264.793C363.005,-266.226 379.29,-267.714 394.668,-269.119"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="347.37,-261.284 337.093,-263.859 346.733,-268.255 347.37,-261.284"/>
+</g>
+<!-- Node13 -->
+<g id="node25" class="node"><title>Node13</title>
+<a xlink:href="a00343.html" target="_top" xlink:title="List-update.">
+<polygon fill="white" stroke="black" points="395.5,-228 395.5,-248 544.5,-248 544.5,-228 395.5,-228"/>
+<text text-anchor="middle" x="470" y="-235.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::list_update_tag</text>
+</a>
+</g>
+<!-- Node2&#45;&gt;Node13 -->
+<g id="edge24" class="edge"><title>Node2-&gt;Node13</title>
+<path fill="none" stroke="midnightblue" d="M347.436,-249.196C363.332,-247.744 379.826,-246.237 395.366,-244.818"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="346.733,-245.745 337.093,-250.141 347.37,-252.716 346.733,-245.745"/>
+</g>
+<!-- Node4 -->
+<g id="node7" class="node"><title>Node4</title>
+<a xlink:href="a00376.html" target="_top" xlink:title="Basic tree structure.">
+<polygon fill="white" stroke="black" points="606.5,-361 606.5,-381 723.5,-381 723.5,-361 606.5,-361"/>
+<text text-anchor="middle" x="665" y="-368.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::tree_tag</text>
+</a>
+</g>
+<!-- Node3&#45;&gt;Node4 -->
+<g id="edge6" class="edge"><title>Node3-&gt;Node4</title>
+<path fill="none" stroke="midnightblue" d="M514.437,-326.989C549.695,-337.296 598.267,-351.493 630.603,-360.946"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="514.994,-323.506 504.413,-324.059 513.03,-330.224 514.994,-323.506"/>
+</g>
+<!-- Node8 -->
+<g id="node15" class="node"><title>Node8</title>
+<a xlink:href="a00381.html" target="_top" xlink:title="Basic trie structure.">
+<polygon fill="white" stroke="black" points="608.5,-304 608.5,-324 721.5,-324 721.5,-304 608.5,-304"/>
+<text text-anchor="middle" x="665" y="-311.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::trie_tag</text>
+</a>
+</g>
+<!-- Node3&#45;&gt;Node8 -->
+<g id="edge14" class="edge"><title>Node3-&gt;Node8</title>
+<path fill="none" stroke="midnightblue" d="M560.301,-314C576.675,-314 593.321,-314 608.378,-314"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="560.158,-310.5 550.158,-314 560.158,-317.5 560.158,-310.5"/>
+</g>
+<!-- Node5 -->
+<g id="node9" class="node"><title>Node5</title>
+<a xlink:href="a00348.html" target="_top" xlink:title="Ordered-vector tree.">
+<polygon fill="white" stroke="black" points="777,-408 777,-428 909,-428 909,-408 777,-408"/>
+<text text-anchor="middle" x="843" y="-415.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::ov_tree_tag</text>
+</a>
+</g>
+<!-- Node4&#45;&gt;Node5 -->
+<g id="edge8" class="edge"><title>Node4-&gt;Node5</title>
+<path fill="none" stroke="midnightblue" d="M712.14,-383.635C730.228,-388.466 751.067,-394.012 770,-399 781.144,-401.936 793.253,-405.099 804.346,-407.985"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="712.969,-380.234 702.404,-381.033 711.161,-386.996 712.969,-380.234"/>
+</g>
+<!-- Node6 -->
+<g id="node11" class="node"><title>Node6</title>
+<a xlink:href="a00356.html" target="_top" xlink:title="Red-black tree.">
+<polygon fill="white" stroke="black" points="777.5,-370 777.5,-390 908.5,-390 908.5,-370 777.5,-370"/>
+<text text-anchor="middle" x="843" y="-377.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::rb_tree_tag</text>
+</a>
+</g>
+<!-- Node4&#45;&gt;Node6 -->
+<g id="edge10" class="edge"><title>Node4-&gt;Node6</title>
+<path fill="none" stroke="midnightblue" d="M733.976,-374.488C748.188,-375.206 763.117,-375.961 777.212,-376.674"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="733.941,-370.981 723.777,-373.972 733.588,-377.972 733.941,-370.981"/>
+</g>
+<!-- Node7 -->
+<g id="node13" class="node"><title>Node7</title>
+<a xlink:href="a00371.html" target="_top" xlink:title="Splay tree.">
+<polygon fill="white" stroke="black" points="770,-332 770,-352 916,-352 916,-332 770,-332"/>
+<text text-anchor="middle" x="843" y="-339.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::splay_tree_tag</text>
+</a>
+</g>
+<!-- Node4&#45;&gt;Node7 -->
+<g id="edge12" class="edge"><title>Node4-&gt;Node7</title>
+<path fill="none" stroke="midnightblue" d="M733.937,-359.769C749.623,-357.213 766.186,-354.515 781.537,-352.014"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="733.084,-356.361 723.777,-361.424 734.21,-363.27 733.084,-356.361"/>
+</g>
+<!-- Node9 -->
+<g id="node17" class="node"><title>Node9</title>
+<a xlink:href="a00350.html" target="_top" xlink:title="PATRICIA trie.">
+<polygon fill="white" stroke="black" points="776,-294 776,-314 910,-314 910,-294 776,-294"/>
+<text text-anchor="middle" x="843" y="-301.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::pat_trie_tag</text>
+</a>
+</g>
+<!-- Node8&#45;&gt;Node9 -->
+<g id="edge16" class="edge"><title>Node8-&gt;Node9</title>
+<path fill="none" stroke="midnightblue" d="M732.074,-310.232C746.397,-309.427 761.529,-308.577 775.855,-307.772"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="731.598,-306.753 721.81,-310.808 731.99,-313.742 731.598,-306.753"/>
+</g>
+<!-- Node11 -->
+<g id="node21" class="node"><title>Node11</title>
+<a xlink:href="a00191.html" target="_top" xlink:title="Collision-chaining hash.">
+<polygon fill="white" stroke="black" points="597,-266 597,-286 733,-286 733,-266 597,-266"/>
+<text text-anchor="middle" x="665" y="-273.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::cc_hash_tag</text>
+</a>
+</g>
+<!-- Node10&#45;&gt;Node11 -->
+<g id="edge20" class="edge"><title>Node10-&gt;Node11</title>
+<path fill="none" stroke="midnightblue" d="M555.203,-276C569.165,-276 583.469,-276 596.944,-276"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="555.113,-272.5 545.113,-276 555.113,-279.5 555.113,-272.5"/>
+</g>
+<!-- Node12 -->
+<g id="node23" class="node"><title>Node12</title>
+<a xlink:href="a00334.html" target="_top" xlink:title="General-probing hash.">
+<polygon fill="white" stroke="black" points="596.5,-228 596.5,-248 733.5,-248 733.5,-228 596.5,-228"/>
+<text text-anchor="middle" x="665" y="-235.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::gp_hash_tag</text>
+</a>
+</g>
+<!-- Node10&#45;&gt;Node12 -->
+<g id="edge22" class="edge"><title>Node10-&gt;Node12</title>
+<path fill="none" stroke="midnightblue" d="M531.394,-264.036C557.814,-258.887 588.354,-252.936 613.561,-248.024"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="530.635,-260.618 521.489,-265.966 531.974,-267.489 530.635,-260.618"/>
+</g>
+<!-- Node15 -->
+<g id="node29" class="node"><title>Node15</title>
+<a xlink:href="a00187.html" target="_top" xlink:title="Binary-heap (array-based).">
+<polygon fill="white" stroke="black" points="392.5,-190 392.5,-210 547.5,-210 547.5,-190 392.5,-190"/>
+<text text-anchor="middle" x="470" y="-197.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::binary_heap_tag</text>
+</a>
+</g>
+<!-- Node14&#45;&gt;Node15 -->
+<g id="edge28" class="edge"><title>Node14-&gt;Node15</title>
+<path fill="none" stroke="midnightblue" d="M288.374,-139.033C311.786,-151.814 347.263,-169.822 380,-181 390.277,-184.509 401.444,-187.494 412.304,-189.987"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="289.867,-135.859 279.422,-134.079 286.477,-141.984 289.867,-135.859"/>
+</g>
+<!-- Node16 -->
+<g id="node31" class="node"><title>Node16</title>
+<a xlink:href="a00188.html" target="_top" xlink:title="Binomial-heap.">
+<polygon fill="white" stroke="black" points="387.5,-152 387.5,-172 552.5,-172 552.5,-152 387.5,-152"/>
+<text text-anchor="middle" x="470" y="-159.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::binomial_heap_tag</text>
+</a>
+</g>
+<!-- Node14&#45;&gt;Node16 -->
+<g id="edge30" class="edge"><title>Node14-&gt;Node16</title>
+<path fill="none" stroke="midnightblue" d="M327.114,-135.896C355.381,-141.06 388.126,-147.042 415.132,-151.976"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="327.388,-132.388 316.922,-134.034 326.13,-139.274 327.388,-132.388"/>
+</g>
+<!-- Node17 -->
+<g id="node33" class="node"><title>Node17</title>
+<a xlink:href="a00349.html" target="_top" xlink:title="Pairing-heap.">
+<polygon fill="white" stroke="black" points="391,-114 391,-134 549,-134 549,-114 391,-114"/>
+<text text-anchor="middle" x="470" y="-121.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::pairing_heap_tag</text>
+</a>
+</g>
+<!-- Node14&#45;&gt;Node17 -->
+<g id="edge32" class="edge"><title>Node14-&gt;Node17</title>
+<path fill="none" stroke="midnightblue" d="M354.347,-124C366.497,-124 378.861,-124 390.766,-124"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="354.207,-120.5 344.207,-124 354.207,-127.5 354.207,-120.5"/>
+</g>
+<!-- Node18 -->
+<g id="node35" class="node"><title>Node18</title>
+<a xlink:href="a00357.html" target="_top" xlink:title="Redundant-counter binomial-heap.">
+<polygon fill="white" stroke="black" points="380.5,-76 380.5,-96 559.5,-96 559.5,-76 380.5,-76"/>
+<text text-anchor="middle" x="470" y="-83.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::rc_binomial_heap_tag</text>
+</a>
+</g>
+<!-- Node14&#45;&gt;Node18 -->
+<g id="edge34" class="edge"><title>Node14-&gt;Node18</title>
+<path fill="none" stroke="midnightblue" d="M327.114,-112.104C355.381,-106.94 388.126,-100.958 415.132,-96.024"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="326.13,-108.726 316.922,-113.966 327.388,-115.612 326.13,-108.726"/>
+</g>
+<!-- Node19 -->
+<g id="node37" class="node"><title>Node19</title>
+<a xlink:href="a00373.html" target="_top" xlink:title="Thin heap.">
+<polygon fill="white" stroke="black" points="398,-38 398,-58 542,-58 542,-38 398,-38"/>
+<text text-anchor="middle" x="470" y="-45.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::thin_heap_tag</text>
+</a>
+</g>
+<!-- Node14&#45;&gt;Node19 -->
+<g id="edge36" class="edge"><title>Node14-&gt;Node19</title>
+<path fill="none" stroke="midnightblue" d="M288.374,-108.967C311.786,-96.1857 347.263,-78.1778 380,-67 390.277,-63.4912 401.444,-60.5058 412.304,-58.0134"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="286.477,-106.016 279.422,-113.921 289.867,-112.141 286.477,-106.016"/>
+</g>
+<!-- Node21 -->
+<g id="node41" class="node"><title>Node21</title>
+<a xlink:href="a00372.html" target="_top" xlink:title="Basic string container, inclusive of strings, ropes, etc.">
+<polygon fill="white" stroke="black" points="407.5,-0 407.5,-20 532.5,-20 532.5,-0 407.5,-0"/>
+<text text-anchor="middle" x="470" y="-7.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::string_tag</text>
+</a>
+</g>
+<!-- Node20&#45;&gt;Node21 -->
+<g id="edge40" class="edge"><title>Node20-&gt;Node21</title>
+<path fill="none" stroke="midnightblue" d="M327.114,-36.1041C355.381,-30.9399 388.126,-24.9578 415.132,-20.024"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="326.13,-32.726 316.922,-37.9662 327.388,-39.612 326.13,-32.726"/>
+</g>
+</g>
+</svg>
\ No newline at end of file
diff --git a/libstdc++-v3/doc/xml/images/pbds_different_underlying_dss_1.png b/libstdc++-v3/doc/xml/images/pbds_different_underlying_dss_1.png
new file mode 100644 (file)
index 0000000..adee126
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_different_underlying_dss_1.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_different_underlying_dss_2.png b/libstdc++-v3/doc/xml/images/pbds_different_underlying_dss_2.png
new file mode 100644 (file)
index 0000000..9d84791
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_different_underlying_dss_2.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_embedded_lists_1.png b/libstdc++-v3/doc/xml/images/pbds_embedded_lists_1.png
new file mode 100644 (file)
index 0000000..9470a65
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_embedded_lists_1.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_embedded_lists_2.png b/libstdc++-v3/doc/xml/images/pbds_embedded_lists_2.png
new file mode 100644 (file)
index 0000000..d2ac91c
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_embedded_lists_2.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_embedded_lists_3.png b/libstdc++-v3/doc/xml/images/pbds_embedded_lists_3.png
new file mode 100644 (file)
index 0000000..08ecb0f
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_embedded_lists_3.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_exception_hierarchy.pdf b/libstdc++-v3/doc/xml/images/pbds_exception_hierarchy.pdf
new file mode 100644 (file)
index 0000000..ccc3001
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_exception_hierarchy.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_exception_hierarchy.png b/libstdc++-v3/doc/xml/images/pbds_exception_hierarchy.png
new file mode 100644 (file)
index 0000000..a7c3383
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_exception_hierarchy.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_exception_hierarchy.svg b/libstdc++-v3/doc/xml/images/pbds_exception_hierarchy.svg
new file mode 100644 (file)
index 0000000..ac6067a
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.26.3 (20100126.1600)
+ -->
+<!-- Title: G Pages: 1 -->
+<svg width="430pt" height="204pt" viewBox="0.00 0.00 430.00 204.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph1" class="graph" transform="scale(1) rotate(0) translate(4, 200)">
+<title>G</title>
+<polygon fill="white" stroke="white" points="-4,5 -4,-200 427,-200 427,5 -4,5"/>
+<!-- Node1 -->
+<g id="node1" class="node"><title>Node1</title>
+<polygon fill="#bfbfbf" stroke="black" points="136,-59 136,-79 286,-79 286,-59 136,-59"/>
+<text text-anchor="middle" x="211" y="-66.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::container_error</text>
+</g>
+<!-- Node4 -->
+<g id="node7" class="node"><title>Node4</title>
+<a xlink:href="a00339.html" target="_top" xlink:title="An entry cannot be inserted into a container object for logical reasons (not, e.g., if memory is unabvailable, in which case the allocator_type's exception will be thrown).">
+<polygon fill="white" stroke="black" points="0,-1 0,-21 132,-21 132,-1 0,-1"/>
+<text text-anchor="middle" x="66" y="-8.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::insert_error</text>
+</a>
+</g>
+<!-- Node1&#45;&gt;Node4 -->
+<g id="edge6" class="edge"><title>Node1-&gt;Node4</title>
+<path fill="none" stroke="midnightblue" d="M176.225,-55.0898C150.121,-44.6486 114.974,-30.5898 91.4542,-21.1817"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="175.158,-58.4329 185.743,-58.8972 177.758,-51.9335 175.158,-58.4329"/>
+</g>
+<!-- Node5 -->
+<g id="node9" class="node"><title>Node5</title>
+<a xlink:href="a00340.html" target="_top" xlink:title="A join cannot be performed logical reasons (i.e., the ranges of the two container objects being joine...">
+<polygon fill="white" stroke="black" points="150,-1 150,-21 272,-21 272,-1 150,-1"/>
+<text text-anchor="middle" x="211" y="-8.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::join_error</text>
+</a>
+</g>
+<!-- Node1&#45;&gt;Node5 -->
+<g id="edge8" class="edge"><title>Node1-&gt;Node5</title>
+<path fill="none" stroke="midnightblue" d="M211,-48.8902C211,-39.6201 211,-29.0083 211,-21.3776"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="207.5,-48.8971 211,-58.8972 214.5,-48.8972 207.5,-48.8971"/>
+</g>
+<!-- Node6 -->
+<g id="node11" class="node"><title>Node6</title>
+<a xlink:href="a00358.html" target="_top" xlink:title="A container cannot be resized.">
+<polygon fill="white" stroke="black" points="290,-1 290,-21 422,-21 422,-1 290,-1"/>
+<text text-anchor="middle" x="356" y="-8.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::resize_error</text>
+</a>
+</g>
+<!-- Node1&#45;&gt;Node6 -->
+<g id="edge10" class="edge"><title>Node1-&gt;Node6</title>
+<path fill="none" stroke="midnightblue" d="M245.775,-55.0898C271.879,-44.6486 307.026,-30.5898 330.546,-21.1817"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="244.242,-51.9335 236.257,-58.8972 246.842,-58.4329 244.242,-51.9335"/>
+</g>
+<!-- Node2 -->
+<g id="node2" class="node"><title>Node2</title>
+<a xlink:href="a00771.html" target="_top" xlink:title="One of two subclasses of exception.">
+<polygon fill="white" stroke="black" points="167.5,-117 167.5,-137 254.5,-137 254.5,-117 167.5,-117"/>
+<text text-anchor="middle" x="211" y="-124.9" font-family="FreeSans" font-size="9.00">std::logic_error</text>
+</a>
+</g>
+<!-- Node2&#45;&gt;Node1 -->
+<g id="edge2" class="edge"><title>Node2-&gt;Node1</title>
+<path fill="none" stroke="midnightblue" d="M211,-106.89C211,-97.6201 211,-87.0083 211,-79.3776"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="207.5,-106.897 211,-116.897 214.5,-106.897 207.5,-106.897"/>
+</g>
+<!-- Node3 -->
+<g id="node4" class="node"><title>Node3</title>
+<a xlink:href="a00647.html" target="_top" xlink:title="Base class for all library exceptions.">
+<polygon fill="white" stroke="black" points="169.5,-175 169.5,-195 252.5,-195 252.5,-175 169.5,-175"/>
+<text text-anchor="middle" x="211" y="-182.9" font-family="FreeSans" font-size="9.00">std::exception</text>
+</a>
+</g>
+<!-- Node3&#45;&gt;Node2 -->
+<g id="edge4" class="edge"><title>Node3-&gt;Node2</title>
+<path fill="none" stroke="midnightblue" d="M211,-164.89C211,-155.62 211,-145.008 211,-137.378"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="207.5,-164.897 211,-174.897 214.5,-164.897 207.5,-164.897"/>
+</g>
+</g>
+</svg>
\ No newline at end of file
diff --git a/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_find_timing_test_local.pdf b/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_find_timing_test_local.pdf
new file mode 100644 (file)
index 0000000..7b570b0
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_find_timing_test_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_find_timing_test_local.png b/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_find_timing_test_local.png
new file mode 100644 (file)
index 0000000..1e8fdf1
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_find_timing_test_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_find_timing_test_local.svg b/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_find_timing_test_local.svg
new file mode 100644 (file)
index 0000000..92a2914
--- /dev/null
@@ -0,0 +1,369 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 416.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 332.15 -510.7894563318057 L 344.65 -510.7894563318057 L 338.4 -520.7894563318057 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 370.55 -504.6858000065939 L 383.05 -504.6858000065939 L 376.8 -514.6858000065939 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 408.95 -474.7949292802743 L 421.45 -474.7949292802743 L 415.2 -484.7949292802743 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 447.35 -504.6858000065939 L 459.85 -504.6858000065939 L 453.6 -514.6858000065939 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 485.75 -472.9286538524941 L 498.25 -472.9286538524941 L 492.0 -482.9286538524941 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 524.15 -488.7154726187729 L 536.65 -488.7154726187729 L 530.4 -498.7154726187729 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 562.55 -503.31347466288616 L 575.05 -503.31347466288616 L 568.8 -513.3134746628862 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 600.95 -515.0 L 613.45 -515.0 L 607.2 -525.0 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 639.35 -467.025914081303 L 651.85 -467.025914081303 L 645.6 -477.025914081303 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 677.75 -471.52658995746924 L 690.25 -471.52658995746924 L 684.0 -481.52658995746924 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 338.4 -427.19831195806273 M 342.4 -427.19831195806273 L 342.4 -427.198 M 342.4 -427.198 A 4 4 0 1 0 334.4 -427.198 A 4 4 0 1 0 342.4 -427.198 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 376.8 -423.666677656523 M 380.8 -423.666677656523 L 380.8 -423.667 M 380.8 -423.667 A 4 4 0 1 0 372.8 -423.667 A 4 4 0 1 0 380.8 -423.667 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 415.2 -419.5119844383634 M 419.2 -419.5119844383634 L 419.2 -419.512 M 419.2 -419.512 A 4 4 0 1 0 411.2 -419.512 A 4 4 0 1 0 419.2 -419.512 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 453.6 -426.89584913125185 M 457.6 -426.89584913125185 L 457.6 -426.896 M 457.6 -426.896 A 4 4 0 1 0 449.6 -426.896 A 4 4 0 1 0 457.6 -426.896 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 492.0 -425.5909795258976 M 496.0 -425.5909795258976 L 496 -425.591 M 496 -425.591 A 4 4 0 1 0 488 -425.591 A 4 4 0 1 0 496 -425.591 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 530.4 -426.4650028024134 M 534.4 -426.4650028024134 L 534.4 -426.465 M 534.4 -426.465 A 4 4 0 1 0 526.4 -426.465 A 4 4 0 1 0 534.4 -426.465 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 568.8 -431.3544558372622 M 572.8 -431.3544558372622 L 572.8 -431.354 M 572.8 -431.354 A 4 4 0 1 0 564.8 -431.354 A 4 4 0 1 0 572.8 -431.354 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 607.2 -431.1267020540041 M 611.2 -431.1267020540041 L 611.2 -431.127 M 611.2 -431.127 A 4 4 0 1 0 603.2 -431.127 A 4 4 0 1 0 611.2 -431.127 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 645.6 -431.0440143747321 M 649.6 -431.0440143747321 L 649.6 -431.044 M 649.6 -431.044 A 4 4 0 1 0 641.6 -431.044 A 4 4 0 1 0 649.6 -431.044 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 684.0 -430.6900530810062 M 688.0 -430.6900530810062 L 688 -430.69 M 688 -430.69 A 4 4 0 1 0 680 -430.69 A 4 4 0 1 0 688 -430.69 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 290 -134 L 290 -190 L 324 -190 L 324 -134 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 300.75 -175.66666666666669 L 313.25 -175.66666666666669 L 307.0 -185.66666666666669 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 307.0 -162.66666666666666 M 311.0 -162.66666666666666 L 311 -162.667 M 311 -162.667 A 4 4 0 1 0 303 -162.667 A 4 4 0 1 0 311 -162.667 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      6.07e-09
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      1.21e-08
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      1.82e-08
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      2.43e-08
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      3.03e-08
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -515.7894563318057 L 376.8 -509.6858000065939 L 415.2 -479.7949292802743 L 453.6 -509.6858000065939 L 492.0 -477.9286538524941 L 530.4 -493.7154726187729 L 568.8 -508.31347466288616 L 607.2 -520.0 L 645.6 -472.025914081303 L 684.0 -476.52658995746924" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 332.15 -510.7894563318057 L 332.15 -520.7894563318057 L 344.65 -520.7894563318057 L 344.65 -510.7894563318057 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 332.15 -510.7894563318057 L 344.65 -510.7894563318057 L 338.4 -520.7894563318057 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 370.55 -504.6858000065939 L 370.55 -514.6858000065939 L 383.05 -514.6858000065939 L 383.05 -504.6858000065939 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 370.55 -504.6858000065939 L 383.05 -504.6858000065939 L 376.8 -514.6858000065939 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 408.95 -474.7949292802743 L 408.95 -484.7949292802743 L 421.45 -484.7949292802743 L 421.45 -474.7949292802743 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.95 -474.7949292802743 L 421.45 -474.7949292802743 L 415.2 -484.7949292802743 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 447.35 -504.6858000065939 L 447.35 -514.6858000065939 L 459.85 -514.6858000065939 L 459.85 -504.6858000065939 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 447.35 -504.6858000065939 L 459.85 -504.6858000065939 L 453.6 -514.6858000065939 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 485.75 -472.9286538524941 L 485.75 -482.9286538524941 L 498.25 -482.9286538524941 L 498.25 -472.9286538524941 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 485.75 -472.9286538524941 L 498.25 -472.9286538524941 L 492.0 -482.9286538524941 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 524.15 -488.7154726187729 L 524.15 -498.7154726187729 L 536.65 -498.7154726187729 L 536.65 -488.7154726187729 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 524.15 -488.7154726187729 L 536.65 -488.7154726187729 L 530.4 -498.7154726187729 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 562.55 -503.31347466288616 L 562.55 -513.3134746628862 L 575.05 -513.3134746628862 L 575.05 -503.31347466288616 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 562.55 -503.31347466288616 L 575.05 -503.31347466288616 L 568.8 -513.3134746628862 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 600.95 -515.0 L 600.95 -525.0 L 613.45 -525.0 L 613.45 -515.0 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.95 -515.0 L 613.45 -515.0 L 607.2 -525.0 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 639.35 -467.025914081303 L 639.35 -477.025914081303 L 651.85 -477.025914081303 L 651.85 -467.025914081303 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 639.35 -467.025914081303 L 651.85 -467.025914081303 L 645.6 -477.025914081303 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 677.75 -471.52658995746924 L 677.75 -481.52658995746924 L 690.25 -481.52658995746924 L 690.25 -471.52658995746924 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 677.75 -471.52658995746924 L 690.25 -471.52658995746924 L 684.0 -481.52658995746924 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 338.4 -427.19831195806273 L 376.8 -423.666677656523 L 415.2 -419.5119844383634 L 453.6 -426.89584913125185 L 492.0 -425.5909795258976 L 530.4 -426.4650028024134 L 568.8 -431.3544558372622 L 607.2 -431.1267020540041 L 645.6 -431.0440143747321 L 684.0 -430.6900530810062" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 330.4 -419.19831195806273 L 330.4 -435.19831195806273 L 346.4 -435.19831195806273 L 346.4 -419.19831195806273 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -427.19831195806273 M 342.4 -427.19831195806273 L 342.4 -427.198 M 342.4 -427.198 A 4 4 0 1 0 334.4 -427.198 A 4 4 0 1 0 342.4 -427.198 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 368.8 -415.666677656523 L 368.8 -431.666677656523 L 384.8 -431.666677656523 L 384.8 -415.666677656523 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -423.666677656523 M 380.8 -423.666677656523 L 380.8 -423.667 M 380.8 -423.667 A 4 4 0 1 0 372.8 -423.667 A 4 4 0 1 0 380.8 -423.667 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 407.2 -411.5119844383634 L 407.2 -427.5119844383634 L 423.2 -427.5119844383634 L 423.2 -411.5119844383634 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -419.5119844383634 M 419.2 -419.5119844383634 L 419.2 -419.512 M 419.2 -419.512 A 4 4 0 1 0 411.2 -419.512 A 4 4 0 1 0 419.2 -419.512 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 445.6 -418.89584913125185 L 445.6 -434.89584913125185 L 461.6 -434.89584913125185 L 461.6 -418.89584913125185 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -426.89584913125185 M 457.6 -426.89584913125185 L 457.6 -426.896 M 457.6 -426.896 A 4 4 0 1 0 449.6 -426.896 A 4 4 0 1 0 457.6 -426.896 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 484.0 -417.5909795258976 L 484.0 -433.5909795258976 L 500.0 -433.5909795258976 L 500.0 -417.5909795258976 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -425.5909795258976 M 496.0 -425.5909795258976 L 496 -425.591 M 496 -425.591 A 4 4 0 1 0 488 -425.591 A 4 4 0 1 0 496 -425.591 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 522.4 -418.4650028024134 L 522.4 -434.4650028024134 L 538.4 -434.4650028024134 L 538.4 -418.4650028024134 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -426.4650028024134 M 534.4 -426.4650028024134 L 534.4 -426.465 M 534.4 -426.465 A 4 4 0 1 0 526.4 -426.465 A 4 4 0 1 0 534.4 -426.465 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 560.8 -423.3544558372622 L 560.8 -439.3544558372622 L 576.8 -439.3544558372622 L 576.8 -423.3544558372622 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -431.3544558372622 M 572.8 -431.3544558372622 L 572.8 -431.354 M 572.8 -431.354 A 4 4 0 1 0 564.8 -431.354 A 4 4 0 1 0 572.8 -431.354 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 599.2 -423.1267020540041 L 599.2 -439.1267020540041 L 615.2 -439.1267020540041 L 615.2 -423.1267020540041 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -431.1267020540041 M 611.2 -431.1267020540041 L 611.2 -431.127 M 611.2 -431.127 A 4 4 0 1 0 603.2 -431.127 A 4 4 0 1 0 611.2 -431.127 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 637.6 -423.0440143747321 L 637.6 -439.0440143747321 L 653.6 -439.0440143747321 L 653.6 -423.0440143747321 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -431.0440143747321 M 649.6 -431.0440143747321 L 649.6 -431.044 M 649.6 -431.044 A 4 4 0 1 0 641.6 -431.044 A 4 4 0 1 0 649.6 -431.044 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 676.0 -422.6900530810062 L 676.0 -438.6900530810062 L 692.0 -438.6900530810062 L 692.0 -422.6900530810062 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -430.6900530810062 M 688.0 -430.6900530810062 L 688 -430.69 M 688 -430.69 A 4 4 0 1 0 680 -430.69 A 4 4 0 1 0 688 -430.69 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 338.4 -358.46134977415846 L 376.8 -360.1617421120306 L 415.2 -350.4975107975339 L 453.6 -359.8586264877518 L 492.0 -369.2490455309749 L 530.4 -352.2271339553592 L 568.8 -360.01283175628896 L 607.2 -362.97638719461935 L 645.6 -369.0183904256371 L 684.0 -375.6323893046718" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <path d="M 333.4 -353.46134977415846 L 343.4 -363.46134977415846" style="stroke-width:0.7;"/>
+        <path d="M 343.4 -353.46134977415846 L 333.4 -363.46134977415846" style="stroke-width:0.7;"/>
+        <path d="M 371.8 -355.1617421120306 L 381.8 -365.1617421120306" style="stroke-width:0.7;"/>
+        <path d="M 381.8 -355.1617421120306 L 371.8 -365.1617421120306" style="stroke-width:0.7;"/>
+        <path d="M 410.2 -345.4975107975339 L 420.2 -355.4975107975339" style="stroke-width:0.7;"/>
+        <path d="M 420.2 -345.4975107975339 L 410.2 -355.4975107975339" style="stroke-width:0.7;"/>
+        <path d="M 448.6 -354.8586264877518 L 458.6 -364.8586264877518" style="stroke-width:0.7;"/>
+        <path d="M 458.6 -354.8586264877518 L 448.6 -364.8586264877518" style="stroke-width:0.7;"/>
+        <path d="M 487.0 -364.2490455309749 L 497.0 -374.2490455309749" style="stroke-width:0.7;"/>
+        <path d="M 497.0 -364.2490455309749 L 487.0 -374.2490455309749" style="stroke-width:0.7;"/>
+        <path d="M 525.4 -347.2271339553592 L 535.4 -357.2271339553592" style="stroke-width:0.7;"/>
+        <path d="M 535.4 -347.2271339553592 L 525.4 -357.2271339553592" style="stroke-width:0.7;"/>
+        <path d="M 563.8 -355.01283175628896 L 573.8 -365.01283175628896" style="stroke-width:0.7;"/>
+        <path d="M 573.8 -355.01283175628896 L 563.8 -365.01283175628896" style="stroke-width:0.7;"/>
+        <path d="M 602.2 -357.97638719461935 L 612.2 -367.97638719461935" style="stroke-width:0.7;"/>
+        <path d="M 612.2 -357.97638719461935 L 602.2 -367.97638719461935" style="stroke-width:0.7;"/>
+        <path d="M 640.6 -364.0183904256371 L 650.6 -374.0183904256371" style="stroke-width:0.7;"/>
+        <path d="M 650.6 -364.0183904256371 L 640.6 -374.0183904256371" style="stroke-width:0.7;"/>
+        <path d="M 679.0 -370.6323893046718 L 689.0 -380.6323893046718" style="stroke-width:0.7;"/>
+        <path d="M 689.0 -370.6323893046718 L 679.0 -380.6323893046718" style="stroke-width:0.7;"/>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip27);">
+      <path d="M 290 -134 L 290 -190 L 324 -190 L 324 -134 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -180.66666666666669 L 314 -180.66666666666669" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip28);">
+      <path d="M 300.75 -175.66666666666669 L 300.75 -185.66666666666669 L 313.25 -185.66666666666669 L 313.25 -175.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 300.75 -175.66666666666669 L 313.25 -175.66666666666669 L 307.0 -185.66666666666669 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-176.0">
+        gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map
+      </text>
+      <path d="M 300 -162.66666666666666 L 314 -162.66666666666666" style="stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+        <path d="M 299.0 -154.66666666666666 L 299.0 -170.66666666666666 L 315.0 -170.66666666666666 L 315.0 -154.66666666666666 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 307.0 -162.66666666666666 M 311.0 -162.66666666666666 L 311 -162.667 M 311 -162.667 A 4 4 0 1 0 303 -162.667 A 4 4 0 1 0 311 -162.667 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-158.0">
+          n_hash_map_ncah
+        </text>
+        <path d="M 300 -144.66666666666666 L 314 -144.66666666666666" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+        <path d="M 302.0 -139.66666666666666 L 312.0 -149.66666666666666" style="stroke-width:0.7;"/>
+        <path d="M 312.0 -139.66666666666666 L 302.0 -149.66666666666666" style="stroke-width:0.7;"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-140.0">
+          gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_map
+        </text>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_find_local.pdf b/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_find_local.pdf
new file mode 100644 (file)
index 0000000..1e7f06c
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_find_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_find_local.png b/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_find_local.png
new file mode 100644 (file)
index 0000000..47c19ca
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_find_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_find_local.svg b/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_find_local.svg
new file mode 100644 (file)
index 0000000..be324e4
--- /dev/null
@@ -0,0 +1,369 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 416.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 332.15 -490.97006552866367 L 344.65 -490.97006552866367 L 338.4 -500.97006552866367 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 370.55 -488.57217397844545 L 383.05 -488.57217397844545 L 376.8 -498.57217397844545 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 408.95 -475.82156836322497 L 421.45 -475.82156836322497 L 415.2 -485.82156836322497 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 447.35 -496.25949162793756 L 459.85 -496.25949162793756 L 453.6 -506.25949162793756 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 485.75 -464.12581440753127 L 498.25 -464.12581440753127 L 492.0 -474.12581440753127 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 524.15 -472.3791668364165 L 536.65 -472.3791668364165 L 530.4 -482.3791668364165 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 562.55 -481.68461314271207 L 575.05 -481.68461314271207 L 568.8 -491.68461314271207 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 600.95 -495.53971049555463 L 613.45 -495.53971049555463 L 607.2 -505.53971049555463 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 639.35 -494.5627661808165 L 651.85 -494.5627661808165 L 645.6 -504.5627661808165 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 677.75 -515.0 L 690.25 -515.0 L 684.0 -525.0 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 338.4 -407.71759057590634 M 342.4 -407.71759057590634 L 342.4 -407.718 M 342.4 -407.718 A 4 4 0 1 0 334.4 -407.718 A 4 4 0 1 0 342.4 -407.718 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 376.8 -414.10737173962775 M 380.8 -414.10737173962775 L 380.8 -414.107 M 380.8 -414.107 A 4 4 0 1 0 372.8 -414.107 A 4 4 0 1 0 380.8 -414.107 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 415.2 -408.428408916411 M 419.2 -408.428408916411 L 419.2 -408.428 M 419.2 -408.428 A 4 4 0 1 0 411.2 -408.428 A 4 4 0 1 0 419.2 -408.428 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 453.6 -413.90536419960074 M 457.6 -413.90536419960074 L 457.6 -413.905 M 457.6 -413.905 A 4 4 0 1 0 449.6 -413.905 A 4 4 0 1 0 457.6 -413.905 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 492.0 -422.3703764059204 M 496.0 -422.3703764059204 L 496 -422.37 M 496 -422.37 A 4 4 0 1 0 488 -422.37 A 4 4 0 1 0 496 -422.37 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 530.4 -415.6827547736268 M 534.4 -415.6827547736268 L 534.4 -415.683 M 534.4 -415.683 A 4 4 0 1 0 526.4 -415.683 A 4 4 0 1 0 534.4 -415.683 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 568.8 -415.5310767572243 M 572.8 -415.5310767572243 L 572.8 -415.531 M 572.8 -415.531 A 4 4 0 1 0 564.8 -415.531 A 4 4 0 1 0 572.8 -415.531 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 607.2 -423.0005296195201 M 611.2 -423.0005296195201 L 611.2 -423.001 M 611.2 -423.001 A 4 4 0 1 0 603.2 -423.001 A 4 4 0 1 0 611.2 -423.001 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 645.6 -417.433946417547 M 649.6 -417.433946417547 L 649.6 -417.434 M 649.6 -417.434 A 4 4 0 1 0 641.6 -417.434 A 4 4 0 1 0 649.6 -417.434 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 684.0 -418.55153762022206 M 688.0 -418.55153762022206 L 688 -418.552 M 688 -418.552 A 4 4 0 1 0 680 -418.552 A 4 4 0 1 0 688 -418.552 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 290 -134 L 290 -190 L 324 -190 L 324 -134 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 300.75 -175.66666666666669 L 313.25 -175.66666666666669 L 307.0 -185.66666666666669 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 307.0 -162.66666666666666 M 311.0 -162.66666666666666 L 311 -162.667 M 311 -162.667 A 4 4 0 1 0 303 -162.667 A 4 4 0 1 0 311 -162.667 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      6.38e-09
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      1.28e-08
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      1.91e-08
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      2.55e-08
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      3.19e-08
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -495.97006552866367 L 376.8 -493.57217397844545 L 415.2 -480.82156836322497 L 453.6 -501.25949162793756 L 492.0 -469.12581440753127 L 530.4 -477.3791668364165 L 568.8 -486.68461314271207 L 607.2 -500.53971049555463 L 645.6 -499.5627661808165 L 684.0 -520.0" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 332.15 -490.97006552866367 L 332.15 -500.97006552866367 L 344.65 -500.97006552866367 L 344.65 -490.97006552866367 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 332.15 -490.97006552866367 L 344.65 -490.97006552866367 L 338.4 -500.97006552866367 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 370.55 -488.57217397844545 L 370.55 -498.57217397844545 L 383.05 -498.57217397844545 L 383.05 -488.57217397844545 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 370.55 -488.57217397844545 L 383.05 -488.57217397844545 L 376.8 -498.57217397844545 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 408.95 -475.82156836322497 L 408.95 -485.82156836322497 L 421.45 -485.82156836322497 L 421.45 -475.82156836322497 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.95 -475.82156836322497 L 421.45 -475.82156836322497 L 415.2 -485.82156836322497 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 447.35 -496.25949162793756 L 447.35 -506.25949162793756 L 459.85 -506.25949162793756 L 459.85 -496.25949162793756 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 447.35 -496.25949162793756 L 459.85 -496.25949162793756 L 453.6 -506.25949162793756 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 485.75 -464.12581440753127 L 485.75 -474.12581440753127 L 498.25 -474.12581440753127 L 498.25 -464.12581440753127 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 485.75 -464.12581440753127 L 498.25 -464.12581440753127 L 492.0 -474.12581440753127 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 524.15 -472.3791668364165 L 524.15 -482.3791668364165 L 536.65 -482.3791668364165 L 536.65 -472.3791668364165 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 524.15 -472.3791668364165 L 536.65 -472.3791668364165 L 530.4 -482.3791668364165 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 562.55 -481.68461314271207 L 562.55 -491.68461314271207 L 575.05 -491.68461314271207 L 575.05 -481.68461314271207 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 562.55 -481.68461314271207 L 575.05 -481.68461314271207 L 568.8 -491.68461314271207 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 600.95 -495.53971049555463 L 600.95 -505.53971049555463 L 613.45 -505.53971049555463 L 613.45 -495.53971049555463 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.95 -495.53971049555463 L 613.45 -495.53971049555463 L 607.2 -505.53971049555463 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 639.35 -494.5627661808165 L 639.35 -504.5627661808165 L 651.85 -504.5627661808165 L 651.85 -494.5627661808165 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 639.35 -494.5627661808165 L 651.85 -494.5627661808165 L 645.6 -504.5627661808165 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 677.75 -515.0 L 677.75 -525.0 L 690.25 -525.0 L 690.25 -515.0 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 677.75 -515.0 L 690.25 -515.0 L 684.0 -525.0 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 338.4 -407.71759057590634 L 376.8 -414.10737173962775 L 415.2 -408.428408916411 L 453.6 -413.90536419960074 L 492.0 -422.3703764059204 L 530.4 -415.6827547736268 L 568.8 -415.5310767572243 L 607.2 -423.0005296195201 L 645.6 -417.433946417547 L 684.0 -418.55153762022206" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 330.4 -399.71759057590634 L 330.4 -415.71759057590634 L 346.4 -415.71759057590634 L 346.4 -399.71759057590634 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -407.71759057590634 M 342.4 -407.71759057590634 L 342.4 -407.718 M 342.4 -407.718 A 4 4 0 1 0 334.4 -407.718 A 4 4 0 1 0 342.4 -407.718 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 368.8 -406.10737173962775 L 368.8 -422.10737173962775 L 384.8 -422.10737173962775 L 384.8 -406.10737173962775 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -414.10737173962775 M 380.8 -414.10737173962775 L 380.8 -414.107 M 380.8 -414.107 A 4 4 0 1 0 372.8 -414.107 A 4 4 0 1 0 380.8 -414.107 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 407.2 -400.428408916411 L 407.2 -416.428408916411 L 423.2 -416.428408916411 L 423.2 -400.428408916411 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -408.428408916411 M 419.2 -408.428408916411 L 419.2 -408.428 M 419.2 -408.428 A 4 4 0 1 0 411.2 -408.428 A 4 4 0 1 0 419.2 -408.428 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 445.6 -405.90536419960074 L 445.6 -421.90536419960074 L 461.6 -421.90536419960074 L 461.6 -405.90536419960074 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -413.90536419960074 M 457.6 -413.90536419960074 L 457.6 -413.905 M 457.6 -413.905 A 4 4 0 1 0 449.6 -413.905 A 4 4 0 1 0 457.6 -413.905 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 484.0 -414.3703764059204 L 484.0 -430.3703764059204 L 500.0 -430.3703764059204 L 500.0 -414.3703764059204 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -422.3703764059204 M 496.0 -422.3703764059204 L 496 -422.37 M 496 -422.37 A 4 4 0 1 0 488 -422.37 A 4 4 0 1 0 496 -422.37 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 522.4 -407.6827547736268 L 522.4 -423.6827547736268 L 538.4 -423.6827547736268 L 538.4 -407.6827547736268 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -415.6827547736268 M 534.4 -415.6827547736268 L 534.4 -415.683 M 534.4 -415.683 A 4 4 0 1 0 526.4 -415.683 A 4 4 0 1 0 534.4 -415.683 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 560.8 -407.5310767572243 L 560.8 -423.5310767572243 L 576.8 -423.5310767572243 L 576.8 -407.5310767572243 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -415.5310767572243 M 572.8 -415.5310767572243 L 572.8 -415.531 M 572.8 -415.531 A 4 4 0 1 0 564.8 -415.531 A 4 4 0 1 0 572.8 -415.531 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 599.2 -415.0005296195201 L 599.2 -431.0005296195201 L 615.2 -431.0005296195201 L 615.2 -415.0005296195201 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -423.0005296195201 M 611.2 -423.0005296195201 L 611.2 -423.001 M 611.2 -423.001 A 4 4 0 1 0 603.2 -423.001 A 4 4 0 1 0 611.2 -423.001 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 637.6 -409.433946417547 L 637.6 -425.433946417547 L 653.6 -425.433946417547 L 653.6 -409.433946417547 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -417.433946417547 M 649.6 -417.433946417547 L 649.6 -417.434 M 649.6 -417.434 A 4 4 0 1 0 641.6 -417.434 A 4 4 0 1 0 649.6 -417.434 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 676.0 -410.55153762022206 L 676.0 -426.55153762022206 L 692.0 -426.55153762022206 L 692.0 -410.55153762022206 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -418.55153762022206 M 688.0 -418.55153762022206 L 688 -418.552 M 688 -418.552 A 4 4 0 1 0 680 -418.552 A 4 4 0 1 0 688 -418.552 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 338.4 -337.7244599604509 L 376.8 -348.9684892054767 L 415.2 -344.8536025095817 L 453.6 -354.35036995020323 L 492.0 -364.3227169167996 L 530.4 -349.681858494439 L 568.8 -356.56617893618557 L 607.2 -360.7800700100596 L 645.6 -363.37686659542396 L 684.0 -368.84113608087824" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <path d="M 333.4 -332.7244599604509 L 343.4 -342.7244599604509" style="stroke-width:0.7;"/>
+        <path d="M 343.4 -332.7244599604509 L 333.4 -342.7244599604509" style="stroke-width:0.7;"/>
+        <path d="M 371.8 -343.9684892054767 L 381.8 -353.9684892054767" style="stroke-width:0.7;"/>
+        <path d="M 381.8 -343.9684892054767 L 371.8 -353.9684892054767" style="stroke-width:0.7;"/>
+        <path d="M 410.2 -339.8536025095817 L 420.2 -349.8536025095817" style="stroke-width:0.7;"/>
+        <path d="M 420.2 -339.8536025095817 L 410.2 -349.8536025095817" style="stroke-width:0.7;"/>
+        <path d="M 448.6 -349.35036995020323 L 458.6 -359.35036995020323" style="stroke-width:0.7;"/>
+        <path d="M 458.6 -349.35036995020323 L 448.6 -359.35036995020323" style="stroke-width:0.7;"/>
+        <path d="M 487.0 -359.3227169167996 L 497.0 -369.3227169167996" style="stroke-width:0.7;"/>
+        <path d="M 497.0 -359.3227169167996 L 487.0 -369.3227169167996" style="stroke-width:0.7;"/>
+        <path d="M 525.4 -344.681858494439 L 535.4 -354.681858494439" style="stroke-width:0.7;"/>
+        <path d="M 535.4 -344.681858494439 L 525.4 -354.681858494439" style="stroke-width:0.7;"/>
+        <path d="M 563.8 -351.56617893618557 L 573.8 -361.56617893618557" style="stroke-width:0.7;"/>
+        <path d="M 573.8 -351.56617893618557 L 563.8 -361.56617893618557" style="stroke-width:0.7;"/>
+        <path d="M 602.2 -355.7800700100596 L 612.2 -365.7800700100596" style="stroke-width:0.7;"/>
+        <path d="M 612.2 -355.7800700100596 L 602.2 -365.7800700100596" style="stroke-width:0.7;"/>
+        <path d="M 640.6 -358.37686659542396 L 650.6 -368.37686659542396" style="stroke-width:0.7;"/>
+        <path d="M 650.6 -358.37686659542396 L 640.6 -368.37686659542396" style="stroke-width:0.7;"/>
+        <path d="M 679.0 -363.84113608087824 L 689.0 -373.84113608087824" style="stroke-width:0.7;"/>
+        <path d="M 689.0 -363.84113608087824 L 679.0 -373.84113608087824" style="stroke-width:0.7;"/>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip27);">
+      <path d="M 290 -134 L 290 -190 L 324 -190 L 324 -134 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -180.66666666666669 L 314 -180.66666666666669" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip28);">
+      <path d="M 300.75 -175.66666666666669 L 300.75 -185.66666666666669 L 313.25 -185.66666666666669 L 313.25 -175.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 300.75 -175.66666666666669 L 313.25 -175.66666666666669 L 307.0 -185.66666666666669 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-176.0">
+        gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map
+      </text>
+      <path d="M 300 -162.66666666666666 L 314 -162.66666666666666" style="stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+        <path d="M 299.0 -154.66666666666666 L 299.0 -170.66666666666666 L 315.0 -170.66666666666666 L 315.0 -154.66666666666666 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 307.0 -162.66666666666666 M 311.0 -162.66666666666666 L 311 -162.667 M 311 -162.667 A 4 4 0 1 0 303 -162.667 A 4 4 0 1 0 311 -162.667 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-158.0">
+          n_hash_map_ncah
+        </text>
+        <path d="M 300 -144.66666666666666 L 314 -144.66666666666666" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+        <path d="M 302.0 -139.66666666666666 L 312.0 -149.66666666666666" style="stroke-width:0.7;"/>
+        <path d="M 312.0 -139.66666666666666 L 302.0 -149.66666666666666" style="stroke-width:0.7;"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-140.0">
+          gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_map
+        </text>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_insert_local.pdf b/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_insert_local.pdf
new file mode 100644 (file)
index 0000000..f888045
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_insert_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_insert_local.png b/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_insert_local.png
new file mode 100644 (file)
index 0000000..a5d4fb5
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_insert_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_insert_local.svg b/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_insert_local.svg
new file mode 100644 (file)
index 0000000..d85deab
--- /dev/null
@@ -0,0 +1,369 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 416.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 338.4 -482.3197045634397 M 342.4 -482.3197045634397 L 342.4 -482.32 M 342.4 -482.32 A 4 4 0 1 0 334.4 -482.32 A 4 4 0 1 0 342.4 -482.32 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 376.8 -451.43787918754947 M 380.8 -451.43787918754947 L 380.8 -451.438 M 380.8 -451.438 A 4 4 0 1 0 372.8 -451.438 A 4 4 0 1 0 380.8 -451.438 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 415.2 -461.3062516486415 M 419.2 -461.3062516486415 L 419.2 -461.306 M 419.2 -461.306 A 4 4 0 1 0 411.2 -461.306 A 4 4 0 1 0 419.2 -461.306 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 453.6 -451.24782379319436 M 457.6 -451.24782379319436 L 457.6 -451.248 M 457.6 -451.248 A 4 4 0 1 0 449.6 -451.248 A 4 4 0 1 0 457.6 -451.248 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 492.0 -470.6436296491691 M 496.0 -470.6436296491691 L 496 -470.644 M 496 -470.644 A 4 4 0 1 0 488 -470.644 A 4 4 0 1 0 496 -470.644 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 530.4 -462.67871274070166 M 534.4 -462.67871274070166 L 534.4 -462.679 M 534.4 -462.679 A 4 4 0 1 0 526.4 -462.679 A 4 4 0 1 0 534.4 -462.679 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 568.8 -464.4907676074914 M 572.8 -464.4907676074914 L 572.8 -464.491 M 572.8 -464.491 A 4 4 0 1 0 564.8 -464.491 A 4 4 0 1 0 572.8 -464.491 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 607.2 -453.52413611184386 M 611.2 -453.52413611184386 L 611.2 -453.524 M 611.2 -453.524 A 4 4 0 1 0 603.2 -453.524 A 4 4 0 1 0 611.2 -453.524 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 645.6 -480.26681614349775 M 649.6 -480.26681614349775 L 649.6 -480.267 M 649.6 -480.267 A 4 4 0 1 0 641.6 -480.267 A 4 4 0 1 0 649.6 -480.267 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 684.0 -475.5009232392509 M 688.0 -475.5009232392509 L 688 -475.501 M 688 -475.501 A 4 4 0 1 0 680 -475.501 A 4 4 0 1 0 688 -475.501 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 332.15 -406.4568979161171 L 344.65 -406.4568979161171 L 338.4 -416.4568979161171 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 370.55 -416.09502769717756 L 383.05 -416.09502769717756 L 376.8 -426.09502769717756 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 408.95 -437.40937747296226 L 421.45 -437.40937747296226 L 415.2 -447.40937747296226 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 447.35 -419.81343972566606 L 459.85 -419.81343972566606 L 453.6 -429.81343972566606 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 485.75 -485.7590345555262 L 498.25 -485.7590345555262 L 492.0 -495.7590345555262 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 524.15 -464.65708256396726 L 536.65 -464.65708256396726 L 530.4 -474.65708256396726 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 562.55 -450.18095489316806 L 575.05 -450.18095489316806 L 568.8 -460.18095489316806 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 600.95 -440.2313373780005 L 613.45 -440.2313373780005 L 607.2 -450.2313373780005 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 639.35 -515.0 L 651.85 -515.0 L 645.6 -525.0 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 677.75 -499.11804273278824 L 690.25 -499.11804273278824 L 684.0 -509.11804273278824 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 290 -134 L 290 -190 L 324 -190 L 324 -134 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 307.0 -180.66666666666669 M 311.0 -180.66666666666669 L 311 -180.667 M 311 -180.667 A 4 4 0 1 0 303 -180.667 A 4 4 0 1 0 311 -180.667 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 300.75 -157.66666666666666 L 313.25 -157.66666666666666 L 307.0 -167.66666666666666 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      3.03e-08
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      6.07e-08
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      9.10e-08
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      1.21e-07
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      1.52e-07
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -482.3197045634397 L 376.8 -451.43787918754947 L 415.2 -461.3062516486415 L 453.6 -451.24782379319436 L 492.0 -470.6436296491691 L 530.4 -462.67871274070166 L 568.8 -464.4907676074914 L 607.2 -453.52413611184386 L 645.6 -480.26681614349775 L 684.0 -475.5009232392509" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 330.4 -474.3197045634397 L 330.4 -490.3197045634397 L 346.4 -490.3197045634397 L 346.4 -474.3197045634397 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -482.3197045634397 M 342.4 -482.3197045634397 L 342.4 -482.32 M 342.4 -482.32 A 4 4 0 1 0 334.4 -482.32 A 4 4 0 1 0 342.4 -482.32 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 368.8 -443.43787918754947 L 368.8 -459.43787918754947 L 384.8 -459.43787918754947 L 384.8 -443.43787918754947 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -451.43787918754947 M 380.8 -451.43787918754947 L 380.8 -451.438 M 380.8 -451.438 A 4 4 0 1 0 372.8 -451.438 A 4 4 0 1 0 380.8 -451.438 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 407.2 -453.3062516486415 L 407.2 -469.3062516486415 L 423.2 -469.3062516486415 L 423.2 -453.3062516486415 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -461.3062516486415 M 419.2 -461.3062516486415 L 419.2 -461.306 M 419.2 -461.306 A 4 4 0 1 0 411.2 -461.306 A 4 4 0 1 0 419.2 -461.306 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 445.6 -443.24782379319436 L 445.6 -459.24782379319436 L 461.6 -459.24782379319436 L 461.6 -443.24782379319436 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -451.24782379319436 M 457.6 -451.24782379319436 L 457.6 -451.248 M 457.6 -451.248 A 4 4 0 1 0 449.6 -451.248 A 4 4 0 1 0 457.6 -451.248 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 484.0 -462.6436296491691 L 484.0 -478.6436296491691 L 500.0 -478.6436296491691 L 500.0 -462.6436296491691 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -470.6436296491691 M 496.0 -470.6436296491691 L 496 -470.644 M 496 -470.644 A 4 4 0 1 0 488 -470.644 A 4 4 0 1 0 496 -470.644 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 522.4 -454.67871274070166 L 522.4 -470.67871274070166 L 538.4 -470.67871274070166 L 538.4 -454.67871274070166 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -462.67871274070166 M 534.4 -462.67871274070166 L 534.4 -462.679 M 534.4 -462.679 A 4 4 0 1 0 526.4 -462.679 A 4 4 0 1 0 534.4 -462.679 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 560.8 -456.4907676074914 L 560.8 -472.4907676074914 L 576.8 -472.4907676074914 L 576.8 -456.4907676074914 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -464.4907676074914 M 572.8 -464.4907676074914 L 572.8 -464.491 M 572.8 -464.491 A 4 4 0 1 0 564.8 -464.491 A 4 4 0 1 0 572.8 -464.491 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 599.2 -445.52413611184386 L 599.2 -461.52413611184386 L 615.2 -461.52413611184386 L 615.2 -445.52413611184386 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -453.52413611184386 M 611.2 -453.52413611184386 L 611.2 -453.524 M 611.2 -453.524 A 4 4 0 1 0 603.2 -453.524 A 4 4 0 1 0 611.2 -453.524 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 637.6 -472.26681614349775 L 637.6 -488.26681614349775 L 653.6 -488.26681614349775 L 653.6 -472.26681614349775 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -480.26681614349775 M 649.6 -480.26681614349775 L 649.6 -480.267 M 649.6 -480.267 A 4 4 0 1 0 641.6 -480.267 A 4 4 0 1 0 649.6 -480.267 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 676.0 -467.5009232392509 L 676.0 -483.5009232392509 L 692.0 -483.5009232392509 L 692.0 -467.5009232392509 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -475.5009232392509 M 688.0 -475.5009232392509 L 688 -475.501 M 688 -475.501 A 4 4 0 1 0 680 -475.501 A 4 4 0 1 0 688 -475.501 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 338.4 -411.4568979161171 L 376.8 -421.09502769717756 L 415.2 -442.40937747296226 L 453.6 -424.81343972566606 L 492.0 -490.7590345555262 L 530.4 -469.65708256396726 L 568.8 -455.18095489316806 L 607.2 -445.2313373780005 L 645.6 -520.0 L 684.0 -504.11804273278824" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 332.15 -406.4568979161171 L 332.15 -416.4568979161171 L 344.65 -416.4568979161171 L 344.65 -406.4568979161171 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 332.15 -406.4568979161171 L 344.65 -406.4568979161171 L 338.4 -416.4568979161171 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 370.55 -416.09502769717756 L 370.55 -426.09502769717756 L 383.05 -426.09502769717756 L 383.05 -416.09502769717756 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 370.55 -416.09502769717756 L 383.05 -416.09502769717756 L 376.8 -426.09502769717756 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 408.95 -437.40937747296226 L 408.95 -447.40937747296226 L 421.45 -447.40937747296226 L 421.45 -437.40937747296226 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.95 -437.40937747296226 L 421.45 -437.40937747296226 L 415.2 -447.40937747296226 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 447.35 -419.81343972566606 L 447.35 -429.81343972566606 L 459.85 -429.81343972566606 L 459.85 -419.81343972566606 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 447.35 -419.81343972566606 L 459.85 -419.81343972566606 L 453.6 -429.81343972566606 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 485.75 -485.7590345555262 L 485.75 -495.7590345555262 L 498.25 -495.7590345555262 L 498.25 -485.7590345555262 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 485.75 -485.7590345555262 L 498.25 -485.7590345555262 L 492.0 -495.7590345555262 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 524.15 -464.65708256396726 L 524.15 -474.65708256396726 L 536.65 -474.65708256396726 L 536.65 -464.65708256396726 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 524.15 -464.65708256396726 L 536.65 -464.65708256396726 L 530.4 -474.65708256396726 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 562.55 -450.18095489316806 L 562.55 -460.18095489316806 L 575.05 -460.18095489316806 L 575.05 -450.18095489316806 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 562.55 -450.18095489316806 L 575.05 -450.18095489316806 L 568.8 -460.18095489316806 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 600.95 -440.2313373780005 L 600.95 -450.2313373780005 L 613.45 -450.2313373780005 L 613.45 -440.2313373780005 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.95 -440.2313373780005 L 613.45 -440.2313373780005 L 607.2 -450.2313373780005 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 639.35 -515.0 L 639.35 -525.0 L 651.85 -525.0 L 651.85 -515.0 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 639.35 -515.0 L 651.85 -515.0 L 645.6 -525.0 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 677.75 -499.11804273278824 L 677.75 -509.11804273278824 L 690.25 -509.11804273278824 L 690.25 -499.11804273278824 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 677.75 -499.11804273278824 L 690.25 -499.11804273278824 L 684.0 -509.11804273278824 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 338.4 -367.37028488525453 L 376.8 -369.3916908467423 L 415.2 -387.21293853864415 L 453.6 -372.71649960432603 L 492.0 -363.0270113426537 L 530.4 -423.1365998417304 L 568.8 -409.0312978106041 L 607.2 -399.09372197309415 L 645.6 -391.1087839620153 L 684.0 -300.0" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <path d="M 333.4 -362.37028488525453 L 343.4 -372.37028488525453" style="stroke-width:0.7;"/>
+        <path d="M 343.4 -362.37028488525453 L 333.4 -372.37028488525453" style="stroke-width:0.7;"/>
+        <path d="M 371.8 -364.3916908467423 L 381.8 -374.3916908467423" style="stroke-width:0.7;"/>
+        <path d="M 381.8 -364.3916908467423 L 371.8 -374.3916908467423" style="stroke-width:0.7;"/>
+        <path d="M 410.2 -382.21293853864415 L 420.2 -392.21293853864415" style="stroke-width:0.7;"/>
+        <path d="M 420.2 -382.21293853864415 L 410.2 -392.21293853864415" style="stroke-width:0.7;"/>
+        <path d="M 448.6 -367.71649960432603 L 458.6 -377.71649960432603" style="stroke-width:0.7;"/>
+        <path d="M 458.6 -367.71649960432603 L 448.6 -377.71649960432603" style="stroke-width:0.7;"/>
+        <path d="M 487.0 -358.0270113426537 L 497.0 -368.0270113426537" style="stroke-width:0.7;"/>
+        <path d="M 497.0 -358.0270113426537 L 487.0 -368.0270113426537" style="stroke-width:0.7;"/>
+        <path d="M 525.4 -418.1365998417304 L 535.4 -428.1365998417304" style="stroke-width:0.7;"/>
+        <path d="M 535.4 -418.1365998417304 L 525.4 -428.1365998417304" style="stroke-width:0.7;"/>
+        <path d="M 563.8 -404.0312978106041 L 573.8 -414.0312978106041" style="stroke-width:0.7;"/>
+        <path d="M 573.8 -404.0312978106041 L 563.8 -414.0312978106041" style="stroke-width:0.7;"/>
+        <path d="M 602.2 -394.09372197309415 L 612.2 -404.09372197309415" style="stroke-width:0.7;"/>
+        <path d="M 612.2 -394.09372197309415 L 602.2 -404.09372197309415" style="stroke-width:0.7;"/>
+        <path d="M 640.6 -386.1087839620153 L 650.6 -396.1087839620153" style="stroke-width:0.7;"/>
+        <path d="M 650.6 -386.1087839620153 L 640.6 -396.1087839620153" style="stroke-width:0.7;"/>
+        <path d="M 679.0 -295.0 L 689.0 -305.0" style="stroke-width:0.7;"/>
+        <path d="M 689.0 -295.0 L 679.0 -305.0" style="stroke-width:0.7;"/>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip27);">
+      <path d="M 290 -134 L 290 -190 L 324 -190 L 324 -134 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -180.66666666666669 L 314 -180.66666666666669" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip28);">
+      <path d="M 299.0 -172.66666666666669 L 299.0 -188.66666666666669 L 315.0 -188.66666666666669 L 315.0 -172.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -180.66666666666669 M 311.0 -180.66666666666669 L 311 -180.667 M 311 -180.667 A 4 4 0 1 0 303 -180.667 A 4 4 0 1 0 311 -180.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-176.0">
+        n_hash_map_ncah
+      </text>
+      <path d="M 300 -162.66666666666666 L 314 -162.66666666666666" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+        <path d="M 300.75 -157.66666666666666 L 300.75 -167.66666666666666 L 313.25 -167.66666666666666 L 313.25 -157.66666666666666 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 300.75 -157.66666666666666 L 313.25 -157.66666666666666 L 307.0 -167.66666666666666 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-158.0">
+          gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map
+        </text>
+        <path d="M 300 -144.66666666666666 L 314 -144.66666666666666" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+        <path d="M 302.0 -139.66666666666666 L 312.0 -149.66666666666666" style="stroke-width:0.7;"/>
+        <path d="M 312.0 -139.66666666666666 L 302.0 -149.66666666666666" style="stroke-width:0.7;"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-140.0">
+          gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_map
+        </text>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_hash_policy_cd.png b/libstdc++-v3/doc/xml/images/pbds_hash_policy_cd.png
new file mode 100644 (file)
index 0000000..f3122a1
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_hash_policy_cd.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_hash_random_int_erase_mem_usage_test_local.pdf b/libstdc++-v3/doc/xml/images/pbds_hash_random_int_erase_mem_usage_test_local.pdf
new file mode 100644 (file)
index 0000000..60a649e
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_hash_random_int_erase_mem_usage_test_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_hash_random_int_erase_mem_usage_test_local.png b/libstdc++-v3/doc/xml/images/pbds_hash_random_int_erase_mem_usage_test_local.png
new file mode 100644 (file)
index 0000000..7b6263b
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_hash_random_int_erase_mem_usage_test_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_hash_random_int_erase_mem_usage_test_local.svg b/libstdc++-v3/doc/xml/images/pbds_hash_random_int_erase_mem_usage_test_local.svg
new file mode 100644 (file)
index 0000000..83dee9a
--- /dev/null
@@ -0,0 +1,416 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -526 535.725 418" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 338.4 -315.0656 M 342.4 -315.0656 L 342.4 -315.066 M 342.4 -315.066 A 4 4 0 1 0 334.4 -315.066 A 4 4 0 1 0 342.4 -315.066 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 376.8 -329.0048 M 380.8 -329.0048 L 380.8 -329.005 M 380.8 -329.005 A 4 4 0 1 0 372.8 -329.005 A 4 4 0 1 0 380.8 -329.005 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 415.2 -343.7888 M 419.2 -343.7888 L 419.2 -343.789 M 419.2 -343.789 A 4 4 0 1 0 411.2 -343.789 A 4 4 0 1 0 419.2 -343.789 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 453.6 -358.1504 M 457.6 -358.1504 L 457.6 -358.15 M 457.6 -358.15 A 4 4 0 1 0 449.6 -358.15 A 4 4 0 1 0 457.6 -358.15 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 492.0 -372.79359999999997 M 496.0 -372.79359999999997 L 496 -372.794 M 496 -372.794 A 4 4 0 1 0 488 -372.794 A 4 4 0 1 0 496 -372.794 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 530.4 -390.9568 M 534.4 -390.9568 L 534.4 -390.957 M 534.4 -390.957 A 4 4 0 1 0 526.4 -390.957 A 4 4 0 1 0 534.4 -390.957 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 568.8 -405.3184 M 572.8 -405.3184 L 572.8 -405.318 M 572.8 -405.318 A 4 4 0 1 0 564.8 -405.318 A 4 4 0 1 0 572.8 -405.318 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 607.2 -413.7664 M 611.2 -413.7664 L 611.2 -413.766 M 611.2 -413.766 A 4 4 0 1 0 603.2 -413.766 A 4 4 0 1 0 611.2 -413.766 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 645.6 -432.4928 M 649.6 -432.4928 L 649.6 -432.493 M 649.6 -432.493 A 4 4 0 1 0 641.6 -432.493 A 4 4 0 1 0 649.6 -432.493 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 684.0 -443.0528 M 688.0 -443.0528 L 688 -443.053 M 688 -443.053 A 4 4 0 1 0 680 -443.053 A 4 4 0 1 0 688 -443.053 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 338.4 -295.9152 L 332.15 -305.9152 L 344.65 -305.9152 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 376.8 -295.9152 L 370.55 -305.9152 L 383.05 -305.9152 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 415.2 -295.9152 L 408.95 -305.9152 L 421.45 -305.9152 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 453.6 -295.9152 L 447.35 -305.9152 L 459.85 -305.9152 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 492.0 -295.9152 L 485.75 -305.9152 L 498.25 -305.9152 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 530.4 -295.9152 L 524.15 -305.9152 L 536.65 -305.9152 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 568.8 -295.9152 L 562.55 -305.9152 L 575.05 -305.9152 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 607.2 -295.9152 L 600.95 -305.9152 L 613.45 -305.9152 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 645.6 -295.9152 L 639.35 -305.9152 L 651.85 -305.9152 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 684.0 -295.9152 L 677.75 -305.9152 L 690.25 -305.9152 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 290 -114 L 290 -188 L 324 -188 L 324 -114 Z"/>
+    </clipPath>
+    <clipPath id="clip30">
+      <path d="M 307.0 -178.66666666666669 M 311.0 -178.66666666666669 L 311 -178.667 M 311 -178.667 A 4 4 0 1 0 303 -178.667 A 4 4 0 1 0 311 -178.667 Z"/>
+    </clipPath>
+    <clipPath id="clip31">
+      <path d="M 307.0 -155.66666666666666 L 300.75 -165.66666666666666 L 313.25 -165.66666666666666 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -388.0 L 780 -388.0" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -476.0 L 780 -476.0" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -328.61056 L 288 -328.61056"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-324.111)" x="288.0" y="-324.1110467321942">
+      3.25e+03
+    </text>
+    <path d="M 300 -357.22112 L 288 -357.22112"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-352.722)" x="288.0" y="-352.72160673219423">
+      6.50e+03
+    </text>
+    <path d="M 300 -385.83168 L 288 -385.83168"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-381.332)" x="288.0" y="-381.3321667321942">
+      9.75e+03
+    </text>
+    <path d="M 300 -414.44223999999997 L 288 -414.44223999999997"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-409.943)" x="288.0" y="-409.9427267321942">
+      1.30e+04
+    </text>
+    <path d="M 300 -443.0528 L 288 -443.0528"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-438.553)" x="288.0" y="-438.55328673219424">
+      1.63e+04
+    </text>
+    <path d="M 300 -471.66336 L 288 -471.66336"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-467.164)" x="288.0" y="-467.1638467321942">
+      1.95e+04
+    </text>
+    <path d="M 300 -500.27392 L 288 -500.27392"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-495.774)" x="288.0" y="-495.7744067321942">
+      2.28e+04
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Memory (bytes)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -315.0656 L 376.8 -329.0048 L 415.2 -343.7888 L 453.6 -358.1504 L 492.0 -372.79359999999997 L 530.4 -390.9568 L 568.8 -405.3184 L 607.2 -413.7664 L 645.6 -432.4928 L 684.0 -443.0528" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 330.4 -307.0656 L 330.4 -323.0656 L 346.4 -323.0656 L 346.4 -307.0656 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -315.0656 M 342.4 -315.0656 L 342.4 -315.066 M 342.4 -315.066 A 4 4 0 1 0 334.4 -315.066 A 4 4 0 1 0 342.4 -315.066 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 368.8 -321.0048 L 368.8 -337.0048 L 384.8 -337.0048 L 384.8 -321.0048 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -329.0048 M 380.8 -329.0048 L 380.8 -329.005 M 380.8 -329.005 A 4 4 0 1 0 372.8 -329.005 A 4 4 0 1 0 380.8 -329.005 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 407.2 -335.7888 L 407.2 -351.7888 L 423.2 -351.7888 L 423.2 -335.7888 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -343.7888 M 419.2 -343.7888 L 419.2 -343.789 M 419.2 -343.789 A 4 4 0 1 0 411.2 -343.789 A 4 4 0 1 0 419.2 -343.789 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 445.6 -350.1504 L 445.6 -366.1504 L 461.6 -366.1504 L 461.6 -350.1504 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -358.1504 M 457.6 -358.1504 L 457.6 -358.15 M 457.6 -358.15 A 4 4 0 1 0 449.6 -358.15 A 4 4 0 1 0 457.6 -358.15 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 484.0 -364.79359999999997 L 484.0 -380.79359999999997 L 500.0 -380.79359999999997 L 500.0 -364.79359999999997 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -372.79359999999997 M 496.0 -372.79359999999997 L 496 -372.794 M 496 -372.794 A 4 4 0 1 0 488 -372.794 A 4 4 0 1 0 496 -372.794 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 522.4 -382.9568 L 522.4 -398.9568 L 538.4 -398.9568 L 538.4 -382.9568 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -390.9568 M 534.4 -390.9568 L 534.4 -390.957 M 534.4 -390.957 A 4 4 0 1 0 526.4 -390.957 A 4 4 0 1 0 534.4 -390.957 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 560.8 -397.3184 L 560.8 -413.3184 L 576.8 -413.3184 L 576.8 -397.3184 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -405.3184 M 572.8 -405.3184 L 572.8 -405.318 M 572.8 -405.318 A 4 4 0 1 0 564.8 -405.318 A 4 4 0 1 0 572.8 -405.318 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 599.2 -405.7664 L 599.2 -421.7664 L 615.2 -421.7664 L 615.2 -405.7664 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -413.7664 M 611.2 -413.7664 L 611.2 -413.766 M 611.2 -413.766 A 4 4 0 1 0 603.2 -413.766 A 4 4 0 1 0 611.2 -413.766 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 637.6 -424.4928 L 637.6 -440.4928 L 653.6 -440.4928 L 653.6 -424.4928 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -432.4928 M 649.6 -432.4928 L 649.6 -432.493 M 649.6 -432.493 A 4 4 0 1 0 641.6 -432.493 A 4 4 0 1 0 649.6 -432.493 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 676.0 -435.0528 L 676.0 -451.0528 L 692.0 -451.0528 L 692.0 -435.0528 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -443.0528 M 688.0 -443.0528 L 688 -443.053 M 688 -443.053 A 4 4 0 1 0 680 -443.053 A 4 4 0 1 0 688 -443.053 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 338.4 -300.9152 L 376.8 -300.9152 L 415.2 -300.9152 L 453.6 -300.9152 L 492.0 -300.9152 L 530.4 -300.9152 L 568.8 -300.9152 L 607.2 -300.9152 L 645.6 -300.9152 L 684.0 -300.9152" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 332.15 -295.9152 L 332.15 -305.9152 L 344.65 -305.9152 L 344.65 -295.9152 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -295.9152 L 332.15 -305.9152 L 344.65 -305.9152 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 370.55 -295.9152 L 370.55 -305.9152 L 383.05 -305.9152 L 383.05 -295.9152 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -295.9152 L 370.55 -305.9152 L 383.05 -305.9152 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 408.95 -295.9152 L 408.95 -305.9152 L 421.45 -305.9152 L 421.45 -295.9152 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -295.9152 L 408.95 -305.9152 L 421.45 -305.9152 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 447.35 -295.9152 L 447.35 -305.9152 L 459.85 -305.9152 L 459.85 -295.9152 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -295.9152 L 447.35 -305.9152 L 459.85 -305.9152 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 485.75 -295.9152 L 485.75 -305.9152 L 498.25 -305.9152 L 498.25 -295.9152 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -295.9152 L 485.75 -305.9152 L 498.25 -305.9152 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 524.15 -295.9152 L 524.15 -305.9152 L 536.65 -305.9152 L 536.65 -295.9152 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -295.9152 L 524.15 -305.9152 L 536.65 -305.9152 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 562.55 -295.9152 L 562.55 -305.9152 L 575.05 -305.9152 L 575.05 -295.9152 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -295.9152 L 562.55 -305.9152 L 575.05 -305.9152 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 600.95 -295.9152 L 600.95 -305.9152 L 613.45 -305.9152 L 613.45 -295.9152 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -295.9152 L 600.95 -305.9152 L 613.45 -305.9152 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 639.35 -295.9152 L 639.35 -305.9152 L 651.85 -305.9152 L 651.85 -295.9152 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -295.9152 L 639.35 -305.9152 L 651.85 -305.9152 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 677.75 -295.9152 L 677.75 -305.9152 L 690.25 -305.9152 L 690.25 -295.9152 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -295.9152 L 677.75 -305.9152 L 690.25 -305.9152 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 338.4 -300.704 L 376.8 -300.704 L 415.2 -300.704 L 453.6 -300.704 L 492.0 -300.704 L 530.4 -300.704 L 568.8 -300.704 L 607.2 -300.704 L 645.6 -300.704 L 684.0 -300.704" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <path d="M 333.4 -295.704 L 343.4 -305.704" style="stroke-width:0.7;"/>
+        <path d="M 343.4 -295.704 L 333.4 -305.704" style="stroke-width:0.7;"/>
+        <path d="M 371.8 -295.704 L 381.8 -305.704" style="stroke-width:0.7;"/>
+        <path d="M 381.8 -295.704 L 371.8 -305.704" style="stroke-width:0.7;"/>
+        <path d="M 410.2 -295.704 L 420.2 -305.704" style="stroke-width:0.7;"/>
+        <path d="M 420.2 -295.704 L 410.2 -305.704" style="stroke-width:0.7;"/>
+        <path d="M 448.6 -295.704 L 458.6 -305.704" style="stroke-width:0.7;"/>
+        <path d="M 458.6 -295.704 L 448.6 -305.704" style="stroke-width:0.7;"/>
+        <path d="M 487.0 -295.704 L 497.0 -305.704" style="stroke-width:0.7;"/>
+        <path d="M 497.0 -295.704 L 487.0 -305.704" style="stroke-width:0.7;"/>
+        <path d="M 525.4 -295.704 L 535.4 -305.704" style="stroke-width:0.7;"/>
+        <path d="M 535.4 -295.704 L 525.4 -305.704" style="stroke-width:0.7;"/>
+        <path d="M 563.8 -295.704 L 573.8 -305.704" style="stroke-width:0.7;"/>
+        <path d="M 573.8 -295.704 L 563.8 -305.704" style="stroke-width:0.7;"/>
+        <path d="M 602.2 -295.704 L 612.2 -305.704" style="stroke-width:0.7;"/>
+        <path d="M 612.2 -295.704 L 602.2 -305.704" style="stroke-width:0.7;"/>
+        <path d="M 640.6 -295.704 L 650.6 -305.704" style="stroke-width:0.7;"/>
+        <path d="M 650.6 -295.704 L 640.6 -305.704" style="stroke-width:0.7;"/>
+        <path d="M 679.0 -295.704 L 689.0 -305.704" style="stroke-width:0.7;"/>
+        <path d="M 689.0 -295.704 L 679.0 -305.704" style="stroke-width:0.7;"/>
+      </g>
+      <g style="clip-path:url(#clip27);">
+        <path d="M 338.4 -300.5632 L 376.8 -300.5632 L 415.2 -300.5632 L 453.6 -300.5632 L 492.0 -300.5632 L 530.4 -300.5632 L 568.8 -300.5632 L 607.2 -300.5632 L 645.6 -300.5632 L 684.0 -300.5632" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip28);">
+        <path d="M 333.4 -295.5632 L 343.4 -305.5632" style="stroke-width:0.7;"/>
+        <path d="M 343.4 -295.5632 L 333.4 -305.5632" style="stroke-width:0.7;"/>
+        <path d="M 371.8 -295.5632 L 381.8 -305.5632" style="stroke-width:0.7;"/>
+        <path d="M 381.8 -295.5632 L 371.8 -305.5632" style="stroke-width:0.7;"/>
+        <path d="M 410.2 -295.5632 L 420.2 -305.5632" style="stroke-width:0.7;"/>
+        <path d="M 420.2 -295.5632 L 410.2 -305.5632" style="stroke-width:0.7;"/>
+        <path d="M 448.6 -295.5632 L 458.6 -305.5632" style="stroke-width:0.7;"/>
+        <path d="M 458.6 -295.5632 L 448.6 -305.5632" style="stroke-width:0.7;"/>
+        <path d="M 487.0 -295.5632 L 497.0 -305.5632" style="stroke-width:0.7;"/>
+        <path d="M 497.0 -295.5632 L 487.0 -305.5632" style="stroke-width:0.7;"/>
+        <path d="M 525.4 -295.5632 L 535.4 -305.5632" style="stroke-width:0.7;"/>
+        <path d="M 535.4 -295.5632 L 525.4 -305.5632" style="stroke-width:0.7;"/>
+        <path d="M 563.8 -295.5632 L 573.8 -305.5632" style="stroke-width:0.7;"/>
+        <path d="M 573.8 -295.5632 L 563.8 -305.5632" style="stroke-width:0.7;"/>
+        <path d="M 602.2 -295.5632 L 612.2 -305.5632" style="stroke-width:0.7;"/>
+        <path d="M 612.2 -295.5632 L 602.2 -305.5632" style="stroke-width:0.7;"/>
+        <path d="M 640.6 -295.5632 L 650.6 -305.5632" style="stroke-width:0.7;"/>
+        <path d="M 650.6 -295.5632 L 640.6 -305.5632" style="stroke-width:0.7;"/>
+        <path d="M 679.0 -295.5632 L 689.0 -305.5632" style="stroke-width:0.7;"/>
+        <path d="M 689.0 -295.5632 L 679.0 -305.5632" style="stroke-width:0.7;"/>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+      <path d="M 290 -114 L 290 -188 L 324 -188 L 324 -114 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -178.66666666666669 L 314 -178.66666666666669" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip30);">
+      <path d="M 299.0 -170.66666666666669 L 299.0 -186.66666666666669 L 315.0 -186.66666666666669 L 315.0 -170.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -178.66666666666669 M 311.0 -178.66666666666669 L 311 -178.667 M 311 -178.667 A 4 4 0 1 0 303 -178.667 A 4 4 0 1 0 311 -178.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-174.0">
+        n_hash_set_ncah
+      </text>
+      <path d="M 300 -160.66666666666666 L 314 -160.66666666666666" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip31);">
+        <path d="M 300.75 -155.66666666666666 L 300.75 -165.66666666666666 L 313.25 -165.66666666666666 L 313.25 -155.66666666666666 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 307.0 -155.66666666666666 L 300.75 -165.66666666666666 L 313.25 -165.66666666666666 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-156.0">
+          cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_set
+        </text>
+        <path d="M 300 -142.66666666666666 L 314 -142.66666666666666" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+        <path d="M 302.0 -137.66666666666666 L 312.0 -147.66666666666666" style="stroke-width:0.7;"/>
+        <path d="M 312.0 -137.66666666666666 L 302.0 -147.66666666666666" style="stroke-width:0.7;"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-138.0">
+          cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+        </text>
+        <path d="M 300 -124.66666666666666 L 314 -124.66666666666666" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+        <path d="M 302.0 -119.66666666666666 L 312.0 -129.66666666666666" style="stroke-width:0.7;"/>
+        <path d="M 312.0 -119.66666666666666 L 302.0 -129.66666666666666" style="stroke-width:0.7;"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-120.0">
+          gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_set
+        </text>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_hash_range_hashing_seq_diagram.png b/libstdc++-v3/doc/xml/images/pbds_hash_range_hashing_seq_diagram.png
new file mode 100644 (file)
index 0000000..5c37407
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_hash_range_hashing_seq_diagram.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_hash_range_hashing_seq_diagram2.png b/libstdc++-v3/doc/xml/images/pbds_hash_range_hashing_seq_diagram2.png
new file mode 100644 (file)
index 0000000..87763ca
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_hash_range_hashing_seq_diagram2.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_hash_ranged_hash_range_hashing_fns.png b/libstdc++-v3/doc/xml/images/pbds_hash_ranged_hash_range_hashing_fns.png
new file mode 100644 (file)
index 0000000..5e0d7f4
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_hash_ranged_hash_range_hashing_fns.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_hash_zlob_random_int_find_timing_test_local.pdf b/libstdc++-v3/doc/xml/images/pbds_hash_zlob_random_int_find_timing_test_local.pdf
new file mode 100644 (file)
index 0000000..63d1807
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_hash_zlob_random_int_find_timing_test_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_hash_zlob_random_int_find_timing_test_local.png b/libstdc++-v3/doc/xml/images/pbds_hash_zlob_random_int_find_timing_test_local.png
new file mode 100644 (file)
index 0000000..9119cd1
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_hash_zlob_random_int_find_timing_test_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_hash_zlob_random_int_find_timing_test_local.svg b/libstdc++-v3/doc/xml/images/pbds_hash_zlob_random_int_find_timing_test_local.svg
new file mode 100644 (file)
index 0000000..c259441
--- /dev/null
@@ -0,0 +1,560 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 436.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 331.25714285714287 -427.41304550465907 L 338.4 -434.55590264751623 L 345.54285714285714 -427.41304550465907 L 338.4 -420.27018836180196 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 369.65714285714284 -427.91511711254185 L 376.8 -435.057974255399 L 383.9428571428571 -427.91511711254185 L 376.8 -420.7722599696847 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 408.0571428571429 -395.78253420804793 L 415.2 -402.9253913509051 L 422.34285714285716 -395.78253420804793 L 415.2 -388.63967706519077 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 446.45714285714286 -427.2546454480877 L 453.6 -434.3975025909448 L 460.74285714285713 -427.2546454480877 L 453.6 -420.1117883052305 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 484.8571428571429 -455.8133270761882 L 492.0 -462.9561842190454 L 499.1428571428571 -455.8133270761882 L 492.0 -448.6704699333311 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 523.2571428571429 -403.7923442115515 L 530.4 -410.9352013544086 L 537.5428571428572 -403.7923442115515 L 530.4 -396.6494870686943 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 561.6571428571428 -428.23686722745254 L 568.8 -435.3797243703097 L 575.9428571428572 -428.23686722745254 L 568.8 -421.0940100845954 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 600.0571428571428 -455.73978419278006 L 607.2 -462.88264133563723 L 614.3428571428572 -455.73978419278006 L 607.2 -448.5969270499229 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 638.4571428571428 -486.59809521360546 L 645.6 -493.74095235646257 L 652.7428571428572 -486.59809521360546 L 645.6 -479.4552380707483 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 676.8571428571429 -520.0 L 684.0 -527.1428571428571 L 691.1428571428571 -520.0 L 684.0 -512.8571428571429 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 332.15 -314.58524770901704 L 344.65 -314.58524770901704 L 338.4 -324.58524770901704 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 370.55 -316.8586420923722 L 383.05 -316.8586420923722 L 376.8 -326.8586420923722 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 408.95 -312.96136427191584 L 421.45 -312.96136427191584 L 415.2 -322.96136427191584 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 447.35 -315.2516593755926 L 459.85 -315.2516593755926 L 453.6 -325.2516593755926 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 485.75 -312.16660613093075 L 498.25 -312.16660613093075 L 492.0 -322.16660613093075 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 524.15 -313.5827309224039 L 536.65 -313.5827309224039 L 530.4 -323.5827309224039 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 562.55 -314.2230490082318 L 575.05 -314.2230490082318 L 568.8 -324.2230490082318 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 600.95 -315.42632372368706 L 613.45 -315.42632372368706 L 607.2 -325.42632372368706 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 639.35 -312.1963061415379 L 651.85 -312.1963061415379 L 645.6 -322.1963061415379 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 677.75 -312.96150570053777 L 690.25 -312.96150570053777 L 684.0 -322.96150570053777 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 338.4 -317.1112368254417 M 342.4 -317.1112368254417 L 342.4 -317.111 M 342.4 -317.111 A 4 4 0 1 0 334.4 -317.111 A 4 4 0 1 0 342.4 -317.111 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 376.8 -315.2160225771509 M 380.8 -315.2160225771509 L 380.8 -315.216 M 380.8 -315.216 A 4 4 0 1 0 372.8 -315.216 A 4 4 0 1 0 380.8 -315.216 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 415.2 -314.87609888432104 M 419.2 -314.87609888432104 L 419.2 -314.876 M 419.2 -314.876 A 4 4 0 1 0 411.2 -314.876 A 4 4 0 1 0 419.2 -314.876 Z"/>
+    </clipPath>
+    <clipPath id="clip30">
+      <path d="M 453.6 -316.4453201590429 M 457.6 -316.4453201590429 L 457.6 -316.445 M 457.6 -316.445 A 4 4 0 1 0 449.6 -316.445 A 4 4 0 1 0 457.6 -316.445 Z"/>
+    </clipPath>
+    <clipPath id="clip31">
+      <path d="M 492.0 -315.1061325379045 M 496.0 -315.1061325379045 L 496 -315.106 M 496 -315.106 A 4 4 0 1 0 488 -315.106 A 4 4 0 1 0 496 -315.106 Z"/>
+    </clipPath>
+    <clipPath id="clip32">
+      <path d="M 530.4 -315.9192056854306 M 534.4 -315.9192056854306 L 534.4 -315.919 M 534.4 -315.919 A 4 4 0 1 0 526.4 -315.919 A 4 4 0 1 0 534.4 -315.919 Z"/>
+    </clipPath>
+    <clipPath id="clip33">
+      <path d="M 568.8 -315.31961904272106 M 572.8 -315.31961904272106 L 572.8 -315.32 M 572.8 -315.32 A 4 4 0 1 0 564.8 -315.32 A 4 4 0 1 0 572.8 -315.32 Z"/>
+    </clipPath>
+    <clipPath id="clip34">
+      <path d="M 607.2 -314.8980910350325 M 611.2 -314.8980910350325 L 611.2 -314.898 M 611.2 -314.898 A 4 4 0 1 0 603.2 -314.898 A 4 4 0 1 0 611.2 -314.898 Z"/>
+    </clipPath>
+    <clipPath id="clip35">
+      <path d="M 645.6 -315.60000128571477 M 649.6 -315.60000128571477 L 649.6 -315.6 M 649.6 -315.6 A 4 4 0 1 0 641.6 -315.6 A 4 4 0 1 0 649.6 -315.6 Z"/>
+    </clipPath>
+    <clipPath id="clip36">
+      <path d="M 684.0 -315.39485906959254 M 688.0 -315.39485906959254 L 688 -315.395 M 688 -315.395 A 4 4 0 1 0 680 -315.395 A 4 4 0 1 0 688 -315.395 Z"/>
+    </clipPath>
+    <clipPath id="clip37">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip38">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip39">
+      <path d="M 338.4 -304.3340769050275 L 332.15 -314.3340769050275 L 344.65 -314.3340769050275 Z"/>
+    </clipPath>
+    <clipPath id="clip40">
+      <path d="M 376.8 -306.87470066953597 L 370.55 -316.87470066953597 L 383.05 -316.87470066953597 Z"/>
+    </clipPath>
+    <clipPath id="clip41">
+      <path d="M 415.2 -306.0968432488726 L 408.95 -316.0968432488726 L 421.45 -316.0968432488726 Z"/>
+    </clipPath>
+    <clipPath id="clip42">
+      <path d="M 453.6 -307.9735303476894 L 447.35 -317.9735303476894 L 459.85 -317.9735303476894 Z"/>
+    </clipPath>
+    <clipPath id="clip43">
+      <path d="M 492.0 -305.54562519486615 L 485.75 -315.54562519486615 L 498.25 -315.54562519486615 Z"/>
+    </clipPath>
+    <clipPath id="clip44">
+      <path d="M 530.4 -306.09245896159246 L 524.15 -316.09245896159246 L 536.65 -316.09245896159246 Z"/>
+    </clipPath>
+    <clipPath id="clip45">
+      <path d="M 568.8 -306.85475923384257 L 562.55 -316.85475923384257 L 575.05 -316.85475923384257 Z"/>
+    </clipPath>
+    <clipPath id="clip46">
+      <path d="M 607.2 -307.21589721996327 L 600.95 -317.21589721996327 L 613.45 -317.21589721996327 Z"/>
+    </clipPath>
+    <clipPath id="clip47">
+      <path d="M 645.6 -305.52335018691076 L 639.35 -315.52335018691076 L 651.85 -315.52335018691076 Z"/>
+    </clipPath>
+    <clipPath id="clip48">
+      <path d="M 684.0 -306.07980109992894 L 677.75 -316.07980109992894 L 690.25 -316.07980109992894 Z"/>
+    </clipPath>
+    <clipPath id="clip49">
+      <path d="M 290 -114 L 290 -188 L 324 -188 L 324 -114 Z"/>
+    </clipPath>
+    <clipPath id="clip50">
+      <path d="M 299.85714285714283 -178.66666666666669 L 307.0 -185.8095238095238 L 314.14285714285717 -178.66666666666669 L 307.0 -171.52380952380952 Z"/>
+    </clipPath>
+    <clipPath id="clip51">
+      <path d="M 300.75 -155.66666666666666 L 313.25 -155.66666666666666 L 307.0 -165.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip52">
+      <path d="M 307.0 -142.66666666666666 M 311.0 -142.66666666666666 L 311 -142.667 M 311 -142.667 A 4 4 0 1 0 303 -142.667 A 4 4 0 1 0 311 -142.667 Z"/>
+    </clipPath>
+    <clipPath id="clip53">
+      <path d="M 307.0 -119.66666666666666 L 300.75 -129.66666666666666 L 313.25 -129.66666666666666 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      6.22e-08
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      1.24e-07
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      1.87e-07
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      2.49e-07
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      3.11e-07
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -427.41304550465907 L 376.8 -427.91511711254185 L 415.2 -395.78253420804793 L 453.6 -427.2546454480877 L 492.0 -455.8133270761882 L 530.4 -403.7923442115515 L 568.8 -428.23686722745254 L 607.2 -455.73978419278006 L 645.6 -486.59809521360546 L 684.0 -520.0" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 331.25714285714287 -420.27018836180196 L 331.25714285714287 -434.55590264751623 L 345.54285714285714 -434.55590264751623 L 345.54285714285714 -420.27018836180196 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 331.25714285714287 -427.41304550465907 L 338.4 -434.55590264751623 L 345.54285714285714 -427.41304550465907 L 338.4 -420.27018836180196 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 369.65714285714284 -420.7722599696847 L 369.65714285714284 -435.057974255399 L 383.9428571428571 -435.057974255399 L 383.9428571428571 -420.7722599696847 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 369.65714285714284 -427.91511711254185 L 376.8 -435.057974255399 L 383.9428571428571 -427.91511711254185 L 376.8 -420.7722599696847 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 408.0571428571429 -388.63967706519077 L 408.0571428571429 -402.9253913509051 L 422.34285714285716 -402.9253913509051 L 422.34285714285716 -388.63967706519077 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.0571428571429 -395.78253420804793 L 415.2 -402.9253913509051 L 422.34285714285716 -395.78253420804793 L 415.2 -388.63967706519077 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 446.45714285714286 -420.1117883052305 L 446.45714285714286 -434.3975025909448 L 460.74285714285713 -434.3975025909448 L 460.74285714285713 -420.1117883052305 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 446.45714285714286 -427.2546454480877 L 453.6 -434.3975025909448 L 460.74285714285713 -427.2546454480877 L 453.6 -420.1117883052305 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 484.8571428571429 -448.6704699333311 L 484.8571428571429 -462.9561842190454 L 499.1428571428571 -462.9561842190454 L 499.1428571428571 -448.6704699333311 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 484.8571428571429 -455.8133270761882 L 492.0 -462.9561842190454 L 499.1428571428571 -455.8133270761882 L 492.0 -448.6704699333311 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 523.2571428571429 -396.6494870686943 L 523.2571428571429 -410.9352013544086 L 537.5428571428572 -410.9352013544086 L 537.5428571428572 -396.6494870686943 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 523.2571428571429 -403.7923442115515 L 530.4 -410.9352013544086 L 537.5428571428572 -403.7923442115515 L 530.4 -396.6494870686943 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 561.6571428571428 -421.0940100845954 L 561.6571428571428 -435.3797243703097 L 575.9428571428572 -435.3797243703097 L 575.9428571428572 -421.0940100845954 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 561.6571428571428 -428.23686722745254 L 568.8 -435.3797243703097 L 575.9428571428572 -428.23686722745254 L 568.8 -421.0940100845954 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 600.0571428571428 -448.5969270499229 L 600.0571428571428 -462.88264133563723 L 614.3428571428572 -462.88264133563723 L 614.3428571428572 -448.5969270499229 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.0571428571428 -455.73978419278006 L 607.2 -462.88264133563723 L 614.3428571428572 -455.73978419278006 L 607.2 -448.5969270499229 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 638.4571428571428 -479.4552380707483 L 638.4571428571428 -493.74095235646257 L 652.7428571428572 -493.74095235646257 L 652.7428571428572 -479.4552380707483 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 638.4571428571428 -486.59809521360546 L 645.6 -493.74095235646257 L 652.7428571428572 -486.59809521360546 L 645.6 -479.4552380707483 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 676.8571428571429 -512.8571428571429 L 676.8571428571429 -527.1428571428571 L 691.1428571428571 -527.1428571428571 L 691.1428571428571 -512.8571428571429 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 676.8571428571429 -520.0 L 684.0 -527.1428571428571 L 691.1428571428571 -520.0 L 684.0 -512.8571428571429 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 338.4 -319.58524770901704 L 376.8 -321.8586420923722 L 415.2 -317.96136427191584 L 453.6 -320.2516593755926 L 492.0 -317.16660613093075 L 530.4 -318.5827309224039 L 568.8 -319.2230490082318 L 607.2 -320.42632372368706 L 645.6 -317.1963061415379 L 684.0 -317.96150570053777" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 332.15 -314.58524770901704 L 332.15 -324.58524770901704 L 344.65 -324.58524770901704 L 344.65 -314.58524770901704 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 332.15 -314.58524770901704 L 344.65 -314.58524770901704 L 338.4 -324.58524770901704 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 370.55 -316.8586420923722 L 370.55 -326.8586420923722 L 383.05 -326.8586420923722 L 383.05 -316.8586420923722 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 370.55 -316.8586420923722 L 383.05 -316.8586420923722 L 376.8 -326.8586420923722 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 408.95 -312.96136427191584 L 408.95 -322.96136427191584 L 421.45 -322.96136427191584 L 421.45 -312.96136427191584 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.95 -312.96136427191584 L 421.45 -312.96136427191584 L 415.2 -322.96136427191584 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 447.35 -315.2516593755926 L 447.35 -325.2516593755926 L 459.85 -325.2516593755926 L 459.85 -315.2516593755926 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 447.35 -315.2516593755926 L 459.85 -315.2516593755926 L 453.6 -325.2516593755926 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 485.75 -312.16660613093075 L 485.75 -322.16660613093075 L 498.25 -322.16660613093075 L 498.25 -312.16660613093075 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 485.75 -312.16660613093075 L 498.25 -312.16660613093075 L 492.0 -322.16660613093075 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 524.15 -313.5827309224039 L 524.15 -323.5827309224039 L 536.65 -323.5827309224039 L 536.65 -313.5827309224039 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 524.15 -313.5827309224039 L 536.65 -313.5827309224039 L 530.4 -323.5827309224039 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 562.55 -314.2230490082318 L 562.55 -324.2230490082318 L 575.05 -324.2230490082318 L 575.05 -314.2230490082318 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 562.55 -314.2230490082318 L 575.05 -314.2230490082318 L 568.8 -324.2230490082318 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 600.95 -315.42632372368706 L 600.95 -325.42632372368706 L 613.45 -325.42632372368706 L 613.45 -315.42632372368706 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.95 -315.42632372368706 L 613.45 -315.42632372368706 L 607.2 -325.42632372368706 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 639.35 -312.1963061415379 L 639.35 -322.1963061415379 L 651.85 -322.1963061415379 L 651.85 -312.1963061415379 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 639.35 -312.1963061415379 L 651.85 -312.1963061415379 L 645.6 -322.1963061415379 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 677.75 -312.96150570053777 L 677.75 -322.96150570053777 L 690.25 -322.96150570053777 L 690.25 -312.96150570053777 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 677.75 -312.96150570053777 L 690.25 -312.96150570053777 L 684.0 -322.96150570053777 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 338.4 -317.1112368254417 L 376.8 -315.2160225771509 L 415.2 -314.87609888432104 L 453.6 -316.4453201590429 L 492.0 -315.1061325379045 L 530.4 -315.9192056854306 L 568.8 -315.31961904272106 L 607.2 -314.8980910350325 L 645.6 -315.60000128571477 L 684.0 -315.39485906959254" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip27);">
+          <path d="M 330.4 -309.1112368254417 L 330.4 -325.1112368254417 L 346.4 -325.1112368254417 L 346.4 -309.1112368254417 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -317.1112368254417 M 342.4 -317.1112368254417 L 342.4 -317.111 M 342.4 -317.111 A 4 4 0 1 0 334.4 -317.111 A 4 4 0 1 0 342.4 -317.111 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip28);">
+            <path d="M 368.8 -307.2160225771509 L 368.8 -323.2160225771509 L 384.8 -323.2160225771509 L 384.8 -307.2160225771509 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -315.2160225771509 M 380.8 -315.2160225771509 L 380.8 -315.216 M 380.8 -315.216 A 4 4 0 1 0 372.8 -315.216 A 4 4 0 1 0 380.8 -315.216 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+              <path d="M 407.2 -306.87609888432104 L 407.2 -322.87609888432104 L 423.2 -322.87609888432104 L 423.2 -306.87609888432104 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -314.87609888432104 M 419.2 -314.87609888432104 L 419.2 -314.876 M 419.2 -314.876 A 4 4 0 1 0 411.2 -314.876 A 4 4 0 1 0 419.2 -314.876 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip30);">
+                <path d="M 445.6 -308.4453201590429 L 445.6 -324.4453201590429 L 461.6 -324.4453201590429 L 461.6 -308.4453201590429 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -316.4453201590429 M 457.6 -316.4453201590429 L 457.6 -316.445 M 457.6 -316.445 A 4 4 0 1 0 449.6 -316.445 A 4 4 0 1 0 457.6 -316.445 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip31);">
+                  <path d="M 484.0 -307.1061325379045 L 484.0 -323.1061325379045 L 500.0 -323.1061325379045 L 500.0 -307.1061325379045 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -315.1061325379045 M 496.0 -315.1061325379045 L 496 -315.106 M 496 -315.106 A 4 4 0 1 0 488 -315.106 A 4 4 0 1 0 496 -315.106 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip32);">
+                    <path d="M 522.4 -307.9192056854306 L 522.4 -323.9192056854306 L 538.4 -323.9192056854306 L 538.4 -307.9192056854306 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -315.9192056854306 M 534.4 -315.9192056854306 L 534.4 -315.919 M 534.4 -315.919 A 4 4 0 1 0 526.4 -315.919 A 4 4 0 1 0 534.4 -315.919 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip33);">
+                      <path d="M 560.8 -307.31961904272106 L 560.8 -323.3196190427211 L 576.8 -323.3196190427211 L 576.8 -307.31961904272106 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -315.31961904272106 M 572.8 -315.31961904272106 L 572.8 -315.32 M 572.8 -315.32 A 4 4 0 1 0 564.8 -315.32 A 4 4 0 1 0 572.8 -315.32 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip34);">
+                        <path d="M 599.2 -306.8980910350325 L 599.2 -322.8980910350325 L 615.2 -322.8980910350325 L 615.2 -306.8980910350325 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -314.8980910350325 M 611.2 -314.8980910350325 L 611.2 -314.898 M 611.2 -314.898 A 4 4 0 1 0 603.2 -314.898 A 4 4 0 1 0 611.2 -314.898 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip35);">
+                          <path d="M 637.6 -307.60000128571477 L 637.6 -323.60000128571477 L 653.6 -323.60000128571477 L 653.6 -307.60000128571477 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -315.60000128571477 M 649.6 -315.60000128571477 L 649.6 -315.6 M 649.6 -315.6 A 4 4 0 1 0 641.6 -315.6 A 4 4 0 1 0 649.6 -315.6 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip36);">
+                            <path d="M 676.0 -307.39485906959254 L 676.0 -323.39485906959254 L 692.0 -323.39485906959254 L 692.0 -307.39485906959254 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -315.39485906959254 M 688.0 -315.39485906959254 L 688 -315.395 M 688 -315.395 A 4 4 0 1 0 680 -315.395 A 4 4 0 1 0 688 -315.395 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip37);">
+        <path d="M 338.4 -309.3340769050275 L 376.8 -311.87470066953597 L 415.2 -311.0968432488726 L 453.6 -312.9735303476894 L 492.0 -310.54562519486615 L 530.4 -311.09245896159246 L 568.8 -311.85475923384257 L 607.2 -312.21589721996327 L 645.6 -310.52335018691076 L 684.0 -311.07980109992894" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip38);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip39);">
+          <path d="M 332.15 -304.3340769050275 L 332.15 -314.3340769050275 L 344.65 -314.3340769050275 L 344.65 -304.3340769050275 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -304.3340769050275 L 332.15 -314.3340769050275 L 344.65 -314.3340769050275 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip40);">
+            <path d="M 370.55 -306.87470066953597 L 370.55 -316.87470066953597 L 383.05 -316.87470066953597 L 383.05 -306.87470066953597 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -306.87470066953597 L 370.55 -316.87470066953597 L 383.05 -316.87470066953597 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip41);">
+              <path d="M 408.95 -306.0968432488726 L 408.95 -316.0968432488726 L 421.45 -316.0968432488726 L 421.45 -306.0968432488726 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -306.0968432488726 L 408.95 -316.0968432488726 L 421.45 -316.0968432488726 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip42);">
+                <path d="M 447.35 -307.9735303476894 L 447.35 -317.9735303476894 L 459.85 -317.9735303476894 L 459.85 -307.9735303476894 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -307.9735303476894 L 447.35 -317.9735303476894 L 459.85 -317.9735303476894 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip43);">
+                  <path d="M 485.75 -305.54562519486615 L 485.75 -315.54562519486615 L 498.25 -315.54562519486615 L 498.25 -305.54562519486615 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -305.54562519486615 L 485.75 -315.54562519486615 L 498.25 -315.54562519486615 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip44);">
+                    <path d="M 524.15 -306.09245896159246 L 524.15 -316.09245896159246 L 536.65 -316.09245896159246 L 536.65 -306.09245896159246 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -306.09245896159246 L 524.15 -316.09245896159246 L 536.65 -316.09245896159246 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip45);">
+                      <path d="M 562.55 -306.85475923384257 L 562.55 -316.85475923384257 L 575.05 -316.85475923384257 L 575.05 -306.85475923384257 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -306.85475923384257 L 562.55 -316.85475923384257 L 575.05 -316.85475923384257 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip46);">
+                        <path d="M 600.95 -307.21589721996327 L 600.95 -317.21589721996327 L 613.45 -317.21589721996327 L 613.45 -307.21589721996327 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -307.21589721996327 L 600.95 -317.21589721996327 L 613.45 -317.21589721996327 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip47);">
+                          <path d="M 639.35 -305.52335018691076 L 639.35 -315.52335018691076 L 651.85 -315.52335018691076 L 651.85 -305.52335018691076 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -305.52335018691076 L 639.35 -315.52335018691076 L 651.85 -315.52335018691076 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip48);">
+                            <path d="M 677.75 -306.07980109992894 L 677.75 -316.07980109992894 L 690.25 -316.07980109992894 L 690.25 -306.07980109992894 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -306.07980109992894 L 677.75 -316.07980109992894 L 690.25 -316.07980109992894 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip49);">
+      <path d="M 290 -114 L 290 -188 L 324 -188 L 324 -114 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -178.66666666666669 L 314 -178.66666666666669" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip50);">
+      <path d="M 299.85714285714283 -171.52380952380952 L 299.85714285714283 -185.8095238095238 L 314.14285714285717 -185.8095238095238 L 314.14285714285717 -171.52380952380952 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 299.85714285714283 -178.66666666666669 L 307.0 -185.8095238095238 L 314.14285714285717 -178.66666666666669 L 307.0 -171.52380952380952 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-174.0">
+        cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map
+      </text>
+      <path d="M 300 -160.66666666666666 L 314 -160.66666666666666" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip51);">
+        <path d="M 300.75 -155.66666666666666 L 300.75 -165.66666666666666 L 313.25 -165.66666666666666 L 313.25 -155.66666666666666 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 300.75 -155.66666666666666 L 313.25 -155.66666666666666 L 307.0 -165.66666666666666 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-156.0">
+          gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map
+        </text>
+        <path d="M 300 -142.66666666666666 L 314 -142.66666666666666" style="stroke-width:2;"/>
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip52);">
+          <path d="M 299.0 -134.66666666666666 L 299.0 -150.66666666666666 L 315.0 -150.66666666666666 L 315.0 -134.66666666666666 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 307.0 -142.66666666666666 M 311.0 -142.66666666666666 L 311 -142.667 M 311 -142.667 A 4 4 0 1 0 303 -142.667 A 4 4 0 1 0 311 -142.667 Z"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-138.0">
+            n_hash_map_ncah
+          </text>
+          <path d="M 300 -124.66666666666666 L 314 -124.66666666666666" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip53);">
+            <path d="M 300.75 -119.66666666666666 L 300.75 -129.66666666666666 L 313.25 -129.66666666666666 L 313.25 -119.66666666666666 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 307.0 -119.66666666666666 L 300.75 -129.66666666666666 L 313.25 -129.66666666666666 Z"/>
+            <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-120.0">
+              cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map
+            </text>
+          </g>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_insert_resize_sequence_diagram1.png b/libstdc++-v3/doc/xml/images/pbds_insert_resize_sequence_diagram1.png
new file mode 100644 (file)
index 0000000..f64764e
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_insert_resize_sequence_diagram1.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_insert_resize_sequence_diagram2.png b/libstdc++-v3/doc/xml/images/pbds_insert_resize_sequence_diagram2.png
new file mode 100644 (file)
index 0000000..e464597
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_insert_resize_sequence_diagram2.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_insert_resize_sequence_diagram3.png b/libstdc++-v3/doc/xml/images/pbds_insert_resize_sequence_diagram3.png
new file mode 100644 (file)
index 0000000..5535c5f
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_insert_resize_sequence_diagram3.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_invalidation_guarantee_erase.png b/libstdc++-v3/doc/xml/images/pbds_invalidation_guarantee_erase.png
new file mode 100644 (file)
index 0000000..940a27f
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_invalidation_guarantee_erase.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_invalidation_tag_hierarchy.pdf b/libstdc++-v3/doc/xml/images/pbds_invalidation_tag_hierarchy.pdf
new file mode 100644 (file)
index 0000000..39e4e2c
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_invalidation_tag_hierarchy.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_invalidation_tag_hierarchy.png b/libstdc++-v3/doc/xml/images/pbds_invalidation_tag_hierarchy.png
new file mode 100644 (file)
index 0000000..570a70d
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_invalidation_tag_hierarchy.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_invalidation_tag_hierarchy.svg b/libstdc++-v3/doc/xml/images/pbds_invalidation_tag_hierarchy.svg
new file mode 100644 (file)
index 0000000..46ebb3d
--- /dev/null
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.26.3 (20100126.1600)
+ -->
+<!-- Title: G Pages: 1 -->
+<svg width="224pt" height="146pt" viewBox="0.00 0.00 224.00 146.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph1" class="graph" transform="scale(1) rotate(0) translate(4, 142)">
+<title>G</title>
+<polygon fill="white" stroke="white" points="-4,5 -4,-142 221,-142 221,5 -4,5"/>
+<!-- Node1 -->
+<g id="node1" class="node"><title>Node1</title>
+<polygon fill="#bfbfbf" stroke="black" points="1,-117 1,-137 215,-137 215,-117 1,-117"/>
+<text text-anchor="middle" x="108" y="-124.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::basic_invalidation_guarantee</text>
+</g>
+<!-- Node2 -->
+<g id="node3" class="node"><title>Node2</title>
+<a xlink:href="a00351.html" target="_top" xlink:title="__gnu_pbds::point_invalidation_guarantee">
+<polygon fill="white" stroke="black" points="1.5,-59 1.5,-79 214.5,-79 214.5,-59 1.5,-59"/>
+<text text-anchor="middle" x="108" y="-66.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::point_invalidation_guarantee</text>
+</a>
+</g>
+<!-- Node1&#45;&gt;Node2 -->
+<g id="edge2" class="edge"><title>Node1-&gt;Node2</title>
+<path fill="none" stroke="midnightblue" d="M108,-106.89C108,-97.6201 108,-87.0083 108,-79.3776"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="104.5,-106.897 108,-116.897 111.5,-106.897 104.5,-106.897"/>
+</g>
+<!-- Node3 -->
+<g id="node5" class="node"><title>Node3</title>
+<a xlink:href="a00355.html" target="_top" xlink:title="__gnu_pbds::range_invalidation_guarantee">
+<polygon fill="white" stroke="black" points="-0.5,-1 -0.5,-21 216.5,-21 216.5,-1 -0.5,-1"/>
+<text text-anchor="middle" x="108" y="-8.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::range_invalidation_guarantee</text>
+</a>
+</g>
+<!-- Node2&#45;&gt;Node3 -->
+<g id="edge4" class="edge"><title>Node2-&gt;Node3</title>
+<path fill="none" stroke="midnightblue" d="M108,-48.8902C108,-39.6201 108,-29.0083 108,-21.3776"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="104.5,-48.8971 108,-58.8972 111.5,-48.8972 104.5,-48.8971"/>
+</g>
+</g>
+</svg>
\ No newline at end of file
diff --git a/libstdc++-v3/doc/xml/images/pbds_list_update.png b/libstdc++-v3/doc/xml/images/pbds_list_update.png
new file mode 100644 (file)
index 0000000..7c96dca
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_list_update.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_hash_local.pdf b/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_hash_local.pdf
new file mode 100644 (file)
index 0000000..65b9b30
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_hash_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_hash_local.png b/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_hash_local.png
new file mode 100644 (file)
index 0000000..4087782
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_hash_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_hash_local.svg b/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_hash_local.svg
new file mode 100644 (file)
index 0000000..563fc89
--- /dev/null
@@ -0,0 +1,239 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 416.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 357.6 -352.28267637128954 M 361.6 -352.28267637128954 L 361.6 -352.283 M 361.6 -352.283 A 4 4 0 1 0 353.6 -352.283 A 4 4 0 1 0 361.6 -352.283 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 434.4 -392.65813127548563 M 438.4 -392.65813127548563 L 438.4 -392.658 M 438.4 -392.658 A 4 4 0 1 0 430.4 -392.658 A 4 4 0 1 0 438.4 -392.658 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 511.2 -436.7246897882229 M 515.2 -436.7246897882229 L 515.2 -436.725 M 515.2 -436.725 A 4 4 0 1 0 507.2 -436.725 A 4 4 0 1 0 515.2 -436.725 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 588.0 -473.31161485508835 M 592.0 -473.31161485508835 L 592 -473.312 M 592 -473.312 A 4 4 0 1 0 584 -473.312 A 4 4 0 1 0 592 -473.312 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 664.8 -520.0 M 668.8 -520.0 L 668.8 -520 M 668.8 -520 A 4 4 0 1 0 660.8 -520 A 4 4 0 1 0 668.8 -520 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 307.0 -236.66666666666666 M 311.0 -236.66666666666666 L 311 -236.667 M 311 -236.667 A 4 4 0 1 0 303 -236.667 A 4 4 0 1 0 311 -236.667 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      9.12e-08
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      1.82e-07
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      2.74e-07
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      3.65e-07
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      4.56e-07
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 357.6 -352.28267637128954 L 434.4 -392.65813127548563 L 511.2 -436.7246897882229 L 588.0 -473.31161485508835 L 664.8 -520.0" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 349.6 -344.28267637128954 L 349.6 -360.28267637128954 L 365.6 -360.28267637128954 L 365.6 -344.28267637128954 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 357.6 -352.28267637128954 M 361.6 -352.28267637128954 L 361.6 -352.283 M 361.6 -352.283 A 4 4 0 1 0 353.6 -352.283 A 4 4 0 1 0 361.6 -352.283 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 426.4 -384.65813127548563 L 426.4 -400.65813127548563 L 442.4 -400.65813127548563 L 442.4 -384.65813127548563 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 434.4 -392.65813127548563 M 438.4 -392.65813127548563 L 438.4 -392.658 M 438.4 -392.658 A 4 4 0 1 0 430.4 -392.658 A 4 4 0 1 0 438.4 -392.658 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 503.2 -428.7246897882229 L 503.2 -444.7246897882229 L 519.2 -444.7246897882229 L 519.2 -428.7246897882229 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 511.2 -436.7246897882229 M 515.2 -436.7246897882229 L 515.2 -436.725 M 515.2 -436.725 A 4 4 0 1 0 507.2 -436.725 A 4 4 0 1 0 515.2 -436.725 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 580.0 -465.31161485508835 L 580.0 -481.31161485508835 L 596.0 -481.31161485508835 L 596.0 -465.31161485508835 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 588.0 -473.31161485508835 M 592.0 -473.31161485508835 L 592 -473.312 M 592 -473.312 A 4 4 0 1 0 584 -473.312 A 4 4 0 1 0 592 -473.312 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 656.8 -512.0 L 656.8 -528.0 L 672.8 -528.0 L 672.8 -512.0 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 664.8 -520.0 M 668.8 -520.0 L 668.8 -520 M 668.8 -520 A 4 4 0 1 0 660.8 -520 A 4 4 0 1 0 668.8 -520 Z"/>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip8);">
+        <path d="M 357.6 -319.2265839435261 L 434.4 -322.2206077081598 L 511.2 -326.16313851010653 L 588.0 -331.68599991230764 L 664.8 -337.375402288771" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip9);">
+        <path d="M 352.6 -314.2265839435261 L 362.6 -324.2265839435261" style="stroke-width:0.7;"/>
+        <path d="M 362.6 -314.2265839435261 L 352.6 -324.2265839435261" style="stroke-width:0.7;"/>
+        <path d="M 429.4 -317.2206077081598 L 439.4 -327.2206077081598" style="stroke-width:0.7;"/>
+        <path d="M 439.4 -317.2206077081598 L 429.4 -327.2206077081598" style="stroke-width:0.7;"/>
+        <path d="M 506.2 -321.16313851010653 L 516.2 -331.16313851010653" style="stroke-width:0.7;"/>
+        <path d="M 516.2 -321.16313851010653 L 506.2 -331.16313851010653" style="stroke-width:0.7;"/>
+        <path d="M 583.0 -326.68599991230764 L 593.0 -336.68599991230764" style="stroke-width:0.7;"/>
+        <path d="M 593.0 -326.68599991230764 L 583.0 -336.68599991230764" style="stroke-width:0.7;"/>
+        <path d="M 659.8 -332.375402288771 L 669.8 -342.375402288771" style="stroke-width:0.7;"/>
+        <path d="M 669.8 -332.375402288771 L 659.8 -342.375402288771" style="stroke-width:0.7;"/>
+      </g>
+      <g style="clip-path:url(#clip10);">
+        <path d="M 357.6 -320.4353926426097 L 434.4 -321.22165124742406 L 511.2 -321.2458631122024 L 588.0 -322.2087911606086 L 664.8 -321.7055026965405" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip11);">
+        <path d="M 352.6 -315.4353926426097 L 362.6 -325.4353926426097" style="stroke-width:0.7;"/>
+        <path d="M 362.6 -315.4353926426097 L 352.6 -325.4353926426097" style="stroke-width:0.7;"/>
+        <path d="M 429.4 -316.22165124742406 L 439.4 -326.22165124742406" style="stroke-width:0.7;"/>
+        <path d="M 439.4 -316.22165124742406 L 429.4 -326.22165124742406" style="stroke-width:0.7;"/>
+        <path d="M 506.2 -316.2458631122024 L 516.2 -326.2458631122024" style="stroke-width:0.7;"/>
+        <path d="M 516.2 -316.2458631122024 L 506.2 -326.2458631122024" style="stroke-width:0.7;"/>
+        <path d="M 583.0 -317.2087911606086 L 593.0 -327.2087911606086" style="stroke-width:0.7;"/>
+        <path d="M 593.0 -317.2087911606086 L 583.0 -327.2087911606086" style="stroke-width:0.7;"/>
+        <path d="M 659.8 -316.7055026965405 L 669.8 -326.7055026965405" style="stroke-width:0.7;"/>
+        <path d="M 669.8 -316.7055026965405 L 659.8 -326.7055026965405" style="stroke-width:0.7;"/>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -236.66666666666666 L 314 -236.66666666666666" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip13);">
+      <path d="M 299.0 -228.66666666666666 L 299.0 -244.66666666666666 L 315.0 -244.66666666666666 L 315.0 -228.66666666666666 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -236.66666666666666 M 311.0 -236.66666666666666 L 311 -236.667 M 311 -236.667 A 4 4 0 1 0 303 -236.667 A 4 4 0 1 0 311 -236.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-232.0">
+        n_hash_mmap
+      </text>
+      <path d="M 300 -218.66666666666669 L 314 -218.66666666666669" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      <path d="M 302.0 -213.66666666666669 L 312.0 -223.66666666666669" style="stroke-width:0.7;"/>
+      <path d="M 312.0 -213.66666666666669 L 302.0 -223.66666666666669" style="stroke-width:0.7;"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-214.0">
+        cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_
+      </text>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-200.0">
+        mmap_
+      </text>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-186.0">
+        lu_mtf_set
+      </text>
+      <path d="M 300 -172.66666666666669 L 314 -172.66666666666669" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      <path d="M 302.0 -167.66666666666669 L 312.0 -177.66666666666669" style="stroke-width:0.7;"/>
+      <path d="M 312.0 -167.66666666666669 L 302.0 -177.66666666666669" style="stroke-width:0.7;"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-168.0">
+        cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_
+      </text>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-154.0">
+        mmap_
+      </text>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-140.0">
+        cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+      </text>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_tree_local.pdf b/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_tree_local.pdf
new file mode 100644 (file)
index 0000000..5669985
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_tree_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_tree_local.png b/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_tree_local.png
new file mode 100644 (file)
index 0000000..5dd805a
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_tree_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_tree_local.svg b/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_tree_local.svg
new file mode 100644 (file)
index 0000000..0bdda44
--- /dev/null
@@ -0,0 +1,281 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 416.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 357.6 -418.65912233461904 M 361.6 -418.65912233461904 L 361.6 -418.659 M 361.6 -418.659 A 4 4 0 1 0 353.6 -418.659 A 4 4 0 1 0 361.6 -418.659 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 434.4 -455.05312568226475 M 438.4 -455.05312568226475 L 438.4 -455.053 M 438.4 -455.053 A 4 4 0 1 0 430.4 -455.053 A 4 4 0 1 0 438.4 -455.053 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 511.2 -479.33192635179387 M 515.2 -479.33192635179387 L 515.2 -479.332 M 515.2 -479.332 A 4 4 0 1 0 507.2 -479.332 A 4 4 0 1 0 515.2 -479.332 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 588.0 -507.1464958882177 M 592.0 -507.1464958882177 L 592 -507.146 M 592 -507.146 A 4 4 0 1 0 584 -507.146 A 4 4 0 1 0 592 -507.146 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 664.8 -520.0 M 668.8 -520.0 L 668.8 -520 M 668.8 -520 A 4 4 0 1 0 660.8 -520 A 4 4 0 1 0 668.8 -520 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 350.45714285714286 -369.1154210028382 L 357.6 -376.2582781456954 L 364.74285714285713 -369.1154210028382 L 357.6 -361.97256385998105 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 427.25714285714287 -376.8102758168983 L 434.4 -383.95313295975546 L 441.54285714285714 -376.8102758168983 L 434.4 -369.6674186740412 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 504.0571428571428 -385.80634597190885 L 511.2 -392.949203114766 L 518.3428571428572 -385.80634597190885 L 511.2 -378.66348882905174 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 580.8571428571429 -393.1296848846518 L 588.0 -400.2725420275089 L 595.1428571428571 -393.1296848846518 L 588.0 -385.9868277417946 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 657.6571428571428 -400.48504475656796 L 664.8 -407.62790189942507 L 671.9428571428572 -400.48504475656796 L 664.8 -393.3421876137108 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 307.0 -236.66666666666666 M 311.0 -236.66666666666666 L 311 -236.667 M 311 -236.667 A 4 4 0 1 0 303 -236.667 A 4 4 0 1 0 311 -236.667 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 299.85714285714283 -218.66666666666669 L 307.0 -225.8095238095238 L 314.14285714285717 -218.66666666666669 L 307.0 -211.52380952380952 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      1.21e-07
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      2.42e-07
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      3.63e-07
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      4.84e-07
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321943">
+      6.05e-07
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 357.6 -418.65912233461904 L 434.4 -455.05312568226475 L 511.2 -479.33192635179387 L 588.0 -507.1464958882177 L 664.8 -520.0" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 349.6 -410.65912233461904 L 349.6 -426.65912233461904 L 365.6 -426.65912233461904 L 365.6 -410.65912233461904 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 357.6 -418.65912233461904 M 361.6 -418.65912233461904 L 361.6 -418.659 M 361.6 -418.659 A 4 4 0 1 0 353.6 -418.659 A 4 4 0 1 0 361.6 -418.659 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 426.4 -447.05312568226475 L 426.4 -463.05312568226475 L 442.4 -463.05312568226475 L 442.4 -447.05312568226475 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 434.4 -455.05312568226475 M 438.4 -455.05312568226475 L 438.4 -455.053 M 438.4 -455.053 A 4 4 0 1 0 430.4 -455.053 A 4 4 0 1 0 438.4 -455.053 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 503.2 -471.33192635179387 L 503.2 -487.33192635179387 L 519.2 -487.33192635179387 L 519.2 -471.33192635179387 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 511.2 -479.33192635179387 M 515.2 -479.33192635179387 L 515.2 -479.332 M 515.2 -479.332 A 4 4 0 1 0 507.2 -479.332 A 4 4 0 1 0 515.2 -479.332 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 580.0 -499.1464958882177 L 580.0 -515.1464958882177 L 596.0 -515.1464958882177 L 596.0 -499.1464958882177 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 588.0 -507.1464958882177 M 592.0 -507.1464958882177 L 592 -507.146 M 592 -507.146 A 4 4 0 1 0 584 -507.146 A 4 4 0 1 0 592 -507.146 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 656.8 -512.0 L 656.8 -528.0 L 672.8 -528.0 L 672.8 -512.0 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 664.8 -520.0 M 668.8 -520.0 L 668.8 -520 M 668.8 -520 A 4 4 0 1 0 660.8 -520 A 4 4 0 1 0 668.8 -520 Z"/>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip8);">
+        <path d="M 357.6 -369.1154210028382 L 434.4 -376.8102758168983 L 511.2 -385.80634597190885 L 588.0 -393.1296848846518 L 664.8 -400.48504475656796" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip9);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+          <path d="M 350.45714285714286 -361.97256385998105 L 350.45714285714286 -376.2582781456954 L 364.74285714285713 -376.2582781456954 L 364.74285714285713 -361.97256385998105 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 350.45714285714286 -369.1154210028382 L 357.6 -376.2582781456954 L 364.74285714285713 -369.1154210028382 L 357.6 -361.97256385998105 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+            <path d="M 427.25714285714287 -369.6674186740412 L 427.25714285714287 -383.95313295975546 L 441.54285714285714 -383.95313295975546 L 441.54285714285714 -369.6674186740412 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 427.25714285714287 -376.8102758168983 L 434.4 -383.95313295975546 L 441.54285714285714 -376.8102758168983 L 434.4 -369.6674186740412 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+              <path d="M 504.0571428571428 -378.66348882905174 L 504.0571428571428 -392.949203114766 L 518.3428571428572 -392.949203114766 L 518.3428571428572 -378.66348882905174 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 504.0571428571428 -385.80634597190885 L 511.2 -392.949203114766 L 518.3428571428572 -385.80634597190885 L 511.2 -378.66348882905174 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip13);">
+                <path d="M 580.8571428571429 -385.9868277417946 L 580.8571428571429 -400.2725420275089 L 595.1428571428571 -400.2725420275089 L 595.1428571428571 -385.9868277417946 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 580.8571428571429 -393.1296848846518 L 588.0 -400.2725420275089 L 595.1428571428571 -393.1296848846518 L 588.0 -385.9868277417946 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip14);">
+                  <path d="M 657.6571428571428 -393.3421876137108 L 657.6571428571428 -407.62790189942507 L 671.9428571428572 -407.62790189942507 L 671.9428571428572 -393.3421876137108 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 657.6571428571428 -400.48504475656796 L 664.8 -407.62790189942507 L 671.9428571428572 -400.48504475656796 L 664.8 -393.3421876137108 Z"/>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip15);">
+        <path d="M 357.6 -368.56778982606795 L 434.4 -369.4832981587948 L 511.2 -370.27108652936465 L 588.0 -371.9077941925624 L 664.8 -371.7138490648424" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip16);">
+        <path d="M 352.6 -363.56778982606795 L 362.6 -373.56778982606795" style="stroke-width:0.7;"/>
+        <path d="M 362.6 -363.56778982606795 L 352.6 -373.56778982606795" style="stroke-width:0.7;"/>
+        <path d="M 429.4 -364.4832981587948 L 439.4 -374.4832981587948" style="stroke-width:0.7;"/>
+        <path d="M 439.4 -364.4832981587948 L 429.4 -374.4832981587948" style="stroke-width:0.7;"/>
+        <path d="M 506.2 -365.27108652936465 L 516.2 -375.27108652936465" style="stroke-width:0.7;"/>
+        <path d="M 516.2 -365.27108652936465 L 506.2 -375.27108652936465" style="stroke-width:0.7;"/>
+        <path d="M 583.0 -366.9077941925624 L 593.0 -376.9077941925624" style="stroke-width:0.7;"/>
+        <path d="M 593.0 -366.9077941925624 L 583.0 -376.9077941925624" style="stroke-width:0.7;"/>
+        <path d="M 659.8 -366.7138490648424 L 669.8 -376.7138490648424" style="stroke-width:0.7;"/>
+        <path d="M 669.8 -366.7138490648424 L 659.8 -376.7138490648424" style="stroke-width:0.7;"/>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -236.66666666666666 L 314 -236.66666666666666" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+      <path d="M 299.0 -228.66666666666666 L 299.0 -244.66666666666666 L 315.0 -244.66666666666666 L 315.0 -228.66666666666666 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -236.66666666666666 M 311.0 -236.66666666666666 L 311 -236.667 M 311 -236.667 A 4 4 0 1 0 303 -236.667 A 4 4 0 1 0 311 -236.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-232.0">
+        n_mmap
+      </text>
+      <path d="M 300 -218.66666666666669 L 314 -218.66666666666669" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+        <path d="M 299.85714285714283 -211.52380952380952 L 299.85714285714283 -225.8095238095238 L 314.14285714285717 -225.8095238095238 L 314.14285714285717 -211.52380952380952 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 299.85714285714283 -218.66666666666669 L 307.0 -225.8095238095238 L 314.14285714285717 -218.66666666666669 L 307.0 -211.52380952380952 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-214.0">
+          rb_tree_
+        </text>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-200.0">
+          mmap_
+        </text>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-186.0">
+          lu_mtf_set
+        </text>
+        <path d="M 300 -172.66666666666669 L 314 -172.66666666666669" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+        <path d="M 302.0 -167.66666666666669 L 312.0 -177.66666666666669" style="stroke-width:0.7;"/>
+        <path d="M 312.0 -167.66666666666669 L 302.0 -177.66666666666669" style="stroke-width:0.7;"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-168.0">
+          rb_tree_
+        </text>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-154.0">
+          mmap_
+        </text>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-140.0">
+          cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+        </text>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_hash_local.pdf b/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_hash_local.pdf
new file mode 100644 (file)
index 0000000..258e0fc
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_hash_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_hash_local.png b/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_hash_local.png
new file mode 100644 (file)
index 0000000..55d25a5
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_hash_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_hash_local.svg b/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_hash_local.svg
new file mode 100644 (file)
index 0000000..6ce9719
--- /dev/null
@@ -0,0 +1,239 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 416.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 376.8 -393.911762030383 M 380.8 -393.911762030383 L 380.8 -393.912 M 380.8 -393.912 A 4 4 0 1 0 372.8 -393.912 A 4 4 0 1 0 380.8 -393.912 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 453.6 -425.9281360866006 M 457.6 -425.9281360866006 L 457.6 -425.928 M 457.6 -425.928 A 4 4 0 1 0 449.6 -425.928 A 4 4 0 1 0 457.6 -425.928 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 530.4 -459.4157320892516 M 534.4 -459.4157320892516 L 534.4 -459.416 M 534.4 -459.416 A 4 4 0 1 0 526.4 -459.416 A 4 4 0 1 0 534.4 -459.416 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 607.2 -491.6548193005939 M 611.2 -491.6548193005939 L 611.2 -491.655 M 611.2 -491.655 A 4 4 0 1 0 603.2 -491.655 A 4 4 0 1 0 611.2 -491.655 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 684.0 -520.0 M 688.0 -520.0 L 688 -520 M 688 -520 A 4 4 0 1 0 680 -520 A 4 4 0 1 0 688 -520 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 307.0 -236.66666666666666 M 311.0 -236.66666666666666 L 311 -236.667 M 311 -236.667 A 4 4 0 1 0 303 -236.667 A 4 4 0 1 0 311 -236.667 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      3.08e-08
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      6.16e-08
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      9.23e-08
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      1.23e-07
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      1.54e-07
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 376.8 -393.911762030383 L 453.6 -425.9281360866006 L 530.4 -459.4157320892516 L 607.2 -491.6548193005939 L 684.0 -520.0" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 368.8 -385.911762030383 L 368.8 -401.911762030383 L 384.8 -401.911762030383 L 384.8 -385.911762030383 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 376.8 -393.911762030383 M 380.8 -393.911762030383 L 380.8 -393.912 M 380.8 -393.912 A 4 4 0 1 0 372.8 -393.912 A 4 4 0 1 0 380.8 -393.912 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 445.6 -417.9281360866006 L 445.6 -433.9281360866006 L 461.6 -433.9281360866006 L 461.6 -417.9281360866006 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 453.6 -425.9281360866006 M 457.6 -425.9281360866006 L 457.6 -425.928 M 457.6 -425.928 A 4 4 0 1 0 449.6 -425.928 A 4 4 0 1 0 457.6 -425.928 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 522.4 -451.4157320892516 L 522.4 -467.4157320892516 L 538.4 -467.4157320892516 L 538.4 -451.4157320892516 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 530.4 -459.4157320892516 M 534.4 -459.4157320892516 L 534.4 -459.416 M 534.4 -459.416 A 4 4 0 1 0 526.4 -459.416 A 4 4 0 1 0 534.4 -459.416 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 599.2 -483.6548193005939 L 599.2 -499.6548193005939 L 615.2 -499.6548193005939 L 615.2 -483.6548193005939 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 607.2 -491.6548193005939 M 611.2 -491.6548193005939 L 611.2 -491.655 M 611.2 -491.655 A 4 4 0 1 0 603.2 -491.655 A 4 4 0 1 0 611.2 -491.655 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 676.0 -512.0 L 676.0 -528.0 L 692.0 -528.0 L 692.0 -512.0 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 684.0 -520.0 M 688.0 -520.0 L 688 -520 M 688 -520 A 4 4 0 1 0 680 -520 A 4 4 0 1 0 688 -520 Z"/>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip8);">
+        <path d="M 376.8 -359.20153084430353 L 453.6 -360.8051227404452 L 530.4 -362.5319359072657 L 607.2 -363.3200088367922 L 684.0 -364.55622409065506" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip9);">
+        <path d="M 371.8 -354.20153084430353 L 381.8 -364.20153084430353" style="stroke-width:0.7;"/>
+        <path d="M 381.8 -354.20153084430353 L 371.8 -364.20153084430353" style="stroke-width:0.7;"/>
+        <path d="M 448.6 -355.8051227404452 L 458.6 -365.8051227404452" style="stroke-width:0.7;"/>
+        <path d="M 458.6 -355.8051227404452 L 448.6 -365.8051227404452" style="stroke-width:0.7;"/>
+        <path d="M 525.4 -357.5319359072657 L 535.4 -367.5319359072657" style="stroke-width:0.7;"/>
+        <path d="M 535.4 -357.5319359072657 L 525.4 -367.5319359072657" style="stroke-width:0.7;"/>
+        <path d="M 602.2 -358.3200088367922 L 612.2 -368.3200088367922" style="stroke-width:0.7;"/>
+        <path d="M 612.2 -358.3200088367922 L 602.2 -368.3200088367922" style="stroke-width:0.7;"/>
+        <path d="M 679.0 -359.55622409065506 L 689.0 -369.55622409065506" style="stroke-width:0.7;"/>
+        <path d="M 689.0 -359.55622409065506 L 679.0 -369.55622409065506" style="stroke-width:0.7;"/>
+      </g>
+      <g style="clip-path:url(#clip10);">
+        <path d="M 376.8 -358.2454938857195 L 453.6 -359.3646346376265 L 530.4 -362.06535327676056 L 607.2 -363.5512988785071 L 684.0 -365.91337344543933" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip11);">
+        <path d="M 371.8 -353.2454938857195 L 381.8 -363.2454938857195" style="stroke-width:0.7;"/>
+        <path d="M 381.8 -353.2454938857195 L 371.8 -363.2454938857195" style="stroke-width:0.7;"/>
+        <path d="M 448.6 -354.3646346376265 L 458.6 -364.3646346376265" style="stroke-width:0.7;"/>
+        <path d="M 458.6 -354.3646346376265 L 448.6 -364.3646346376265" style="stroke-width:0.7;"/>
+        <path d="M 525.4 -357.06535327676056 L 535.4 -367.06535327676056" style="stroke-width:0.7;"/>
+        <path d="M 535.4 -357.06535327676056 L 525.4 -367.06535327676056" style="stroke-width:0.7;"/>
+        <path d="M 602.2 -358.5512988785071 L 612.2 -368.5512988785071" style="stroke-width:0.7;"/>
+        <path d="M 612.2 -358.5512988785071 L 602.2 -368.5512988785071" style="stroke-width:0.7;"/>
+        <path d="M 679.0 -360.91337344543933 L 689.0 -370.91337344543933" style="stroke-width:0.7;"/>
+        <path d="M 689.0 -360.91337344543933 L 679.0 -370.91337344543933" style="stroke-width:0.7;"/>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -236.66666666666666 L 314 -236.66666666666666" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip13);">
+      <path d="M 299.0 -228.66666666666666 L 299.0 -244.66666666666666 L 315.0 -244.66666666666666 L 315.0 -228.66666666666666 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -236.66666666666666 M 311.0 -236.66666666666666 L 311 -236.667 M 311 -236.667 A 4 4 0 1 0 303 -236.667 A 4 4 0 1 0 311 -236.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-232.0">
+        n_hash_mmap
+      </text>
+      <path d="M 300 -218.66666666666669 L 314 -218.66666666666669" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      <path d="M 302.0 -213.66666666666669 L 312.0 -223.66666666666669" style="stroke-width:0.7;"/>
+      <path d="M 312.0 -213.66666666666669 L 302.0 -223.66666666666669" style="stroke-width:0.7;"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-214.0">
+        cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_
+      </text>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-200.0">
+        mmap_
+      </text>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-186.0">
+        cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+      </text>
+      <path d="M 300 -172.66666666666669 L 314 -172.66666666666669" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      <path d="M 302.0 -167.66666666666669 L 312.0 -177.66666666666669" style="stroke-width:0.7;"/>
+      <path d="M 312.0 -167.66666666666669 L 302.0 -177.66666666666669" style="stroke-width:0.7;"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-168.0">
+        cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_
+      </text>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-154.0">
+        mmap_
+      </text>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-140.0">
+        lu_mtf_set
+      </text>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_tree_local.pdf b/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_tree_local.pdf
new file mode 100644 (file)
index 0000000..ad05807
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_tree_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_tree_local.png b/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_tree_local.png
new file mode 100644 (file)
index 0000000..95c1d87
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_tree_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_tree_local.svg b/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_tree_local.svg
new file mode 100644 (file)
index 0000000..fe45e74
--- /dev/null
@@ -0,0 +1,281 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 416.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 376.8 -445.7331353751806 M 380.8 -445.7331353751806 L 380.8 -445.733 M 380.8 -445.733 A 4 4 0 1 0 372.8 -445.733 A 4 4 0 1 0 380.8 -445.733 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 453.6 -472.86240439854794 M 457.6 -472.86240439854794 L 457.6 -472.862 M 457.6 -472.862 A 4 4 0 1 0 449.6 -472.862 A 4 4 0 1 0 457.6 -472.862 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 530.4 -494.05610087054595 M 534.4 -494.05610087054595 L 534.4 -494.056 M 534.4 -494.056 A 4 4 0 1 0 526.4 -494.056 A 4 4 0 1 0 534.4 -494.056 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 607.2 -496.5950022909104 M 611.2 -496.5950022909104 L 611.2 -496.595 M 611.2 -496.595 A 4 4 0 1 0 603.2 -496.595 A 4 4 0 1 0 611.2 -496.595 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 684.0 -520.0 M 688.0 -520.0 L 688 -520 M 688 -520 A 4 4 0 1 0 680 -520 A 4 4 0 1 0 688 -520 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 369.65714285714284 -411.838631797836 L 376.8 -418.9814889406931 L 383.9428571428571 -411.838631797836 L 376.8 -404.69577465497883 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 446.45714285714286 -413.64237126845944 L 453.6 -420.7852284113166 L 460.74285714285713 -413.64237126845944 L 453.6 -406.49951412560233 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 523.2571428571429 -417.1946040249533 L 530.4 -424.33746116781043 L 537.5428571428572 -417.1946040249533 L 530.4 -410.05174688209615 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 600.0571428571428 -418.5200278433722 L 607.2 -425.66288498622936 L 614.3428571428572 -418.5200278433722 L 607.2 -411.3771707005151 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 676.8571428571429 -421.15391393225957 L 684.0 -428.2967710751167 L 691.1428571428571 -421.15391393225957 L 684.0 -414.0110567894024 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 307.0 -236.66666666666666 M 311.0 -236.66666666666666 L 311 -236.667 M 311 -236.667 A 4 4 0 1 0 303 -236.667 A 4 4 0 1 0 311 -236.667 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 299.85714285714283 -172.66666666666669 L 307.0 -179.8095238095238 L 314.14285714285717 -172.66666666666669 L 307.0 -165.52380952380952 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      9.08e-08
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      1.82e-07
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      2.72e-07
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      3.63e-07
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      4.54e-07
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 376.8 -445.7331353751806 L 453.6 -472.86240439854794 L 530.4 -494.05610087054595 L 607.2 -496.5950022909104 L 684.0 -520.0" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 368.8 -437.7331353751806 L 368.8 -453.7331353751806 L 384.8 -453.7331353751806 L 384.8 -437.7331353751806 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 376.8 -445.7331353751806 M 380.8 -445.7331353751806 L 380.8 -445.733 M 380.8 -445.733 A 4 4 0 1 0 372.8 -445.733 A 4 4 0 1 0 380.8 -445.733 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 445.6 -464.86240439854794 L 445.6 -480.86240439854794 L 461.6 -480.86240439854794 L 461.6 -464.86240439854794 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 453.6 -472.86240439854794 M 457.6 -472.86240439854794 L 457.6 -472.862 M 457.6 -472.862 A 4 4 0 1 0 449.6 -472.862 A 4 4 0 1 0 457.6 -472.862 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 522.4 -486.05610087054595 L 522.4 -502.05610087054595 L 538.4 -502.05610087054595 L 538.4 -486.05610087054595 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 530.4 -494.05610087054595 M 534.4 -494.05610087054595 L 534.4 -494.056 M 534.4 -494.056 A 4 4 0 1 0 526.4 -494.056 A 4 4 0 1 0 534.4 -494.056 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 599.2 -488.5950022909104 L 599.2 -504.5950022909104 L 615.2 -504.5950022909104 L 615.2 -488.5950022909104 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 607.2 -496.5950022909104 M 611.2 -496.5950022909104 L 611.2 -496.595 M 611.2 -496.595 A 4 4 0 1 0 603.2 -496.595 A 4 4 0 1 0 611.2 -496.595 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 676.0 -512.0 L 676.0 -528.0 L 692.0 -528.0 L 692.0 -512.0 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 684.0 -520.0 M 688.0 -520.0 L 688 -520 M 688 -520 A 4 4 0 1 0 680 -520 A 4 4 0 1 0 688 -520 Z"/>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip8);">
+        <path d="M 376.8 -412.93919395199663 L 453.6 -415.11414901490855 L 530.4 -418.15462763895255 L 607.2 -417.96950445846403 L 684.0 -418.7739664469742" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip9);">
+        <path d="M 371.8 -407.93919395199663 L 381.8 -417.93919395199663" style="stroke-width:0.7;"/>
+        <path d="M 381.8 -407.93919395199663 L 371.8 -417.93919395199663" style="stroke-width:0.7;"/>
+        <path d="M 448.6 -410.11414901490855 L 458.6 -420.11414901490855" style="stroke-width:0.7;"/>
+        <path d="M 458.6 -410.11414901490855 L 448.6 -420.11414901490855" style="stroke-width:0.7;"/>
+        <path d="M 525.4 -413.15462763895255 L 535.4 -423.15462763895255" style="stroke-width:0.7;"/>
+        <path d="M 535.4 -413.15462763895255 L 525.4 -423.15462763895255" style="stroke-width:0.7;"/>
+        <path d="M 602.2 -412.96950445846403 L 612.2 -422.96950445846403" style="stroke-width:0.7;"/>
+        <path d="M 612.2 -412.96950445846403 L 602.2 -422.96950445846403" style="stroke-width:0.7;"/>
+        <path d="M 679.0 -413.7739664469742 L 689.0 -423.7739664469742" style="stroke-width:0.7;"/>
+        <path d="M 689.0 -413.7739664469742 L 679.0 -423.7739664469742" style="stroke-width:0.7;"/>
+      </g>
+      <g style="clip-path:url(#clip10);">
+        <path d="M 376.8 -411.838631797836 L 453.6 -413.64237126845944 L 530.4 -417.1946040249533 L 607.2 -418.5200278433722 L 684.0 -421.15391393225957" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip11);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+          <path d="M 369.65714285714284 -404.69577465497883 L 369.65714285714284 -418.9814889406931 L 383.9428571428571 -418.9814889406931 L 383.9428571428571 -404.69577465497883 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 369.65714285714284 -411.838631797836 L 376.8 -418.9814889406931 L 383.9428571428571 -411.838631797836 L 376.8 -404.69577465497883 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip13);">
+            <path d="M 446.45714285714286 -406.49951412560233 L 446.45714285714286 -420.7852284113166 L 460.74285714285713 -420.7852284113166 L 460.74285714285713 -406.49951412560233 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 446.45714285714286 -413.64237126845944 L 453.6 -420.7852284113166 L 460.74285714285713 -413.64237126845944 L 453.6 -406.49951412560233 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip14);">
+              <path d="M 523.2571428571429 -410.05174688209615 L 523.2571428571429 -424.33746116781043 L 537.5428571428572 -424.33746116781043 L 537.5428571428572 -410.05174688209615 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 523.2571428571429 -417.1946040249533 L 530.4 -424.33746116781043 L 537.5428571428572 -417.1946040249533 L 530.4 -410.05174688209615 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+                <path d="M 600.0571428571428 -411.3771707005151 L 600.0571428571428 -425.66288498622936 L 614.3428571428572 -425.66288498622936 L 614.3428571428572 -411.3771707005151 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 600.0571428571428 -418.5200278433722 L 607.2 -425.66288498622936 L 614.3428571428572 -418.5200278433722 L 607.2 -411.3771707005151 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+                  <path d="M 676.8571428571429 -414.0110567894024 L 676.8571428571429 -428.2967710751167 L 691.1428571428571 -428.2967710751167 L 691.1428571428571 -414.0110567894024 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 676.8571428571429 -421.15391393225957 L 684.0 -428.2967710751167 L 691.1428571428571 -421.15391393225957 L 684.0 -414.0110567894024 Z"/>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -236.66666666666666 L 314 -236.66666666666666" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+      <path d="M 299.0 -228.66666666666666 L 299.0 -244.66666666666666 L 315.0 -244.66666666666666 L 315.0 -228.66666666666666 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -236.66666666666666 M 311.0 -236.66666666666666 L 311 -236.667 M 311 -236.667 A 4 4 0 1 0 303 -236.667 A 4 4 0 1 0 311 -236.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-232.0">
+        n_mmap
+      </text>
+      <path d="M 300 -218.66666666666669 L 314 -218.66666666666669" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      <path d="M 302.0 -213.66666666666669 L 312.0 -223.66666666666669" style="stroke-width:0.7;"/>
+      <path d="M 312.0 -213.66666666666669 L 302.0 -223.66666666666669" style="stroke-width:0.7;"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-214.0">
+        rb_tree_
+      </text>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-200.0">
+        mmap_
+      </text>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-186.0">
+        cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+      </text>
+      <path d="M 300 -172.66666666666669 L 314 -172.66666666666669" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+        <path d="M 299.85714285714283 -165.52380952380952 L 299.85714285714283 -179.8095238095238 L 314.14285714285717 -179.8095238095238 L 314.14285714285717 -165.52380952380952 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 299.85714285714283 -172.66666666666669 L 307.0 -179.8095238095238 L 314.14285714285717 -172.66666666666669 L 307.0 -165.52380952380952 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-168.0">
+          rb_tree_
+        </text>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-154.0">
+          mmap_
+        </text>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-140.0">
+          lu_mtf_set
+        </text>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.pdf b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.pdf
new file mode 100644 (file)
index 0000000..58af875
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.png b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.png
new file mode 100644 (file)
index 0000000..c68826a
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.svg b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.svg
new file mode 100644 (file)
index 0000000..b3ad54d
--- /dev/null
@@ -0,0 +1,244 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -526 535.725 398" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 357.6 -301.1115789473684 M 361.6 -301.1115789473684 L 361.6 -301.112 M 361.6 -301.112 A 4 4 0 1 0 353.6 -301.112 A 4 4 0 1 0 361.6 -301.112 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 434.4 -331.01305263157894 M 438.4 -331.01305263157894 L 438.4 -331.013 M 438.4 -331.013 A 4 4 0 1 0 430.4 -331.013 A 4 4 0 1 0 438.4 -331.013 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 511.2 -370.2517894736842 M 515.2 -370.2517894736842 L 515.2 -370.252 M 515.2 -370.252 A 4 4 0 1 0 507.2 -370.252 A 4 4 0 1 0 515.2 -370.252 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 588.0 -392.48336842105266 M 592.0 -392.48336842105266 L 592 -392.483 M 592 -392.483 A 4 4 0 1 0 584 -392.483 A 4 4 0 1 0 592 -392.483 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 664.8 -451.73052631578946 M 668.8 -451.73052631578946 L 668.8 -451.731 M 668.8 -451.731 A 4 4 0 1 0 660.8 -451.731 A 4 4 0 1 0 668.8 -451.731 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 307.0 -190.66666666666669 M 311.0 -190.66666666666669 L 311 -190.667 M 311 -190.667 A 4 4 0 1 0 303 -190.667 A 4 4 0 1 0 311 -190.667 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -323.1578947368421 L 780 -323.1578947368421" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -346.3157894736842 L 780 -346.3157894736842" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -369.4736842105263 L 780 -369.4736842105263" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -392.63157894736844 L 780 -392.63157894736844" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -415.7894736842105 L 780 -415.7894736842105" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -438.9473684210526 L 780 -438.9473684210526" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -462.10526315789474 L 780 -462.10526315789474" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -485.2631578947369 L 780 -485.2631578947369" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -508.42105263157896 L 780 -508.42105263157896" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      1.00e+04
+    </text>
+    <path d="M 300 -344.3001263157895 L 288 -344.3001263157895"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.801)" x="288.0" y="-339.8006130479837">
+      2.91e+04
+    </text>
+    <path d="M 300 -388.60025263157894 L 288 -388.60025263157894"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-384.101)" x="288.0" y="-384.1007393637732">
+      4.83e+04
+    </text>
+    <path d="M 300 -432.9003789473684 L 288 -432.9003789473684"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-428.401)" x="288.0" y="-428.4008656795626">
+      6.74e+04
+    </text>
+    <path d="M 300 -477.2005052631579 L 288 -477.2005052631579"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-472.701)" x="288.0" y="-472.7009919953521">
+      8.65e+04
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Memory (bytes)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 357.6 -335.3111578947368 L 434.4 -364.95326315789475 L 511.2 -409.41642105263156 L 588.0 -424.2374736842105 L 664.8 -498.3427368421053" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <path d="M 352.6 -330.3111578947368 L 362.6 -340.3111578947368" style="stroke-width:0.7;"/>
+        <path d="M 362.6 -330.3111578947368 L 352.6 -340.3111578947368" style="stroke-width:0.7;"/>
+        <path d="M 429.4 -359.95326315789475 L 439.4 -369.95326315789475" style="stroke-width:0.7;"/>
+        <path d="M 439.4 -359.95326315789475 L 429.4 -369.95326315789475" style="stroke-width:0.7;"/>
+        <path d="M 506.2 -404.41642105263156 L 516.2 -414.41642105263156" style="stroke-width:0.7;"/>
+        <path d="M 516.2 -404.41642105263156 L 506.2 -414.41642105263156" style="stroke-width:0.7;"/>
+        <path d="M 583.0 -419.2374736842105 L 593.0 -429.2374736842105" style="stroke-width:0.7;"/>
+        <path d="M 593.0 -419.2374736842105 L 583.0 -429.2374736842105" style="stroke-width:0.7;"/>
+        <path d="M 659.8 -493.3427368421053 L 669.8 -503.3427368421053" style="stroke-width:0.7;"/>
+        <path d="M 669.8 -493.3427368421053 L 659.8 -503.3427368421053" style="stroke-width:0.7;"/>
+      </g>
+      <g style="clip-path:url(#clip3);">
+        <path d="M 357.6 -301.1115789473684 L 434.4 -331.01305263157894 L 511.2 -370.2517894736842 L 588.0 -392.48336842105266 L 664.8 -451.73052631578946" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip4);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+          <path d="M 349.6 -293.1115789473684 L 349.6 -309.1115789473684 L 365.6 -309.1115789473684 L 365.6 -293.1115789473684 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 357.6 -301.1115789473684 M 361.6 -301.1115789473684 L 361.6 -301.112 M 361.6 -301.112 A 4 4 0 1 0 353.6 -301.112 A 4 4 0 1 0 361.6 -301.112 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+            <path d="M 426.4 -323.01305263157894 L 426.4 -339.01305263157894 L 442.4 -339.01305263157894 L 442.4 -323.01305263157894 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 434.4 -331.01305263157894 M 438.4 -331.01305263157894 L 438.4 -331.013 M 438.4 -331.013 A 4 4 0 1 0 430.4 -331.013 A 4 4 0 1 0 438.4 -331.013 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+              <path d="M 503.2 -362.2517894736842 L 503.2 -378.2517894736842 L 519.2 -378.2517894736842 L 519.2 -362.2517894736842 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 511.2 -370.2517894736842 M 515.2 -370.2517894736842 L 515.2 -370.252 M 515.2 -370.252 A 4 4 0 1 0 507.2 -370.252 A 4 4 0 1 0 515.2 -370.252 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                <path d="M 580.0 -384.48336842105266 L 580.0 -400.48336842105266 L 596.0 -400.48336842105266 L 596.0 -384.48336842105266 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 588.0 -392.48336842105266 M 592.0 -392.48336842105266 L 592 -392.483 M 592 -392.483 A 4 4 0 1 0 584 -392.483 A 4 4 0 1 0 592 -392.483 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                  <path d="M 656.8 -443.73052631578946 L 656.8 -459.73052631578946 L 672.8 -459.73052631578946 L 672.8 -443.73052631578946 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 664.8 -451.73052631578946 M 668.8 -451.73052631578946 L 668.8 -451.731 M 668.8 -451.731 A 4 4 0 1 0 660.8 -451.731 A 4 4 0 1 0 668.8 -451.731 Z"/>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip10);">
+        <path d="M 357.6 -301.9637894736842 L 434.4 -316.7848421052632 L 511.2 -331.6058947368421 L 588.0 -346.42694736842105 L 664.8 -361.248" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip11);">
+        <path d="M 352.6 -296.9637894736842 L 362.6 -306.9637894736842" style="stroke-width:0.7;"/>
+        <path d="M 362.6 -296.9637894736842 L 352.6 -306.9637894736842" style="stroke-width:0.7;"/>
+        <path d="M 429.4 -311.7848421052632 L 439.4 -321.7848421052632" style="stroke-width:0.7;"/>
+        <path d="M 439.4 -311.7848421052632 L 429.4 -321.7848421052632" style="stroke-width:0.7;"/>
+        <path d="M 506.2 -326.6058947368421 L 516.2 -336.6058947368421" style="stroke-width:0.7;"/>
+        <path d="M 516.2 -326.6058947368421 L 506.2 -336.6058947368421" style="stroke-width:0.7;"/>
+        <path d="M 583.0 -341.42694736842105 L 593.0 -351.42694736842105" style="stroke-width:0.7;"/>
+        <path d="M 593.0 -341.42694736842105 L 583.0 -351.42694736842105" style="stroke-width:0.7;"/>
+        <path d="M 659.8 -356.248 L 669.8 -366.248" style="stroke-width:0.7;"/>
+        <path d="M 669.8 -356.248 L 659.8 -366.248" style="stroke-width:0.7;"/>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -236.66666666666666 L 314 -236.66666666666666" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+    <path d="M 302.0 -231.66666666666666 L 312.0 -241.66666666666666" style="stroke-width:0.7;"/>
+    <path d="M 312.0 -231.66666666666666 L 302.0 -241.66666666666666" style="stroke-width:0.7;"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-232.0">
+      cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-218.0">
+      mmap_
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-204.0">
+      cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+    </text>
+    <path d="M 300 -190.66666666666669 L 314 -190.66666666666669" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip13);">
+      <path d="M 299.0 -182.66666666666669 L 299.0 -198.66666666666669 L 315.0 -198.66666666666669 L 315.0 -182.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -190.66666666666669 M 311.0 -190.66666666666669 L 311 -190.667 M 311 -190.667 A 4 4 0 1 0 303 -190.667 A 4 4 0 1 0 311 -190.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-186.0">
+        n_hash_mmap
+      </text>
+      <path d="M 300 -172.66666666666669 L 314 -172.66666666666669" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      <path d="M 302.0 -167.66666666666669 L 312.0 -177.66666666666669" style="stroke-width:0.7;"/>
+      <path d="M 312.0 -167.66666666666669 L 302.0 -177.66666666666669" style="stroke-width:0.7;"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-168.0">
+        cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_
+      </text>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-154.0">
+        mmap_
+      </text>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-140.0">
+        lu_mtf_set
+      </text>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.pdf b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.pdf
new file mode 100644 (file)
index 0000000..8dddc24
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.png b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.png
new file mode 100644 (file)
index 0000000..1991e4d
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.svg b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.svg
new file mode 100644 (file)
index 0000000..0e2ecb7
--- /dev/null
@@ -0,0 +1,286 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -526 535.725 398" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 357.6 -310.1894736842105 M 361.6 -310.1894736842105 L 361.6 -310.189 M 361.6 -310.189 A 4 4 0 1 0 353.6 -310.189 A 4 4 0 1 0 361.6 -310.189 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 434.4 -354.65263157894736 M 438.4 -354.65263157894736 L 438.4 -354.653 M 438.4 -354.653 A 4 4 0 1 0 430.4 -354.653 A 4 4 0 1 0 438.4 -354.653 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 511.2 -399.11578947368423 M 515.2 -399.11578947368423 L 515.2 -399.116 M 515.2 -399.116 A 4 4 0 1 0 507.2 -399.116 A 4 4 0 1 0 515.2 -399.116 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 588.0 -443.57894736842104 M 592.0 -443.57894736842104 L 592 -443.579 M 592 -443.579 A 4 4 0 1 0 584 -443.579 A 4 4 0 1 0 592 -443.579 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 664.8 -488.0421052631579 M 668.8 -488.0421052631579 L 668.8 -488.042 M 668.8 -488.042 A 4 4 0 1 0 660.8 -488.042 A 4 4 0 1 0 668.8 -488.042 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 350.45714285714286 -302.92715789473687 L 357.6 -310.070015037594 L 364.74285714285713 -302.92715789473687 L 357.6 -295.7843007518797 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 427.25714285714287 -317.7482105263158 L 434.4 -324.8910676691729 L 441.54285714285714 -317.7482105263158 L 434.4 -310.60535338345863 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 504.0571428571428 -332.56926315789474 L 511.2 -339.7121203007519 L 518.3428571428572 -332.56926315789474 L 511.2 -325.42640601503757 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 580.8571428571429 -347.3903157894737 L 588.0 -354.53317293233084 L 595.1428571428571 -347.3903157894737 L 588.0 -340.24745864661656 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 657.6571428571428 -362.2113684210526 L 664.8 -369.3542255639098 L 671.9428571428572 -362.2113684210526 L 664.8 -355.0685112781955 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 307.0 -190.66666666666669 M 311.0 -190.66666666666669 L 311 -190.667 M 311 -190.667 A 4 4 0 1 0 303 -190.667 A 4 4 0 1 0 311 -190.667 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 299.85714285714283 -172.66666666666669 L 307.0 -179.8095238095238 L 314.14285714285717 -172.66666666666669 L 307.0 -165.52380952380952 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -323.1578947368421 L 780 -323.1578947368421" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -346.3157894736842 L 780 -346.3157894736842" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -369.4736842105263 L 780 -369.4736842105263" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -392.63157894736844 L 780 -392.63157894736844" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -415.7894736842105 L 780 -415.7894736842105" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -438.9473684210526 L 780 -438.9473684210526" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -462.10526315789474 L 780 -462.10526315789474" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -485.2631578947369 L 780 -485.2631578947369" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -508.42105263157896 L 780 -508.42105263157896" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      1.00e+04
+    </text>
+    <path d="M 300 -344.52985263157893 L 288 -344.52985263157893"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-340.03)" x="288.0" y="-340.0303393637732">
+      2.92e+04
+    </text>
+    <path d="M 300 -389.05970526315787 L 288 -389.05970526315787"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-384.56)" x="288.0" y="-384.5601919953521">
+      4.85e+04
+    </text>
+    <path d="M 300 -433.5895578947368 L 288 -433.5895578947368"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-429.09)" x="288.0" y="-429.09004462693105">
+      6.77e+04
+    </text>
+    <path d="M 300 -478.1194105263158 L 288 -478.1194105263158"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-473.62)" x="288.0" y="-473.61989725851004">
+      8.69e+04
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Memory (bytes)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 357.6 -336.4597894736842 L 434.4 -366.1018947368421 L 511.2 -410.56505263157896 L 588.0 -425.3861052631579 L 664.8 -499.49136842105264" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <path d="M 352.6 -331.4597894736842 L 362.6 -341.4597894736842" style="stroke-width:0.7;"/>
+        <path d="M 362.6 -331.4597894736842 L 352.6 -341.4597894736842" style="stroke-width:0.7;"/>
+        <path d="M 429.4 -361.1018947368421 L 439.4 -371.1018947368421" style="stroke-width:0.7;"/>
+        <path d="M 439.4 -361.1018947368421 L 429.4 -371.1018947368421" style="stroke-width:0.7;"/>
+        <path d="M 506.2 -405.56505263157896 L 516.2 -415.56505263157896" style="stroke-width:0.7;"/>
+        <path d="M 516.2 -405.56505263157896 L 506.2 -415.56505263157896" style="stroke-width:0.7;"/>
+        <path d="M 583.0 -420.3861052631579 L 593.0 -430.3861052631579" style="stroke-width:0.7;"/>
+        <path d="M 593.0 -420.3861052631579 L 583.0 -430.3861052631579" style="stroke-width:0.7;"/>
+        <path d="M 659.8 -494.49136842105264 L 669.8 -504.49136842105264" style="stroke-width:0.7;"/>
+        <path d="M 669.8 -494.49136842105264 L 659.8 -504.49136842105264" style="stroke-width:0.7;"/>
+      </g>
+      <g style="clip-path:url(#clip3);">
+        <path d="M 357.6 -310.1894736842105 L 434.4 -354.65263157894736 L 511.2 -399.11578947368423 L 588.0 -443.57894736842104 L 664.8 -488.0421052631579" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip4);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+          <path d="M 349.6 -302.1894736842105 L 349.6 -318.1894736842105 L 365.6 -318.1894736842105 L 365.6 -302.1894736842105 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 357.6 -310.1894736842105 M 361.6 -310.1894736842105 L 361.6 -310.189 M 361.6 -310.189 A 4 4 0 1 0 353.6 -310.189 A 4 4 0 1 0 361.6 -310.189 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+            <path d="M 426.4 -346.65263157894736 L 426.4 -362.65263157894736 L 442.4 -362.65263157894736 L 442.4 -346.65263157894736 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 434.4 -354.65263157894736 M 438.4 -354.65263157894736 L 438.4 -354.653 M 438.4 -354.653 A 4 4 0 1 0 430.4 -354.653 A 4 4 0 1 0 438.4 -354.653 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+              <path d="M 503.2 -391.11578947368423 L 503.2 -407.11578947368423 L 519.2 -407.11578947368423 L 519.2 -391.11578947368423 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 511.2 -399.11578947368423 M 515.2 -399.11578947368423 L 515.2 -399.116 M 515.2 -399.116 A 4 4 0 1 0 507.2 -399.116 A 4 4 0 1 0 515.2 -399.116 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                <path d="M 580.0 -435.57894736842104 L 580.0 -451.57894736842104 L 596.0 -451.57894736842104 L 596.0 -435.57894736842104 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 588.0 -443.57894736842104 M 592.0 -443.57894736842104 L 592 -443.579 M 592 -443.579 A 4 4 0 1 0 584 -443.579 A 4 4 0 1 0 592 -443.579 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                  <path d="M 656.8 -480.0421052631579 L 656.8 -496.0421052631579 L 672.8 -496.0421052631579 L 672.8 -480.0421052631579 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 664.8 -488.0421052631579 M 668.8 -488.0421052631579 L 668.8 -488.042 M 668.8 -488.042 A 4 4 0 1 0 660.8 -488.042 A 4 4 0 1 0 668.8 -488.042 Z"/>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip10);">
+        <path d="M 357.6 -302.92715789473687 L 434.4 -317.7482105263158 L 511.2 -332.56926315789474 L 588.0 -347.3903157894737 L 664.8 -362.2113684210526" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip11);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+          <path d="M 350.45714285714286 -295.7843007518797 L 350.45714285714286 -310.070015037594 L 364.74285714285713 -310.070015037594 L 364.74285714285713 -295.7843007518797 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 350.45714285714286 -302.92715789473687 L 357.6 -310.070015037594 L 364.74285714285713 -302.92715789473687 L 357.6 -295.7843007518797 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip13);">
+            <path d="M 427.25714285714287 -310.60535338345863 L 427.25714285714287 -324.8910676691729 L 441.54285714285714 -324.8910676691729 L 441.54285714285714 -310.60535338345863 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 427.25714285714287 -317.7482105263158 L 434.4 -324.8910676691729 L 441.54285714285714 -317.7482105263158 L 434.4 -310.60535338345863 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip14);">
+              <path d="M 504.0571428571428 -325.42640601503757 L 504.0571428571428 -339.7121203007519 L 518.3428571428572 -339.7121203007519 L 518.3428571428572 -325.42640601503757 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 504.0571428571428 -332.56926315789474 L 511.2 -339.7121203007519 L 518.3428571428572 -332.56926315789474 L 511.2 -325.42640601503757 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+                <path d="M 580.8571428571429 -340.24745864661656 L 580.8571428571429 -354.53317293233084 L 595.1428571428571 -354.53317293233084 L 595.1428571428571 -340.24745864661656 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 580.8571428571429 -347.3903157894737 L 588.0 -354.53317293233084 L 595.1428571428571 -347.3903157894737 L 588.0 -340.24745864661656 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+                  <path d="M 657.6571428571428 -355.0685112781955 L 657.6571428571428 -369.3542255639098 L 671.9428571428572 -369.3542255639098 L 671.9428571428572 -355.0685112781955 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 657.6571428571428 -362.2113684210526 L 664.8 -369.3542255639098 L 671.9428571428572 -362.2113684210526 L 664.8 -355.0685112781955 Z"/>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -236.66666666666666 L 314 -236.66666666666666" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+    <path d="M 302.0 -231.66666666666666 L 312.0 -241.66666666666666" style="stroke-width:0.7;"/>
+    <path d="M 312.0 -231.66666666666666 L 302.0 -241.66666666666666" style="stroke-width:0.7;"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-232.0">
+      rb_tree_
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-218.0">
+      mmap_
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-204.0">
+      cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+    </text>
+    <path d="M 300 -190.66666666666669 L 314 -190.66666666666669" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+      <path d="M 299.0 -182.66666666666669 L 299.0 -198.66666666666669 L 315.0 -198.66666666666669 L 315.0 -182.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -190.66666666666669 M 311.0 -190.66666666666669 L 311 -190.667 M 311 -190.667 A 4 4 0 1 0 303 -190.667 A 4 4 0 1 0 311 -190.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-186.0">
+        n_mmap
+      </text>
+      <path d="M 300 -172.66666666666669 L 314 -172.66666666666669" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+        <path d="M 299.85714285714283 -165.52380952380952 L 299.85714285714283 -179.8095238095238 L 314.14285714285717 -179.8095238095238 L 314.14285714285717 -165.52380952380952 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 299.85714285714283 -172.66666666666669 L 307.0 -179.8095238095238 L 314.14285714285717 -172.66666666666669 L 307.0 -165.52380952380952 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-168.0">
+          rb_tree_
+        </text>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-154.0">
+          mmap_
+        </text>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-140.0">
+          lu_mtf_set
+        </text>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.pdf b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.pdf
new file mode 100644 (file)
index 0000000..c97c24b
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.png b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.png
new file mode 100644 (file)
index 0000000..09ab7bc
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.svg b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.svg
new file mode 100644 (file)
index 0000000..cb47139
--- /dev/null
@@ -0,0 +1,253 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -526 535.725 398" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 376.8 -311.3344 M 380.8 -311.3344 L 380.8 -311.334 M 380.8 -311.334 A 4 4 0 1 0 372.8 -311.334 A 4 4 0 1 0 380.8 -311.334 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 453.6 -322.69696 M 457.6 -322.69696 L 457.6 -322.697 M 457.6 -322.697 A 4 4 0 1 0 449.6 -322.697 A 4 4 0 1 0 457.6 -322.697 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 530.4 -337.60768 M 534.4 -337.60768 L 534.4 -337.608 M 534.4 -337.608 A 4 4 0 1 0 526.4 -337.608 A 4 4 0 1 0 534.4 -337.608 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 607.2 -346.05568 M 611.2 -346.05568 L 611.2 -346.056 M 611.2 -346.056 A 4 4 0 1 0 603.2 -346.056 A 4 4 0 1 0 611.2 -346.056 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 684.0 -368.5696 M 688.0 -368.5696 L 688 -368.57 M 688 -368.57 A 4 4 0 1 0 680 -368.57 A 4 4 0 1 0 688 -368.57 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 307.0 -144.66666666666666 M 311.0 -144.66666666666666 L 311 -144.667 M 311 -144.667 A 4 4 0 1 0 303 -144.667 A 4 4 0 1 0 311 -144.667 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -388.0 L 780 -388.0" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -476.0 L 780 -476.0" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -324.532992 L 288 -324.532992"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-320.033)" x="288.0" y="-320.0334787321942">
+      2.79e+04
+    </text>
+    <path d="M 300 -349.065984 L 288 -349.065984"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-344.566)" x="288.0" y="-344.5664707321942">
+      5.58e+04
+    </text>
+    <path d="M 300 -373.598976 L 288 -373.598976"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-369.099)" x="288.0" y="-369.09946273219424">
+      8.36e+04
+    </text>
+    <path d="M 300 -398.13196800000003 L 288 -398.13196800000003"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-393.632)" x="288.0" y="-393.6324547321942">
+      1.12e+05
+    </text>
+    <path d="M 300 -422.66496 L 288 -422.66496"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-418.165)" x="288.0" y="-418.1654467321942">
+      1.39e+05
+    </text>
+    <path d="M 300 -447.197952 L 288 -447.197952"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-442.698)" x="288.0" y="-442.6984387321942">
+      1.67e+05
+    </text>
+    <path d="M 300 -471.730944 L 288 -471.730944"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-467.231)" x="288.0" y="-467.2314307321942">
+      1.95e+05
+    </text>
+    <path d="M 300 -496.26393599999994 L 288 -496.26393599999994"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-491.764)" x="288.0" y="-491.7644227321942">
+      2.23e+05
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Memory (bytes)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 376.8 -377.60896 L 453.6 -383.24096 L 530.4 -388.87296000000003 L 607.2 -417.03296 L 684.0 -422.66496" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <path d="M 371.8 -372.60896 L 381.8 -382.60896" style="stroke-width:0.7;"/>
+        <path d="M 381.8 -372.60896 L 371.8 -382.60896" style="stroke-width:0.7;"/>
+        <path d="M 448.6 -378.24096 L 458.6 -388.24096" style="stroke-width:0.7;"/>
+        <path d="M 458.6 -378.24096 L 448.6 -388.24096" style="stroke-width:0.7;"/>
+        <path d="M 525.4 -383.87296000000003 L 535.4 -393.87296000000003" style="stroke-width:0.7;"/>
+        <path d="M 535.4 -383.87296000000003 L 525.4 -393.87296000000003" style="stroke-width:0.7;"/>
+        <path d="M 602.2 -412.03296 L 612.2 -422.03296" style="stroke-width:0.7;"/>
+        <path d="M 612.2 -412.03296 L 602.2 -422.03296" style="stroke-width:0.7;"/>
+        <path d="M 679.0 -417.66496 L 689.0 -427.66496" style="stroke-width:0.7;"/>
+        <path d="M 689.0 -417.66496 L 679.0 -427.66496" style="stroke-width:0.7;"/>
+      </g>
+      <g style="clip-path:url(#clip3);">
+        <path d="M 376.8 -326.92096 L 453.6 -332.55296 L 530.4 -338.18496 L 607.2 -343.81696 L 684.0 -349.44896" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip4);">
+        <path d="M 371.8 -321.92096 L 381.8 -331.92096" style="stroke-width:0.7;"/>
+        <path d="M 381.8 -321.92096 L 371.8 -331.92096" style="stroke-width:0.7;"/>
+        <path d="M 448.6 -327.55296 L 458.6 -337.55296" style="stroke-width:0.7;"/>
+        <path d="M 458.6 -327.55296 L 448.6 -337.55296" style="stroke-width:0.7;"/>
+        <path d="M 525.4 -333.18496 L 535.4 -343.18496" style="stroke-width:0.7;"/>
+        <path d="M 535.4 -333.18496 L 525.4 -343.18496" style="stroke-width:0.7;"/>
+        <path d="M 602.2 -338.81696 L 612.2 -348.81696" style="stroke-width:0.7;"/>
+        <path d="M 612.2 -338.81696 L 602.2 -348.81696" style="stroke-width:0.7;"/>
+        <path d="M 679.0 -344.44896 L 689.0 -354.44896" style="stroke-width:0.7;"/>
+        <path d="M 689.0 -344.44896 L 679.0 -354.44896" style="stroke-width:0.7;"/>
+      </g>
+      <g style="clip-path:url(#clip5);">
+        <path d="M 376.8 -311.3344 L 453.6 -322.69696 L 530.4 -337.60768 L 607.2 -346.05568 L 684.0 -368.5696" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip6);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+          <path d="M 368.8 -303.3344 L 368.8 -319.3344 L 384.8 -319.3344 L 384.8 -303.3344 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 376.8 -311.3344 M 380.8 -311.3344 L 380.8 -311.334 M 380.8 -311.334 A 4 4 0 1 0 372.8 -311.334 A 4 4 0 1 0 380.8 -311.334 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+            <path d="M 445.6 -314.69696 L 445.6 -330.69696 L 461.6 -330.69696 L 461.6 -314.69696 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 453.6 -322.69696 M 457.6 -322.69696 L 457.6 -322.697 M 457.6 -322.697 A 4 4 0 1 0 449.6 -322.697 A 4 4 0 1 0 457.6 -322.697 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+              <path d="M 522.4 -329.60768 L 522.4 -345.60768 L 538.4 -345.60768 L 538.4 -329.60768 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 530.4 -337.60768 M 534.4 -337.60768 L 534.4 -337.608 M 534.4 -337.608 A 4 4 0 1 0 526.4 -337.608 A 4 4 0 1 0 534.4 -337.608 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                <path d="M 599.2 -338.05568 L 599.2 -354.05568 L 615.2 -354.05568 L 615.2 -338.05568 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 607.2 -346.05568 M 611.2 -346.05568 L 611.2 -346.056 M 611.2 -346.056 A 4 4 0 1 0 603.2 -346.056 A 4 4 0 1 0 611.2 -346.056 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                  <path d="M 676.0 -360.5696 L 676.0 -376.5696 L 692.0 -376.5696 L 692.0 -360.5696 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 684.0 -368.5696 M 688.0 -368.5696 L 688 -368.57 M 688 -368.57 A 4 4 0 1 0 680 -368.57 A 4 4 0 1 0 688 -368.57 Z"/>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -236.66666666666666 L 314 -236.66666666666666" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+    <path d="M 302.0 -231.66666666666666 L 312.0 -241.66666666666666" style="stroke-width:0.7;"/>
+    <path d="M 312.0 -231.66666666666666 L 302.0 -241.66666666666666" style="stroke-width:0.7;"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-232.0">
+      cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-218.0">
+      mmap_
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-204.0">
+      cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+    </text>
+    <path d="M 300 -190.66666666666669 L 314 -190.66666666666669" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+    <path d="M 302.0 -185.66666666666669 L 312.0 -195.66666666666669" style="stroke-width:0.7;"/>
+    <path d="M 312.0 -185.66666666666669 L 302.0 -195.66666666666669" style="stroke-width:0.7;"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-186.0">
+      cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-172.0">
+      mmap_
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-158.0">
+      lu_mtf_set
+    </text>
+    <path d="M 300 -144.66666666666666 L 314 -144.66666666666666" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip13);">
+      <path d="M 299.0 -136.66666666666666 L 299.0 -152.66666666666666 L 315.0 -152.66666666666666 L 315.0 -136.66666666666666 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -144.66666666666666 M 311.0 -144.66666666666666 L 311 -144.667 M 311 -144.667 A 4 4 0 1 0 303 -144.667 A 4 4 0 1 0 311 -144.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-140.0">
+        n_hash_mmap
+      </text>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.pdf b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.pdf
new file mode 100644 (file)
index 0000000..4caca02
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.png b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.png
new file mode 100644 (file)
index 0000000..666e4a2
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.svg b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.svg
new file mode 100644 (file)
index 0000000..f9a835e
--- /dev/null
@@ -0,0 +1,295 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -526 535.725 398" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 376.8 -316.896 M 380.8 -316.896 L 380.8 -316.896 M 380.8 -316.896 A 4 4 0 1 0 372.8 -316.896 A 4 4 0 1 0 380.8 -316.896 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 453.6 -333.79200000000003 M 457.6 -333.79200000000003 L 457.6 -333.792 M 457.6 -333.792 A 4 4 0 1 0 449.6 -333.792 A 4 4 0 1 0 457.6 -333.792 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 530.4 -350.688 M 534.4 -350.688 L 534.4 -350.688 M 534.4 -350.688 A 4 4 0 1 0 526.4 -350.688 A 4 4 0 1 0 534.4 -350.688 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 607.2 -367.584 M 611.2 -367.584 L 611.2 -367.584 M 611.2 -367.584 A 4 4 0 1 0 603.2 -367.584 A 4 4 0 1 0 611.2 -367.584 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 684.0 -384.48 M 688.0 -384.48 L 688 -384.48 M 688 -384.48 A 4 4 0 1 0 680 -384.48 A 4 4 0 1 0 688 -384.48 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 369.65714285714284 -328.21632 L 376.8 -335.35917714285716 L 383.9428571428571 -328.21632 L 376.8 -321.0734628571429 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 446.45714285714286 -333.84832 L 453.6 -340.99117714285717 L 460.74285714285713 -333.84832 L 453.6 -326.70546285714283 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 523.2571428571429 -339.48032 L 530.4 -346.6231771428571 L 537.5428571428572 -339.48032 L 530.4 -332.33746285714284 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 600.0571428571428 -345.11232 L 607.2 -352.2551771428571 L 614.3428571428572 -345.11232 L 607.2 -337.96946285714284 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 676.8571428571429 -350.74432 L 684.0 -357.8871771428571 L 691.1428571428571 -350.74432 L 684.0 -343.60146285714285 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 307.0 -190.66666666666669 M 311.0 -190.66666666666669 L 311 -190.667 M 311 -190.667 A 4 4 0 1 0 303 -190.667 A 4 4 0 1 0 311 -190.667 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 299.85714285714283 -172.66666666666669 L 307.0 -179.8095238095238 L 314.14285714285717 -172.66666666666669 L 307.0 -165.52380952380952 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -388.0 L 780 -388.0" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -476.0 L 780 -476.0" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -324.806144 L 288 -324.806144"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-320.307)" x="288.0" y="-320.3066307321942">
+      2.82e+04
+    </text>
+    <path d="M 300 -349.612288 L 288 -349.612288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-345.113)" x="288.0" y="-345.1127747321942">
+      5.64e+04
+    </text>
+    <path d="M 300 -374.418432 L 288 -374.418432"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-369.919)" x="288.0" y="-369.91891873219424">
+      8.46e+04
+    </text>
+    <path d="M 300 -399.224576 L 288 -399.224576"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-394.725)" x="288.0" y="-394.7250627321942">
+      1.13e+05
+    </text>
+    <path d="M 300 -424.03072 L 288 -424.03072"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-419.531)" x="288.0" y="-419.5312067321942">
+      1.41e+05
+    </text>
+    <path d="M 300 -448.836864 L 288 -448.836864"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-444.337)" x="288.0" y="-444.3373507321942">
+      1.69e+05
+    </text>
+    <path d="M 300 -473.643008 L 288 -473.643008"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-469.143)" x="288.0" y="-469.1434947321942">
+      1.97e+05
+    </text>
+    <path d="M 300 -498.44915199999997 L 288 -498.44915199999997"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-493.95)" x="288.0" y="-493.9496387321942">
+      2.26e+05
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Memory (bytes)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 376.8 -378.97472 L 453.6 -384.60672 L 530.4 -390.23872 L 607.2 -418.39872 L 684.0 -424.03072" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <path d="M 371.8 -373.97472 L 381.8 -383.97472" style="stroke-width:0.7;"/>
+        <path d="M 381.8 -373.97472 L 371.8 -383.97472" style="stroke-width:0.7;"/>
+        <path d="M 448.6 -379.60672 L 458.6 -389.60672" style="stroke-width:0.7;"/>
+        <path d="M 458.6 -379.60672 L 448.6 -389.60672" style="stroke-width:0.7;"/>
+        <path d="M 525.4 -385.23872 L 535.4 -395.23872" style="stroke-width:0.7;"/>
+        <path d="M 535.4 -385.23872 L 525.4 -395.23872" style="stroke-width:0.7;"/>
+        <path d="M 602.2 -413.39872 L 612.2 -423.39872" style="stroke-width:0.7;"/>
+        <path d="M 612.2 -413.39872 L 602.2 -423.39872" style="stroke-width:0.7;"/>
+        <path d="M 679.0 -419.03072 L 689.0 -429.03072" style="stroke-width:0.7;"/>
+        <path d="M 689.0 -419.03072 L 679.0 -429.03072" style="stroke-width:0.7;"/>
+      </g>
+      <g style="clip-path:url(#clip3);">
+        <path d="M 376.8 -316.896 L 453.6 -333.79200000000003 L 530.4 -350.688 L 607.2 -367.584 L 684.0 -384.48" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip4);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+          <path d="M 368.8 -308.896 L 368.8 -324.896 L 384.8 -324.896 L 384.8 -308.896 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 376.8 -316.896 M 380.8 -316.896 L 380.8 -316.896 M 380.8 -316.896 A 4 4 0 1 0 372.8 -316.896 A 4 4 0 1 0 380.8 -316.896 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+            <path d="M 445.6 -325.79200000000003 L 445.6 -341.79200000000003 L 461.6 -341.79200000000003 L 461.6 -325.79200000000003 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 453.6 -333.79200000000003 M 457.6 -333.79200000000003 L 457.6 -333.792 M 457.6 -333.792 A 4 4 0 1 0 449.6 -333.792 A 4 4 0 1 0 457.6 -333.792 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+              <path d="M 522.4 -342.688 L 522.4 -358.688 L 538.4 -358.688 L 538.4 -342.688 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 530.4 -350.688 M 534.4 -350.688 L 534.4 -350.688 M 534.4 -350.688 A 4 4 0 1 0 526.4 -350.688 A 4 4 0 1 0 534.4 -350.688 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                <path d="M 599.2 -359.584 L 599.2 -375.584 L 615.2 -375.584 L 615.2 -359.584 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 607.2 -367.584 M 611.2 -367.584 L 611.2 -367.584 M 611.2 -367.584 A 4 4 0 1 0 603.2 -367.584 A 4 4 0 1 0 611.2 -367.584 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                  <path d="M 676.0 -376.48 L 676.0 -392.48 L 692.0 -392.48 L 692.0 -376.48 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 684.0 -384.48 M 688.0 -384.48 L 688 -384.48 M 688 -384.48 A 4 4 0 1 0 680 -384.48 A 4 4 0 1 0 688 -384.48 Z"/>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip10);">
+        <path d="M 376.8 -328.21632 L 453.6 -333.84832 L 530.4 -339.48032 L 607.2 -345.11232 L 684.0 -350.74432" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip11);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+          <path d="M 369.65714285714284 -321.0734628571429 L 369.65714285714284 -335.35917714285716 L 383.9428571428571 -335.35917714285716 L 383.9428571428571 -321.0734628571429 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 369.65714285714284 -328.21632 L 376.8 -335.35917714285716 L 383.9428571428571 -328.21632 L 376.8 -321.0734628571429 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip13);">
+            <path d="M 446.45714285714286 -326.70546285714283 L 446.45714285714286 -340.99117714285717 L 460.74285714285713 -340.99117714285717 L 460.74285714285713 -326.70546285714283 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 446.45714285714286 -333.84832 L 453.6 -340.99117714285717 L 460.74285714285713 -333.84832 L 453.6 -326.70546285714283 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip14);">
+              <path d="M 523.2571428571429 -332.33746285714284 L 523.2571428571429 -346.6231771428571 L 537.5428571428572 -346.6231771428571 L 537.5428571428572 -332.33746285714284 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 523.2571428571429 -339.48032 L 530.4 -346.6231771428571 L 537.5428571428572 -339.48032 L 530.4 -332.33746285714284 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+                <path d="M 600.0571428571428 -337.96946285714284 L 600.0571428571428 -352.2551771428571 L 614.3428571428572 -352.2551771428571 L 614.3428571428572 -337.96946285714284 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 600.0571428571428 -345.11232 L 607.2 -352.2551771428571 L 614.3428571428572 -345.11232 L 607.2 -337.96946285714284 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+                  <path d="M 676.8571428571429 -343.60146285714285 L 676.8571428571429 -357.8871771428571 L 691.1428571428571 -357.8871771428571 L 691.1428571428571 -343.60146285714285 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 676.8571428571429 -350.74432 L 684.0 -357.8871771428571 L 691.1428571428571 -350.74432 L 684.0 -343.60146285714285 Z"/>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -236.66666666666666 L 314 -236.66666666666666" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+    <path d="M 302.0 -231.66666666666666 L 312.0 -241.66666666666666" style="stroke-width:0.7;"/>
+    <path d="M 312.0 -231.66666666666666 L 302.0 -241.66666666666666" style="stroke-width:0.7;"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-232.0">
+      rb_tree_
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-218.0">
+      mmap_
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-204.0">
+      cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+    </text>
+    <path d="M 300 -190.66666666666669 L 314 -190.66666666666669" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+      <path d="M 299.0 -182.66666666666669 L 299.0 -198.66666666666669 L 315.0 -198.66666666666669 L 315.0 -182.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -190.66666666666669 M 311.0 -190.66666666666669 L 311 -190.667 M 311 -190.667 A 4 4 0 1 0 303 -190.667 A 4 4 0 1 0 311 -190.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-186.0">
+        n_mmap
+      </text>
+      <path d="M 300 -172.66666666666669 L 314 -172.66666666666669" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+        <path d="M 299.85714285714283 -165.52380952380952 L 299.85714285714283 -179.8095238095238 L 314.14285714285717 -179.8095238095238 L 314.14285714285717 -165.52380952380952 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 299.85714285714283 -172.66666666666669 L 307.0 -179.8095238095238 L 314.14285714285717 -172.66666666666669 L 307.0 -165.52380952380952 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-168.0">
+          rb_tree_
+        </text>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-154.0">
+          mmap_
+        </text>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-140.0">
+          lu_mtf_set
+        </text>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_hash_local.pdf b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_hash_local.pdf
new file mode 100644 (file)
index 0000000..17b3400
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_hash_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_hash_local.png b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_hash_local.png
new file mode 100644 (file)
index 0000000..77b902c
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_hash_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_hash_local.svg b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_hash_local.svg
new file mode 100644 (file)
index 0000000..ede137c
--- /dev/null
@@ -0,0 +1,239 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 416.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 357.6 -419.1525365323605 M 361.6 -419.1525365323605 L 361.6 -419.153 M 361.6 -419.153 A 4 4 0 1 0 353.6 -419.153 A 4 4 0 1 0 361.6 -419.153 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 434.4 -444.59385387974703 M 438.4 -444.59385387974703 L 438.4 -444.594 M 438.4 -444.594 A 4 4 0 1 0 430.4 -444.594 A 4 4 0 1 0 438.4 -444.594 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 511.2 -467.2453646803691 M 515.2 -467.2453646803691 L 515.2 -467.245 M 515.2 -467.245 A 4 4 0 1 0 507.2 -467.245 A 4 4 0 1 0 515.2 -467.245 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 588.0 -489.8104521260099 M 592.0 -489.8104521260099 L 592 -489.81 M 592 -489.81 A 4 4 0 1 0 584 -489.81 A 4 4 0 1 0 592 -489.81 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 664.8 -520.0 M 668.8 -520.0 L 668.8 -520 M 668.8 -520 A 4 4 0 1 0 660.8 -520 A 4 4 0 1 0 668.8 -520 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 307.0 -236.66666666666666 M 311.0 -236.66666666666666 L 311 -236.667 M 311 -236.667 A 4 4 0 1 0 303 -236.667 A 4 4 0 1 0 311 -236.667 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      8.71e-08
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      1.74e-07
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      2.61e-07
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      3.48e-07
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      4.35e-07
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 357.6 -419.1525365323605 L 434.4 -444.59385387974703 L 511.2 -467.2453646803691 L 588.0 -489.8104521260099 L 664.8 -520.0" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 349.6 -411.1525365323605 L 349.6 -427.1525365323605 L 365.6 -427.1525365323605 L 365.6 -411.1525365323605 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 357.6 -419.1525365323605 M 361.6 -419.1525365323605 L 361.6 -419.153 M 361.6 -419.153 A 4 4 0 1 0 353.6 -419.153 A 4 4 0 1 0 361.6 -419.153 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 426.4 -436.59385387974703 L 426.4 -452.59385387974703 L 442.4 -452.59385387974703 L 442.4 -436.59385387974703 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 434.4 -444.59385387974703 M 438.4 -444.59385387974703 L 438.4 -444.594 M 438.4 -444.594 A 4 4 0 1 0 430.4 -444.594 A 4 4 0 1 0 438.4 -444.594 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 503.2 -459.2453646803691 L 503.2 -475.2453646803691 L 519.2 -475.2453646803691 L 519.2 -459.2453646803691 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 511.2 -467.2453646803691 M 515.2 -467.2453646803691 L 515.2 -467.245 M 515.2 -467.245 A 4 4 0 1 0 507.2 -467.245 A 4 4 0 1 0 515.2 -467.245 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 580.0 -481.8104521260099 L 580.0 -497.8104521260099 L 596.0 -497.8104521260099 L 596.0 -481.8104521260099 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 588.0 -489.8104521260099 M 592.0 -489.8104521260099 L 592 -489.81 M 592 -489.81 A 4 4 0 1 0 584 -489.81 A 4 4 0 1 0 592 -489.81 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 656.8 -512.0 L 656.8 -528.0 L 672.8 -528.0 L 672.8 -512.0 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 664.8 -520.0 M 668.8 -520.0 L 668.8 -520 M 668.8 -520 A 4 4 0 1 0 660.8 -520 A 4 4 0 1 0 668.8 -520 Z"/>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip8);">
+        <path d="M 357.6 -464.55815428016143 L 434.4 -441.7671531522011 L 511.2 -414.2981720610431 L 588.0 -400.50126464797756 L 664.8 -406.1314177151797" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip9);">
+        <path d="M 352.6 -459.55815428016143 L 362.6 -469.55815428016143" style="stroke-width:0.7;"/>
+        <path d="M 362.6 -459.55815428016143 L 352.6 -469.55815428016143" style="stroke-width:0.7;"/>
+        <path d="M 429.4 -436.7671531522011 L 439.4 -446.7671531522011" style="stroke-width:0.7;"/>
+        <path d="M 439.4 -436.7671531522011 L 429.4 -446.7671531522011" style="stroke-width:0.7;"/>
+        <path d="M 506.2 -409.2981720610431 L 516.2 -419.2981720610431" style="stroke-width:0.7;"/>
+        <path d="M 516.2 -409.2981720610431 L 506.2 -419.2981720610431" style="stroke-width:0.7;"/>
+        <path d="M 583.0 -395.50126464797756 L 593.0 -405.50126464797756" style="stroke-width:0.7;"/>
+        <path d="M 593.0 -395.50126464797756 L 583.0 -405.50126464797756" style="stroke-width:0.7;"/>
+        <path d="M 659.8 -401.1314177151797 L 669.8 -411.1314177151797" style="stroke-width:0.7;"/>
+        <path d="M 669.8 -401.1314177151797 L 659.8 -411.1314177151797" style="stroke-width:0.7;"/>
+      </g>
+      <g style="clip-path:url(#clip10);">
+        <path d="M 357.6 -368.10817392183304 L 434.4 -355.5151286816648 L 511.2 -353.79171557940634 L 588.0 -354.34411749165514 L 664.8 -356.1044247746951" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip11);">
+        <path d="M 352.6 -363.10817392183304 L 362.6 -373.10817392183304" style="stroke-width:0.7;"/>
+        <path d="M 362.6 -363.10817392183304 L 352.6 -373.10817392183304" style="stroke-width:0.7;"/>
+        <path d="M 429.4 -350.5151286816648 L 439.4 -360.5151286816648" style="stroke-width:0.7;"/>
+        <path d="M 439.4 -350.5151286816648 L 429.4 -360.5151286816648" style="stroke-width:0.7;"/>
+        <path d="M 506.2 -348.79171557940634 L 516.2 -358.79171557940634" style="stroke-width:0.7;"/>
+        <path d="M 516.2 -348.79171557940634 L 506.2 -358.79171557940634" style="stroke-width:0.7;"/>
+        <path d="M 583.0 -349.34411749165514 L 593.0 -359.34411749165514" style="stroke-width:0.7;"/>
+        <path d="M 593.0 -349.34411749165514 L 583.0 -359.34411749165514" style="stroke-width:0.7;"/>
+        <path d="M 659.8 -351.1044247746951 L 669.8 -361.1044247746951" style="stroke-width:0.7;"/>
+        <path d="M 669.8 -351.1044247746951 L 659.8 -361.1044247746951" style="stroke-width:0.7;"/>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -236.66666666666666 L 314 -236.66666666666666" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip13);">
+      <path d="M 299.0 -228.66666666666666 L 299.0 -244.66666666666666 L 315.0 -244.66666666666666 L 315.0 -228.66666666666666 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -236.66666666666666 M 311.0 -236.66666666666666 L 311 -236.667 M 311 -236.667 A 4 4 0 1 0 303 -236.667 A 4 4 0 1 0 311 -236.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-232.0">
+        n_hash_mmap
+      </text>
+      <path d="M 300 -218.66666666666669 L 314 -218.66666666666669" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      <path d="M 302.0 -213.66666666666669 L 312.0 -223.66666666666669" style="stroke-width:0.7;"/>
+      <path d="M 312.0 -213.66666666666669 L 302.0 -223.66666666666669" style="stroke-width:0.7;"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-214.0">
+        cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_
+      </text>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-200.0">
+        mmap_
+      </text>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-186.0">
+        cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+      </text>
+      <path d="M 300 -172.66666666666669 L 314 -172.66666666666669" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      <path d="M 302.0 -167.66666666666669 L 312.0 -177.66666666666669" style="stroke-width:0.7;"/>
+      <path d="M 312.0 -167.66666666666669 L 302.0 -177.66666666666669" style="stroke-width:0.7;"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-168.0">
+        cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_
+      </text>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-154.0">
+        mmap_
+      </text>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-140.0">
+        lu_mtf_set
+      </text>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_tree_local.pdf b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_tree_local.pdf
new file mode 100644 (file)
index 0000000..cbacc90
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_tree_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_tree_local.png b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_tree_local.png
new file mode 100644 (file)
index 0000000..42c7afa
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_tree_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_tree_local.svg b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_tree_local.svg
new file mode 100644 (file)
index 0000000..c306080
--- /dev/null
@@ -0,0 +1,281 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 416.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 357.6 -430.69209183524026 M 361.6 -430.69209183524026 L 361.6 -430.692 M 361.6 -430.692 A 4 4 0 1 0 353.6 -430.692 A 4 4 0 1 0 361.6 -430.692 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 434.4 -462.4399257163278 M 438.4 -462.4399257163278 L 438.4 -462.44 M 438.4 -462.44 A 4 4 0 1 0 430.4 -462.44 A 4 4 0 1 0 438.4 -462.44 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 511.2 -482.7841614088121 M 515.2 -482.7841614088121 L 515.2 -482.784 M 515.2 -482.784 A 4 4 0 1 0 507.2 -482.784 A 4 4 0 1 0 515.2 -482.784 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 588.0 -500.8572148309578 M 592.0 -500.8572148309578 L 592 -500.857 M 592 -500.857 A 4 4 0 1 0 584 -500.857 A 4 4 0 1 0 592 -500.857 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 664.8 -520.0 M 668.8 -520.0 L 668.8 -520 M 668.8 -520 A 4 4 0 1 0 660.8 -520 A 4 4 0 1 0 668.8 -520 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 350.45714285714286 -365.1721822879137 L 357.6 -372.3150394307708 L 364.74285714285713 -365.1721822879137 L 357.6 -358.02932514505653 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 427.25714285714287 -363.7732824829962 L 434.4 -370.9161396258533 L 441.54285714285714 -363.7732824829962 L 434.4 -356.630425340139 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 504.0571428571428 -366.8693181485322 L 511.2 -374.0121752913893 L 518.3428571428572 -366.8693181485322 L 511.2 -359.72646100567505 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 580.8571428571429 -368.9134079685056 L 588.0 -376.05626511136273 L 595.1428571428571 -368.9134079685056 L 588.0 -361.77055082564846 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 657.6571428571428 -372.0042883003216 L 664.8 -379.1471454431788 L 671.9428571428572 -372.0042883003216 L 664.8 -364.8614311574645 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 307.0 -236.66666666666666 M 311.0 -236.66666666666666 L 311 -236.667 M 311 -236.667 A 4 4 0 1 0 303 -236.667 A 4 4 0 1 0 311 -236.667 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 299.85714285714283 -172.66666666666669 L 307.0 -179.8095238095238 L 314.14285714285717 -172.66666666666669 L 307.0 -165.52380952380952 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.5004867321942">
+      1.71e-07
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      3.41e-07
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      5.12e-07
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      6.83e-07
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      8.53e-07
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 357.6 -430.69209183524026 L 434.4 -462.4399257163278 L 511.2 -482.7841614088121 L 588.0 -500.8572148309578 L 664.8 -520.0" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 349.6 -422.69209183524026 L 349.6 -438.69209183524026 L 365.6 -438.69209183524026 L 365.6 -422.69209183524026 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 357.6 -430.69209183524026 M 361.6 -430.69209183524026 L 361.6 -430.692 M 361.6 -430.692 A 4 4 0 1 0 353.6 -430.692 A 4 4 0 1 0 361.6 -430.692 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 426.4 -454.4399257163278 L 426.4 -470.4399257163278 L 442.4 -470.4399257163278 L 442.4 -454.4399257163278 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 434.4 -462.4399257163278 M 438.4 -462.4399257163278 L 438.4 -462.44 M 438.4 -462.44 A 4 4 0 1 0 430.4 -462.44 A 4 4 0 1 0 438.4 -462.44 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 503.2 -474.7841614088121 L 503.2 -490.7841614088121 L 519.2 -490.7841614088121 L 519.2 -474.7841614088121 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 511.2 -482.7841614088121 M 515.2 -482.7841614088121 L 515.2 -482.784 M 515.2 -482.784 A 4 4 0 1 0 507.2 -482.784 A 4 4 0 1 0 515.2 -482.784 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 580.0 -492.8572148309578 L 580.0 -508.8572148309578 L 596.0 -508.8572148309578 L 596.0 -492.8572148309578 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 588.0 -500.8572148309578 M 592.0 -500.8572148309578 L 592 -500.857 M 592 -500.857 A 4 4 0 1 0 584 -500.857 A 4 4 0 1 0 592 -500.857 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 656.8 -512.0 L 656.8 -528.0 L 672.8 -528.0 L 672.8 -512.0 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 664.8 -520.0 M 668.8 -520.0 L 668.8 -520 M 668.8 -520 A 4 4 0 1 0 660.8 -520 A 4 4 0 1 0 668.8 -520 Z"/>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip8);">
+        <path d="M 357.6 -453.98260074869506 L 434.4 -455.4425912581944 L 511.2 -458.8961493172112 L 588.0 -454.7667270075045 L 664.8 -459.6078431372549" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip9);">
+        <path d="M 352.6 -448.98260074869506 L 362.6 -458.98260074869506" style="stroke-width:0.7;"/>
+        <path d="M 362.6 -448.98260074869506 L 352.6 -458.98260074869506" style="stroke-width:0.7;"/>
+        <path d="M 429.4 -450.4425912581944 L 439.4 -460.4425912581944" style="stroke-width:0.7;"/>
+        <path d="M 439.4 -450.4425912581944 L 429.4 -460.4425912581944" style="stroke-width:0.7;"/>
+        <path d="M 506.2 -453.8961493172112 L 516.2 -463.8961493172112" style="stroke-width:0.7;"/>
+        <path d="M 516.2 -453.8961493172112 L 506.2 -463.8961493172112" style="stroke-width:0.7;"/>
+        <path d="M 583.0 -449.7667270075045 L 593.0 -459.7667270075045" style="stroke-width:0.7;"/>
+        <path d="M 593.0 -449.7667270075045 L 583.0 -459.7667270075045" style="stroke-width:0.7;"/>
+        <path d="M 659.8 -454.6078431372549 L 669.8 -464.6078431372549" style="stroke-width:0.7;"/>
+        <path d="M 669.8 -454.6078431372549 L 659.8 -464.6078431372549" style="stroke-width:0.7;"/>
+      </g>
+      <g style="clip-path:url(#clip10);">
+        <path d="M 357.6 -365.1721822879137 L 434.4 -363.7732824829962 L 511.2 -366.8693181485322 L 588.0 -368.9134079685056 L 664.8 -372.0042883003216" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip11);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+          <path d="M 350.45714285714286 -358.02932514505653 L 350.45714285714286 -372.3150394307708 L 364.74285714285713 -372.3150394307708 L 364.74285714285713 -358.02932514505653 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 350.45714285714286 -365.1721822879137 L 357.6 -372.3150394307708 L 364.74285714285713 -365.1721822879137 L 357.6 -358.02932514505653 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip13);">
+            <path d="M 427.25714285714287 -356.630425340139 L 427.25714285714287 -370.9161396258533 L 441.54285714285714 -370.9161396258533 L 441.54285714285714 -356.630425340139 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 427.25714285714287 -363.7732824829962 L 434.4 -370.9161396258533 L 441.54285714285714 -363.7732824829962 L 434.4 -356.630425340139 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip14);">
+              <path d="M 504.0571428571428 -359.72646100567505 L 504.0571428571428 -374.0121752913893 L 518.3428571428572 -374.0121752913893 L 518.3428571428572 -359.72646100567505 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 504.0571428571428 -366.8693181485322 L 511.2 -374.0121752913893 L 518.3428571428572 -366.8693181485322 L 511.2 -359.72646100567505 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+                <path d="M 580.8571428571429 -361.77055082564846 L 580.8571428571429 -376.05626511136273 L 595.1428571428571 -376.05626511136273 L 595.1428571428571 -361.77055082564846 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 580.8571428571429 -368.9134079685056 L 588.0 -376.05626511136273 L 595.1428571428571 -368.9134079685056 L 588.0 -361.77055082564846 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+                  <path d="M 657.6571428571428 -364.8614311574645 L 657.6571428571428 -379.1471454431788 L 671.9428571428572 -379.1471454431788 L 671.9428571428572 -364.8614311574645 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 657.6571428571428 -372.0042883003216 L 664.8 -379.1471454431788 L 671.9428571428572 -372.0042883003216 L 664.8 -364.8614311574645 Z"/>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -236.66666666666666 L 314 -236.66666666666666" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+      <path d="M 299.0 -228.66666666666666 L 299.0 -244.66666666666666 L 315.0 -244.66666666666666 L 315.0 -228.66666666666666 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -236.66666666666666 M 311.0 -236.66666666666666 L 311 -236.667 M 311 -236.667 A 4 4 0 1 0 303 -236.667 A 4 4 0 1 0 311 -236.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-232.0">
+        n_mmap
+      </text>
+      <path d="M 300 -218.66666666666669 L 314 -218.66666666666669" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      <path d="M 302.0 -213.66666666666669 L 312.0 -223.66666666666669" style="stroke-width:0.7;"/>
+      <path d="M 312.0 -213.66666666666669 L 302.0 -223.66666666666669" style="stroke-width:0.7;"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-214.0">
+        rb_tree_
+      </text>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-200.0">
+        mmap_
+      </text>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-186.0">
+        cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+      </text>
+      <path d="M 300 -172.66666666666669 L 314 -172.66666666666669" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+        <path d="M 299.85714285714283 -165.52380952380952 L 299.85714285714283 -179.8095238095238 L 314.14285714285717 -179.8095238095238 L 314.14285714285717 -165.52380952380952 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 299.85714285714283 -172.66666666666669 L 307.0 -179.8095238095238 L 314.14285714285717 -172.66666666666669 L 307.0 -165.52380952380952 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-168.0">
+          rb_tree_
+        </text>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-154.0">
+          mmap_
+        </text>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-140.0">
+          lu_mtf_set
+        </text>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_hash_local.pdf b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_hash_local.pdf
new file mode 100644 (file)
index 0000000..941c80b
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_hash_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_hash_local.png b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_hash_local.png
new file mode 100644 (file)
index 0000000..c30ecbe
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_hash_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_hash_local.svg b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_hash_local.svg
new file mode 100644 (file)
index 0000000..4602fc1
--- /dev/null
@@ -0,0 +1,239 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 416.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 376.8 -358.99285188439524 M 380.8 -358.99285188439524 L 380.8 -358.993 M 380.8 -358.993 A 4 4 0 1 0 372.8 -358.993 A 4 4 0 1 0 380.8 -358.993 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 453.6 -370.0192357928234 M 457.6 -370.0192357928234 L 457.6 -370.019 M 457.6 -370.019 A 4 4 0 1 0 449.6 -370.019 A 4 4 0 1 0 457.6 -370.019 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 530.4 -379.0749899071458 M 534.4 -379.0749899071458 L 534.4 -379.075 M 534.4 -379.075 A 4 4 0 1 0 526.4 -379.075 A 4 4 0 1 0 534.4 -379.075 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 607.2 -378.7690279987651 M 611.2 -378.7690279987651 L 611.2 -378.769 M 611.2 -378.769 A 4 4 0 1 0 603.2 -378.769 A 4 4 0 1 0 611.2 -378.769 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 684.0 -386.9343252036382 M 688.0 -386.9343252036382 L 688 -386.934 M 688 -386.934 A 4 4 0 1 0 680 -386.934 A 4 4 0 1 0 688 -386.934 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 307.0 -190.66666666666669 M 311.0 -190.66666666666669 L 311 -190.667 M 311 -190.667 A 4 4 0 1 0 303 -190.667 A 4 4 0 1 0 311 -190.667 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      1.35e-07
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      2.69e-07
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      4.04e-07
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      5.39e-07
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321943">
+      6.74e-07
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 376.8 -520.0 L 453.6 -427.27786815170157 L 530.4 -398.3398145289606 L 607.2 -407.08079032985825 L 684.0 -395.4777482248451" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <path d="M 371.8 -515.0 L 381.8 -525.0" style="stroke-width:0.7;"/>
+        <path d="M 381.8 -515.0 L 371.8 -525.0" style="stroke-width:0.7;"/>
+        <path d="M 448.6 -422.27786815170157 L 458.6 -432.27786815170157" style="stroke-width:0.7;"/>
+        <path d="M 458.6 -422.27786815170157 L 448.6 -432.27786815170157" style="stroke-width:0.7;"/>
+        <path d="M 525.4 -393.3398145289606 L 535.4 -403.3398145289606" style="stroke-width:0.7;"/>
+        <path d="M 535.4 -393.3398145289606 L 525.4 -403.3398145289606" style="stroke-width:0.7;"/>
+        <path d="M 602.2 -402.08079032985825 L 612.2 -412.08079032985825" style="stroke-width:0.7;"/>
+        <path d="M 612.2 -402.08079032985825 L 602.2 -412.08079032985825" style="stroke-width:0.7;"/>
+        <path d="M 679.0 -390.4777482248451 L 689.0 -400.4777482248451" style="stroke-width:0.7;"/>
+        <path d="M 689.0 -390.4777482248451 L 679.0 -400.4777482248451" style="stroke-width:0.7;"/>
+      </g>
+      <g style="clip-path:url(#clip3);">
+        <path d="M 376.8 -358.99285188439524 L 453.6 -370.0192357928234 L 530.4 -379.0749899071458 L 607.2 -378.7690279987651 L 684.0 -386.9343252036382" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip4);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+          <path d="M 368.8 -350.99285188439524 L 368.8 -366.99285188439524 L 384.8 -366.99285188439524 L 384.8 -350.99285188439524 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 376.8 -358.99285188439524 M 380.8 -358.99285188439524 L 380.8 -358.993 M 380.8 -358.993 A 4 4 0 1 0 372.8 -358.993 A 4 4 0 1 0 380.8 -358.993 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+            <path d="M 445.6 -362.0192357928234 L 445.6 -378.0192357928234 L 461.6 -378.0192357928234 L 461.6 -362.0192357928234 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 453.6 -370.0192357928234 M 457.6 -370.0192357928234 L 457.6 -370.019 M 457.6 -370.019 A 4 4 0 1 0 449.6 -370.019 A 4 4 0 1 0 457.6 -370.019 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+              <path d="M 522.4 -371.0749899071458 L 522.4 -387.0749899071458 L 538.4 -387.0749899071458 L 538.4 -371.0749899071458 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 530.4 -379.0749899071458 M 534.4 -379.0749899071458 L 534.4 -379.075 M 534.4 -379.075 A 4 4 0 1 0 526.4 -379.075 A 4 4 0 1 0 534.4 -379.075 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                <path d="M 599.2 -370.7690279987651 L 599.2 -386.7690279987651 L 615.2 -386.7690279987651 L 615.2 -370.7690279987651 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 607.2 -378.7690279987651 M 611.2 -378.7690279987651 L 611.2 -378.769 M 611.2 -378.769 A 4 4 0 1 0 603.2 -378.769 A 4 4 0 1 0 611.2 -378.769 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                  <path d="M 676.0 -378.9343252036382 L 676.0 -394.9343252036382 L 692.0 -394.9343252036382 L 692.0 -378.9343252036382 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 684.0 -386.9343252036382 M 688.0 -386.9343252036382 L 688 -386.934 M 688 -386.934 A 4 4 0 1 0 680 -386.934 A 4 4 0 1 0 688 -386.934 Z"/>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip10);">
+        <path d="M 376.8 -369.3348215345888 L 453.6 -350.6528592462419 L 530.4 -343.34438599824267 L 607.2 -340.0725201263388 L 684.0 -338.2387078771759" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip11);">
+        <path d="M 371.8 -364.3348215345888 L 381.8 -374.3348215345888" style="stroke-width:0.7;"/>
+        <path d="M 381.8 -364.3348215345888 L 371.8 -374.3348215345888" style="stroke-width:0.7;"/>
+        <path d="M 448.6 -345.6528592462419 L 458.6 -355.6528592462419" style="stroke-width:0.7;"/>
+        <path d="M 458.6 -345.6528592462419 L 448.6 -355.6528592462419" style="stroke-width:0.7;"/>
+        <path d="M 525.4 -338.34438599824267 L 535.4 -348.34438599824267" style="stroke-width:0.7;"/>
+        <path d="M 535.4 -338.34438599824267 L 525.4 -348.34438599824267" style="stroke-width:0.7;"/>
+        <path d="M 602.2 -335.0725201263388 L 612.2 -345.0725201263388" style="stroke-width:0.7;"/>
+        <path d="M 612.2 -335.0725201263388 L 602.2 -345.0725201263388" style="stroke-width:0.7;"/>
+        <path d="M 679.0 -333.2387078771759 L 689.0 -343.2387078771759" style="stroke-width:0.7;"/>
+        <path d="M 689.0 -333.2387078771759 L 679.0 -343.2387078771759" style="stroke-width:0.7;"/>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -236.66666666666666 L 314 -236.66666666666666" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+    <path d="M 302.0 -231.66666666666666 L 312.0 -241.66666666666666" style="stroke-width:0.7;"/>
+    <path d="M 312.0 -231.66666666666666 L 302.0 -241.66666666666666" style="stroke-width:0.7;"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-232.0">
+      cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-218.0">
+      mmap_
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-204.0">
+      cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+    </text>
+    <path d="M 300 -190.66666666666669 L 314 -190.66666666666669" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip13);">
+      <path d="M 299.0 -182.66666666666669 L 299.0 -198.66666666666669 L 315.0 -198.66666666666669 L 315.0 -182.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -190.66666666666669 M 311.0 -190.66666666666669 L 311 -190.667 M 311 -190.667 A 4 4 0 1 0 303 -190.667 A 4 4 0 1 0 311 -190.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-186.0">
+        n_hash_mmap
+      </text>
+      <path d="M 300 -172.66666666666669 L 314 -172.66666666666669" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      <path d="M 302.0 -167.66666666666669 L 312.0 -177.66666666666669" style="stroke-width:0.7;"/>
+      <path d="M 312.0 -167.66666666666669 L 302.0 -177.66666666666669" style="stroke-width:0.7;"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-168.0">
+        cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_
+      </text>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-154.0">
+        mmap_
+      </text>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-140.0">
+        lu_mtf_set
+      </text>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_tree_local.pdf b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_tree_local.pdf
new file mode 100644 (file)
index 0000000..cd433bd
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_tree_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_tree_local.png b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_tree_local.png
new file mode 100644 (file)
index 0000000..a987220
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_tree_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_tree_local.svg b/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_tree_local.svg
new file mode 100644 (file)
index 0000000..9af96f3
--- /dev/null
@@ -0,0 +1,281 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 416.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 376.8 -444.64371384224637 M 380.8 -444.64371384224637 L 380.8 -444.644 M 380.8 -444.644 A 4 4 0 1 0 372.8 -444.644 A 4 4 0 1 0 380.8 -444.644 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 453.6 -461.59898405531254 M 457.6 -461.59898405531254 L 457.6 -461.599 M 457.6 -461.599 A 4 4 0 1 0 449.6 -461.599 A 4 4 0 1 0 457.6 -461.599 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 530.4 -472.0118526880203 M 534.4 -472.0118526880203 L 534.4 -472.012 M 534.4 -472.012 A 4 4 0 1 0 526.4 -472.012 A 4 4 0 1 0 534.4 -472.012 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 607.2 -485.8504303654579 M 611.2 -485.8504303654579 L 611.2 -485.85 M 611.2 -485.85 A 4 4 0 1 0 603.2 -485.85 A 4 4 0 1 0 611.2 -485.85 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 684.0 -494.8570622266121 M 688.0 -494.8570622266121 L 688 -494.857 M 688 -494.857 A 4 4 0 1 0 680 -494.857 A 4 4 0 1 0 688 -494.857 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 369.65714285714284 -393.37914491322135 L 376.8 -400.5220020560785 L 383.9428571428571 -393.37914491322135 L 376.8 -386.23628777036424 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 446.45714285714286 -387.7556088612953 L 453.6 -394.89846600415245 L 460.74285714285713 -387.7556088612953 L 453.6 -380.6127517184382 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 523.2571428571429 -386.8251728517003 L 530.4 -393.96802999455747 L 537.5428571428572 -386.8251728517003 L 530.4 -379.68231570884313 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 600.0571428571428 -388.1896430083251 L 607.2 -395.3325001511822 L 614.3428571428572 -388.1896430083251 L 607.2 -381.046785865468 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 676.8571428571429 -387.7976576830817 L 684.0 -394.94051482593886 L 691.1428571428571 -387.7976576830817 L 684.0 -380.6548005402245 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 307.0 -190.66666666666669 M 311.0 -190.66666666666669 L 311 -190.667 M 311 -190.667 A 4 4 0 1 0 303 -190.667 A 4 4 0 1 0 311 -190.667 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 299.85714285714283 -172.66666666666669 L 307.0 -179.8095238095238 L 314.14285714285717 -172.66666666666669 L 307.0 -165.52380952380952 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      1.56e-07
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      3.12e-07
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      4.68e-07
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      6.24e-07
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321943">
+      7.80e-07
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 376.8 -520.0 L 453.6 -496.4732609002399 L 530.4 -485.28742768449274 L 607.2 -508.9510371102018 L 684.0 -501.5764075067024" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <path d="M 371.8 -515.0 L 381.8 -525.0" style="stroke-width:0.7;"/>
+        <path d="M 381.8 -515.0 L 371.8 -525.0" style="stroke-width:0.7;"/>
+        <path d="M 448.6 -491.4732609002399 L 458.6 -501.4732609002399" style="stroke-width:0.7;"/>
+        <path d="M 458.6 -491.4732609002399 L 448.6 -501.4732609002399" style="stroke-width:0.7;"/>
+        <path d="M 525.4 -480.28742768449274 L 535.4 -490.28742768449274" style="stroke-width:0.7;"/>
+        <path d="M 535.4 -480.28742768449274 L 525.4 -490.28742768449274" style="stroke-width:0.7;"/>
+        <path d="M 602.2 -503.9510371102018 L 612.2 -513.9510371102018" style="stroke-width:0.7;"/>
+        <path d="M 612.2 -503.9510371102018 L 602.2 -513.9510371102018" style="stroke-width:0.7;"/>
+        <path d="M 679.0 -496.5764075067024 L 689.0 -506.5764075067024" style="stroke-width:0.7;"/>
+        <path d="M 689.0 -496.5764075067024 L 679.0 -506.5764075067024" style="stroke-width:0.7;"/>
+      </g>
+      <g style="clip-path:url(#clip3);">
+        <path d="M 376.8 -444.64371384224637 L 453.6 -461.59898405531254 L 530.4 -472.0118526880203 L 607.2 -485.8504303654579 L 684.0 -494.8570622266121" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip4);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+          <path d="M 368.8 -436.64371384224637 L 368.8 -452.64371384224637 L 384.8 -452.64371384224637 L 384.8 -436.64371384224637 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 376.8 -444.64371384224637 M 380.8 -444.64371384224637 L 380.8 -444.644 M 380.8 -444.644 A 4 4 0 1 0 372.8 -444.644 A 4 4 0 1 0 380.8 -444.644 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+            <path d="M 445.6 -453.59898405531254 L 445.6 -469.59898405531254 L 461.6 -469.59898405531254 L 461.6 -453.59898405531254 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 453.6 -461.59898405531254 M 457.6 -461.59898405531254 L 457.6 -461.599 M 457.6 -461.599 A 4 4 0 1 0 449.6 -461.599 A 4 4 0 1 0 457.6 -461.599 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+              <path d="M 522.4 -464.0118526880203 L 522.4 -480.0118526880203 L 538.4 -480.0118526880203 L 538.4 -464.0118526880203 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 530.4 -472.0118526880203 M 534.4 -472.0118526880203 L 534.4 -472.012 M 534.4 -472.012 A 4 4 0 1 0 526.4 -472.012 A 4 4 0 1 0 534.4 -472.012 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                <path d="M 599.2 -477.8504303654579 L 599.2 -493.8504303654579 L 615.2 -493.8504303654579 L 615.2 -477.8504303654579 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 607.2 -485.8504303654579 M 611.2 -485.8504303654579 L 611.2 -485.85 M 611.2 -485.85 A 4 4 0 1 0 603.2 -485.85 A 4 4 0 1 0 611.2 -485.85 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                  <path d="M 676.0 -486.8570622266121 L 676.0 -502.8570622266121 L 692.0 -502.8570622266121 L 692.0 -486.8570622266121 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 684.0 -494.8570622266121 M 688.0 -494.8570622266121 L 688 -494.857 M 688 -494.857 A 4 4 0 1 0 680 -494.857 A 4 4 0 1 0 688 -494.857 Z"/>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip10);">
+        <path d="M 376.8 -393.37914491322135 L 453.6 -387.7556088612953 L 530.4 -386.8251728517003 L 607.2 -388.1896430083251 L 684.0 -387.7976576830817" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip11);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+          <path d="M 369.65714285714284 -386.23628777036424 L 369.65714285714284 -400.5220020560785 L 383.9428571428571 -400.5220020560785 L 383.9428571428571 -386.23628777036424 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 369.65714285714284 -393.37914491322135 L 376.8 -400.5220020560785 L 383.9428571428571 -393.37914491322135 L 376.8 -386.23628777036424 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip13);">
+            <path d="M 446.45714285714286 -380.6127517184382 L 446.45714285714286 -394.89846600415245 L 460.74285714285713 -394.89846600415245 L 460.74285714285713 -380.6127517184382 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 446.45714285714286 -387.7556088612953 L 453.6 -394.89846600415245 L 460.74285714285713 -387.7556088612953 L 453.6 -380.6127517184382 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip14);">
+              <path d="M 523.2571428571429 -379.68231570884313 L 523.2571428571429 -393.96802999455747 L 537.5428571428572 -393.96802999455747 L 537.5428571428572 -379.68231570884313 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 523.2571428571429 -386.8251728517003 L 530.4 -393.96802999455747 L 537.5428571428572 -386.8251728517003 L 530.4 -379.68231570884313 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+                <path d="M 600.0571428571428 -381.046785865468 L 600.0571428571428 -395.3325001511822 L 614.3428571428572 -395.3325001511822 L 614.3428571428572 -381.046785865468 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 600.0571428571428 -388.1896430083251 L 607.2 -395.3325001511822 L 614.3428571428572 -388.1896430083251 L 607.2 -381.046785865468 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+                  <path d="M 676.8571428571429 -380.6548005402245 L 676.8571428571429 -394.94051482593886 L 691.1428571428571 -394.94051482593886 L 691.1428571428571 -380.6548005402245 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 676.8571428571429 -387.7976576830817 L 684.0 -394.94051482593886 L 691.1428571428571 -387.7976576830817 L 684.0 -380.6548005402245 Z"/>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+      <path d="M 290 -134 L 290 -246 L 324 -246 L 324 -134 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -236.66666666666666 L 314 -236.66666666666666" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+    <path d="M 302.0 -231.66666666666666 L 312.0 -241.66666666666666" style="stroke-width:0.7;"/>
+    <path d="M 312.0 -231.66666666666666 L 302.0 -241.66666666666666" style="stroke-width:0.7;"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-232.0">
+      rb_tree_
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-218.0">
+      mmap_
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-204.0">
+      cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+    </text>
+    <path d="M 300 -190.66666666666669 L 314 -190.66666666666669" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+      <path d="M 299.0 -182.66666666666669 L 299.0 -198.66666666666669 L 315.0 -198.66666666666669 L 315.0 -182.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -190.66666666666669 M 311.0 -190.66666666666669 L 311 -190.667 M 311 -190.667 A 4 4 0 1 0 303 -190.667 A 4 4 0 1 0 311 -190.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-186.0">
+        n_mmap
+      </text>
+      <path d="M 300 -172.66666666666669 L 314 -172.66666666666669" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+        <path d="M 299.85714285714283 -165.52380952380952 L 299.85714285714283 -179.8095238095238 L 314.14285714285717 -179.8095238095238 L 314.14285714285717 -165.52380952380952 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 299.85714285714283 -172.66666666666669 L 307.0 -179.8095238095238 L 314.14285714285717 -172.66666666666669 L 307.0 -165.52380952380952 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-168.0">
+          rb_tree_
+        </text>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-154.0">
+          mmap_
+        </text>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-140.0">
+          lu_mtf_set
+        </text>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_node_invariants.png b/libstdc++-v3/doc/xml/images/pbds_node_invariants.png
new file mode 100644 (file)
index 0000000..b375f51
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_node_invariants.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_pairing_priority_queue_text_push_pop_timing_test_local.pdf b/libstdc++-v3/doc/xml/images/pbds_pairing_priority_queue_text_push_pop_timing_test_local.pdf
new file mode 100644 (file)
index 0000000..caaa7fd
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_pairing_priority_queue_text_push_pop_timing_test_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_pairing_priority_queue_text_push_pop_timing_test_local.png b/libstdc++-v3/doc/xml/images/pbds_pairing_priority_queue_text_push_pop_timing_test_local.png
new file mode 100644 (file)
index 0000000..6bee356
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_pairing_priority_queue_text_push_pop_timing_test_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_pairing_priority_queue_text_push_pop_timing_test_local.svg b/libstdc++-v3/doc/xml/images/pbds_pairing_priority_queue_text_push_pop_timing_test_local.svg
new file mode 100644 (file)
index 0000000..650a12b
--- /dev/null
@@ -0,0 +1,369 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 416.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 338.4 -449.79559918396075 M 342.4 -449.79559918396075 L 342.4 -449.796 M 342.4 -449.796 A 4 4 0 1 0 334.4 -449.796 A 4 4 0 1 0 342.4 -449.796 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 376.8 -470.1165408951132 M 380.8 -470.1165408951132 L 380.8 -470.117 M 380.8 -470.117 A 4 4 0 1 0 372.8 -470.117 A 4 4 0 1 0 380.8 -470.117 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 415.2 -479.5751903823286 M 419.2 -479.5751903823286 L 419.2 -479.575 M 419.2 -479.575 A 4 4 0 1 0 411.2 -479.575 A 4 4 0 1 0 419.2 -479.575 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 453.6 -490.4298926130966 M 457.6 -490.4298926130966 L 457.6 -490.43 M 457.6 -490.43 A 4 4 0 1 0 449.6 -490.43 A 4 4 0 1 0 457.6 -490.43 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 492.0 -491.9504212446209 M 496.0 -491.9504212446209 L 496 -491.95 M 496 -491.95 A 4 4 0 1 0 488 -491.95 A 4 4 0 1 0 496 -491.95 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 530.4 -498.83454504890943 M 534.4 -498.83454504890943 L 534.4 -498.835 M 534.4 -498.835 A 4 4 0 1 0 526.4 -498.835 A 4 4 0 1 0 534.4 -498.835 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 568.8 -504.13995027404474 M 572.8 -504.13995027404474 L 572.8 -504.14 M 572.8 -504.14 A 4 4 0 1 0 564.8 -504.14 A 4 4 0 1 0 572.8 -504.14 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 607.2 -510.83331225001893 M 611.2 -510.83331225001893 L 611.2 -510.833 M 611.2 -510.833 A 4 4 0 1 0 603.2 -510.833 A 4 4 0 1 0 611.2 -510.833 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 645.6 -510.3551426803716 M 649.6 -510.3551426803716 L 649.6 -510.355 M 649.6 -510.355 A 4 4 0 1 0 641.6 -510.355 A 4 4 0 1 0 649.6 -510.355 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 684.0 -520.0 M 688.0 -520.0 L 688 -520 M 688 -520 A 4 4 0 1 0 680 -520 A 4 4 0 1 0 688 -520 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 334.4 -425.9624410338031 L 334.4 -433.9624410338031 L 342.4 -433.9624410338031 L 342.4 -425.9624410338031 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 372.8 -433.9749438225506 L 372.8 -441.9749438225506 L 380.8 -441.9749438225506 L 380.8 -433.9749438225506 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 411.2 -438.0669621397341 L 411.2 -446.0669621397341 L 419.2 -446.0669621397341 L 419.2 -438.0669621397341 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 449.6 -443.06218964402933 L 449.6 -451.06218964402933 L 457.6 -451.06218964402933 L 457.6 -443.06218964402933 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 488.0 -448.3438128905684 L 488.0 -456.3438128905684 L 496.0 -456.3438128905684 L 496.0 -448.3438128905684 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 526.4 -450.52365892870694 L 526.4 -458.52365892870694 L 534.4 -458.52365892870694 L 534.4 -450.52365892870694 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 564.8 -452.5061651444514 L 564.8 -460.5061651444514 L 572.8 -460.5061651444514 L 572.8 -452.5061651444514 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 603.2 -454.1248576876281 L 603.2 -462.1248576876281 L 611.2 -462.1248576876281 L 611.2 -454.1248576876281 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 641.6 -458.8291354537781 L 641.6 -466.8291354537781 L 649.6 -466.8291354537781 L 649.6 -458.8291354537781 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 680.0 -459.04418526023323 L 680.0 -467.04418526023323 L 688.0 -467.04418526023323 L 688.0 -459.04418526023323 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 290 -134 L 290 -190 L 324 -190 L 324 -134 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 307.0 -180.66666666666669 M 311.0 -180.66666666666669 L 311 -180.667 M 311 -180.667 A 4 4 0 1 0 303 -180.667 A 4 4 0 1 0 311 -180.667 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 303.0 -140.66666666666666 L 303.0 -148.66666666666666 L 311.0 -148.66666666666666 L 311.0 -140.66666666666666 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      8.70e-08
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      1.74e-07
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      2.61e-07
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      3.48e-07
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      4.35e-07
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -449.79559918396075 L 376.8 -470.1165408951132 L 415.2 -479.5751903823286 L 453.6 -490.4298926130966 L 492.0 -491.9504212446209 L 530.4 -498.83454504890943 L 568.8 -504.13995027404474 L 607.2 -510.83331225001893 L 645.6 -510.3551426803716 L 684.0 -520.0" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 330.4 -441.79559918396075 L 330.4 -457.79559918396075 L 346.4 -457.79559918396075 L 346.4 -441.79559918396075 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -449.79559918396075 M 342.4 -449.79559918396075 L 342.4 -449.796 M 342.4 -449.796 A 4 4 0 1 0 334.4 -449.796 A 4 4 0 1 0 342.4 -449.796 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 368.8 -462.1165408951132 L 368.8 -478.1165408951132 L 384.8 -478.1165408951132 L 384.8 -462.1165408951132 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -470.1165408951132 M 380.8 -470.1165408951132 L 380.8 -470.117 M 380.8 -470.117 A 4 4 0 1 0 372.8 -470.117 A 4 4 0 1 0 380.8 -470.117 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 407.2 -471.5751903823286 L 407.2 -487.5751903823286 L 423.2 -487.5751903823286 L 423.2 -471.5751903823286 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -479.5751903823286 M 419.2 -479.5751903823286 L 419.2 -479.575 M 419.2 -479.575 A 4 4 0 1 0 411.2 -479.575 A 4 4 0 1 0 419.2 -479.575 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 445.6 -482.4298926130966 L 445.6 -498.4298926130966 L 461.6 -498.4298926130966 L 461.6 -482.4298926130966 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -490.4298926130966 M 457.6 -490.4298926130966 L 457.6 -490.43 M 457.6 -490.43 A 4 4 0 1 0 449.6 -490.43 A 4 4 0 1 0 457.6 -490.43 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 484.0 -483.9504212446209 L 484.0 -499.9504212446209 L 500.0 -499.9504212446209 L 500.0 -483.9504212446209 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -491.9504212446209 M 496.0 -491.9504212446209 L 496 -491.95 M 496 -491.95 A 4 4 0 1 0 488 -491.95 A 4 4 0 1 0 496 -491.95 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 522.4 -490.83454504890943 L 522.4 -506.83454504890943 L 538.4 -506.83454504890943 L 538.4 -490.83454504890943 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -498.83454504890943 M 534.4 -498.83454504890943 L 534.4 -498.835 M 534.4 -498.835 A 4 4 0 1 0 526.4 -498.835 A 4 4 0 1 0 534.4 -498.835 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 560.8 -496.13995027404474 L 560.8 -512.1399502740447 L 576.8 -512.1399502740447 L 576.8 -496.13995027404474 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -504.13995027404474 M 572.8 -504.13995027404474 L 572.8 -504.14 M 572.8 -504.14 A 4 4 0 1 0 564.8 -504.14 A 4 4 0 1 0 572.8 -504.14 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 599.2 -502.83331225001893 L 599.2 -518.8333122500189 L 615.2 -518.8333122500189 L 615.2 -502.83331225001893 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -510.83331225001893 M 611.2 -510.83331225001893 L 611.2 -510.833 M 611.2 -510.833 A 4 4 0 1 0 603.2 -510.833 A 4 4 0 1 0 611.2 -510.833 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 637.6 -502.3551426803716 L 637.6 -518.3551426803716 L 653.6 -518.3551426803716 L 653.6 -502.3551426803716 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -510.3551426803716 M 649.6 -510.3551426803716 L 649.6 -510.355 M 649.6 -510.355 A 4 4 0 1 0 641.6 -510.355 A 4 4 0 1 0 649.6 -510.355 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 676.0 -512.0 L 676.0 -528.0 L 692.0 -528.0 L 692.0 -512.0 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -520.0 M 688.0 -520.0 L 688 -520 M 688 -520 A 4 4 0 1 0 680 -520 A 4 4 0 1 0 688 -520 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 338.4 -424.61351984783215 L 376.8 -447.20943551150805 L 415.2 -462.0028381974456 L 453.6 -471.81669936497053 L 492.0 -468.66634620028844 L 530.4 -480.18795583083977 L 568.8 -486.9455797489783 L 607.2 -488.8714140157274 L 645.6 -494.10041330962804 L 684.0 -497.95157584358174" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <path d="M 331.25714285714287 -424.61351984783215 L 345.54285714285714 -424.61351984783215" style="stroke-width:1;"/>
+        <path d="M 338.4 -417.470662704975 L 338.4 -431.7563769906893" style="stroke-width:1;"/>
+        <path d="M 369.65714285714284 -447.20943551150805 L 383.9428571428571 -447.20943551150805" style="stroke-width:1;"/>
+        <path d="M 376.8 -440.0665783686509 L 376.8 -454.3522926543652" style="stroke-width:1;"/>
+        <path d="M 408.0571428571429 -462.0028381974456 L 422.34285714285716 -462.0028381974456" style="stroke-width:1;"/>
+        <path d="M 415.2 -454.8599810545885 L 415.2 -469.1456953403027" style="stroke-width:1;"/>
+        <path d="M 446.45714285714286 -471.81669936497053 L 460.74285714285713 -471.81669936497053" style="stroke-width:1;"/>
+        <path d="M 453.6 -464.6738422221134 L 453.6 -478.9595565078277" style="stroke-width:1;"/>
+        <path d="M 484.8571428571429 -468.66634620028844 L 499.1428571428571 -468.66634620028844" style="stroke-width:1;"/>
+        <path d="M 492.0 -461.5234890574313 L 492.0 -475.80920334314555" style="stroke-width:1;"/>
+        <path d="M 523.2571428571429 -480.18795583083977 L 537.5428571428572 -480.18795583083977" style="stroke-width:1;"/>
+        <path d="M 530.4 -473.0450986879826 L 530.4 -487.3308129736969" style="stroke-width:1;"/>
+        <path d="M 561.6571428571428 -486.9455797489783 L 575.9428571428572 -486.9455797489783" style="stroke-width:1;"/>
+        <path d="M 568.8 -479.8027226061211 L 568.8 -494.0884368918354" style="stroke-width:1;"/>
+        <path d="M 600.0571428571428 -488.8714140157274 L 614.3428571428572 -488.8714140157274" style="stroke-width:1;"/>
+        <path d="M 607.2 -481.72855687287023 L 607.2 -496.0142711585845" style="stroke-width:1;"/>
+        <path d="M 638.4571428571428 -494.10041330962804 L 652.7428571428572 -494.10041330962804" style="stroke-width:1;"/>
+        <path d="M 645.6 -486.95755616677087 L 645.6 -501.24327045248515" style="stroke-width:1;"/>
+        <path d="M 676.8571428571429 -497.95157584358174 L 691.1428571428571 -497.95157584358174" style="stroke-width:1;"/>
+        <path d="M 684.0 -490.8087187007246 L 684.0 -505.09443298643885" style="stroke-width:1;"/>
+      </g>
+      <g style="clip-path:url(#clip15);">
+        <path d="M 338.4 -429.9624410338031 L 376.8 -437.9749438225506 L 415.2 -442.0669621397341 L 453.6 -447.06218964402933 L 492.0 -452.3438128905684 L 530.4 -454.52365892870694 L 568.8 -456.5061651444514 L 607.2 -458.1248576876281 L 645.6 -462.8291354537781 L 684.0 -463.04418526023323" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip16);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+          <path d="M 334.4 -425.9624410338031 L 334.4 -433.9624410338031 L 342.4 -433.9624410338031 L 342.4 -425.9624410338031 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 334.4 -425.9624410338031 L 334.4 -433.9624410338031 L 342.4 -433.9624410338031 L 342.4 -425.9624410338031 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+            <path d="M 372.8 -433.9749438225506 L 372.8 -441.9749438225506 L 380.8 -441.9749438225506 L 380.8 -433.9749438225506 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 372.8 -433.9749438225506 L 372.8 -441.9749438225506 L 380.8 -441.9749438225506 L 380.8 -433.9749438225506 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+              <path d="M 411.2 -438.0669621397341 L 411.2 -446.0669621397341 L 419.2 -446.0669621397341 L 419.2 -438.0669621397341 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 411.2 -438.0669621397341 L 411.2 -446.0669621397341 L 419.2 -446.0669621397341 L 419.2 -438.0669621397341 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                <path d="M 449.6 -443.06218964402933 L 449.6 -451.06218964402933 L 457.6 -451.06218964402933 L 457.6 -443.06218964402933 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 449.6 -443.06218964402933 L 449.6 -451.06218964402933 L 457.6 -451.06218964402933 L 457.6 -443.06218964402933 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                  <path d="M 488.0 -448.3438128905684 L 488.0 -456.3438128905684 L 496.0 -456.3438128905684 L 496.0 -448.3438128905684 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 488.0 -448.3438128905684 L 488.0 -456.3438128905684 L 496.0 -456.3438128905684 L 496.0 -448.3438128905684 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                    <path d="M 526.4 -450.52365892870694 L 526.4 -458.52365892870694 L 534.4 -458.52365892870694 L 534.4 -450.52365892870694 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 526.4 -450.52365892870694 L 526.4 -458.52365892870694 L 534.4 -458.52365892870694 L 534.4 -450.52365892870694 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                      <path d="M 564.8 -452.5061651444514 L 564.8 -460.5061651444514 L 572.8 -460.5061651444514 L 572.8 -452.5061651444514 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 564.8 -452.5061651444514 L 564.8 -460.5061651444514 L 572.8 -460.5061651444514 L 572.8 -452.5061651444514 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                        <path d="M 603.2 -454.1248576876281 L 603.2 -462.1248576876281 L 611.2 -462.1248576876281 L 611.2 -454.1248576876281 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 603.2 -454.1248576876281 L 603.2 -462.1248576876281 L 611.2 -462.1248576876281 L 611.2 -454.1248576876281 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip25);">
+                          <path d="M 641.6 -458.8291354537781 L 641.6 -466.8291354537781 L 649.6 -466.8291354537781 L 649.6 -458.8291354537781 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 641.6 -458.8291354537781 L 641.6 -466.8291354537781 L 649.6 -466.8291354537781 L 649.6 -458.8291354537781 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip26);">
+                            <path d="M 680.0 -459.04418526023323 L 680.0 -467.04418526023323 L 688.0 -467.04418526023323 L 688.0 -459.04418526023323 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 680.0 -459.04418526023323 L 680.0 -467.04418526023323 L 688.0 -467.04418526023323 L 688.0 -459.04418526023323 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip27);">
+      <path d="M 290 -134 L 290 -190 L 324 -190 L 324 -134 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -180.66666666666669 L 314 -180.66666666666669" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip28);">
+      <path d="M 299.0 -172.66666666666669 L 299.0 -188.66666666666669 L 315.0 -188.66666666666669 L 315.0 -172.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -180.66666666666669 M 311.0 -180.66666666666669 L 311 -180.667 M 311 -180.667 A 4 4 0 1 0 303 -180.667 A 4 4 0 1 0 311 -180.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-176.0">
+        n_pq_deque
+      </text>
+      <path d="M 300 -162.66666666666666 L 314 -162.66666666666666" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+      <path d="M 299.85714285714283 -162.66666666666666 L 314.14285714285717 -162.66666666666666" style="stroke-width:1;"/>
+      <path d="M 307.0 -155.52380952380952 L 307.0 -169.8095238095238" style="stroke-width:1;"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-158.0">
+        pairing_heap
+      </text>
+      <path d="M 300 -144.66666666666666 L 314 -144.66666666666666" style="stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+        <path d="M 303.0 -140.66666666666666 L 303.0 -148.66666666666666 L 311.0 -148.66666666666666 L 311.0 -140.66666666666666 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 303.0 -140.66666666666666 L 303.0 -148.66666666666666 L 311.0 -148.66666666666666 L 311.0 -140.66666666666666 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-140.0">
+          n_pq_vector
+        </text>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_pairing_priority_queue_text_push_timing_test_local.pdf b/libstdc++-v3/doc/xml/images/pbds_pairing_priority_queue_text_push_timing_test_local.pdf
new file mode 100644 (file)
index 0000000..86a2d4a
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_pairing_priority_queue_text_push_timing_test_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_pairing_priority_queue_text_push_timing_test_local.png b/libstdc++-v3/doc/xml/images/pbds_pairing_priority_queue_text_push_timing_test_local.png
new file mode 100644 (file)
index 0000000..5aa7e24
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_pairing_priority_queue_text_push_timing_test_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_pairing_priority_queue_text_push_timing_test_local.svg b/libstdc++-v3/doc/xml/images/pbds_pairing_priority_queue_text_push_timing_test_local.svg
new file mode 100644 (file)
index 0000000..cc8d7c7
--- /dev/null
@@ -0,0 +1,483 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 436.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 338.4 -520.0 M 342.4 -520.0 L 342.4 -520 M 342.4 -520 A 4 4 0 1 0 334.4 -520 A 4 4 0 1 0 342.4 -520 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 376.8 -516.9002608387358 M 380.8 -516.9002608387358 L 380.8 -516.9 M 380.8 -516.9 A 4 4 0 1 0 372.8 -516.9 A 4 4 0 1 0 380.8 -516.9 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 415.2 -518.7181337790383 M 419.2 -518.7181337790383 L 419.2 -518.718 M 419.2 -518.718 A 4 4 0 1 0 411.2 -518.718 A 4 4 0 1 0 419.2 -518.718 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 453.6 -515.8375329213939 M 457.6 -515.8375329213939 L 457.6 -515.838 M 457.6 -515.838 A 4 4 0 1 0 449.6 -515.838 A 4 4 0 1 0 457.6 -515.838 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 492.0 -512.189715863047 M 496.0 -512.189715863047 L 496 -512.19 M 496 -512.19 A 4 4 0 1 0 488 -512.19 A 4 4 0 1 0 496 -512.19 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 530.4 -510.9972227849811 M 534.4 -510.9972227849811 L 534.4 -510.997 M 534.4 -510.997 A 4 4 0 1 0 526.4 -510.997 A 4 4 0 1 0 534.4 -510.997 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 568.8 -512.5114591774716 M 572.8 -512.5114591774716 L 572.8 -512.511 M 572.8 -512.511 A 4 4 0 1 0 564.8 -512.511 A 4 4 0 1 0 572.8 -512.511 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 607.2 -513.0985362641815 M 611.2 -513.0985362641815 L 611.2 -513.099 M 611.2 -513.099 A 4 4 0 1 0 603.2 -513.099 A 4 4 0 1 0 611.2 -513.099 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 645.6 -512.4346214883847 M 649.6 -512.4346214883847 L 649.6 -512.435 M 649.6 -512.435 A 4 4 0 1 0 641.6 -512.435 A 4 4 0 1 0 649.6 -512.435 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 684.0 -513.9521078133441 M 688.0 -513.9521078133441 L 688 -513.952 M 688 -513.952 A 4 4 0 1 0 680 -513.952 A 4 4 0 1 0 688 -513.952 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 334.4 -501.592585089141 L 334.4 -509.592585089141 L 342.4 -509.592585089141 L 342.4 -501.592585089141 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 372.8 -495.63708383981634 L 372.8 -503.63708383981634 L 380.8 -503.63708383981634 L 380.8 -495.63708383981634 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 411.2 -489.61751249324686 L 411.2 -497.61751249324686 L 419.2 -497.61751249324686 L 419.2 -489.61751249324686 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 449.6 -484.1618044300378 L 449.6 -492.1618044300378 L 457.6 -492.1618044300378 L 457.6 -484.1618044300378 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 488.0 -478.3941028498109 L 488.0 -486.3941028498109 L 496.0 -486.3941028498109 L 496.0 -478.3941028498109 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 526.4 -479.7713778025392 L 526.4 -487.7713778025392 L 534.4 -487.7713778025392 L 534.4 -479.7713778025392 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 564.8 -479.26578116558613 L 564.8 -487.26578116558613 L 572.8 -487.26578116558613 L 572.8 -479.26578116558613 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 603.2 -477.16911044705563 L 603.2 -485.16911044705563 L 611.2 -485.16911044705563 L 611.2 -477.16911044705563 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 641.6 -477.08716572123177 L 641.6 -485.08716572123177 L 649.6 -485.08716572123177 L 649.6 -477.08716572123177 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 680.0 -475.29784575904915 L 680.0 -483.29784575904915 L 688.0 -483.29784575904915 L 688.0 -475.29784575904915 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 338.4 -449.58069540113456 M 342.4 -449.58069540113456 L 342.4 -449.581 M 342.4 -449.581 A 4 4 0 1 0 334.4 -449.581 A 4 4 0 1 0 342.4 -449.581 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 376.8 -450.22928906672064 M 380.8 -450.22928906672064 L 380.8 -450.229 M 380.8 -450.229 A 4 4 0 1 0 372.8 -450.229 A 4 4 0 1 0 380.8 -450.229 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 415.2 -446.89439407752565 M 419.2 -446.89439407752565 L 419.2 -446.894 M 419.2 -446.894 A 4 4 0 1 0 411.2 -446.894 A 4 4 0 1 0 419.2 -446.894 Z"/>
+    </clipPath>
+    <clipPath id="clip30">
+      <path d="M 453.6 -445.21325043895195 M 457.6 -445.21325043895195 L 457.6 -445.213 M 457.6 -445.213 A 4 4 0 1 0 449.6 -445.213 A 4 4 0 1 0 457.6 -445.213 Z"/>
+    </clipPath>
+    <clipPath id="clip31">
+      <path d="M 492.0 -446.6436850013506 M 496.0 -446.6436850013506 L 496 -446.644 M 496 -446.644 A 4 4 0 1 0 488 -446.644 A 4 4 0 1 0 496 -446.644 Z"/>
+    </clipPath>
+    <clipPath id="clip32">
+      <path d="M 530.4 -447.24422609400324 M 534.4 -447.24422609400324 L 534.4 -447.244 M 534.4 -447.244 A 4 4 0 1 0 526.4 -447.244 A 4 4 0 1 0 534.4 -447.244 Z"/>
+    </clipPath>
+    <clipPath id="clip33">
+      <path d="M 568.8 -445.75668557536466 M 572.8 -445.75668557536466 L 572.8 -445.757 M 572.8 -445.757 A 4 4 0 1 0 564.8 -445.757 A 4 4 0 1 0 572.8 -445.757 Z"/>
+    </clipPath>
+    <clipPath id="clip34">
+      <path d="M 607.2 -446.09073220556456 M 611.2 -446.09073220556456 L 611.2 -446.091 M 611.2 -446.091 A 4 4 0 1 0 603.2 -446.091 A 4 4 0 1 0 611.2 -446.091 Z"/>
+    </clipPath>
+    <clipPath id="clip35">
+      <path d="M 645.6 -446.40458282685034 M 649.6 -446.40458282685034 L 649.6 -446.405 M 649.6 -446.405 A 4 4 0 1 0 641.6 -446.405 A 4 4 0 1 0 649.6 -446.405 Z"/>
+    </clipPath>
+    <clipPath id="clip36">
+      <path d="M 684.0 -447.38931236493784 M 688.0 -447.38931236493784 L 688 -447.389 M 688 -447.389 A 4 4 0 1 0 680 -447.389 A 4 4 0 1 0 688 -447.389 Z"/>
+    </clipPath>
+    <clipPath id="clip37">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip38">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip39">
+      <path d="M 290 -114 L 290 -188 L 324 -188 L 324 -114 Z"/>
+    </clipPath>
+    <clipPath id="clip40">
+      <path d="M 307.0 -178.66666666666669 M 311.0 -178.66666666666669 L 311 -178.667 M 311 -178.667 A 4 4 0 1 0 303 -178.667 A 4 4 0 1 0 311 -178.667 Z"/>
+    </clipPath>
+    <clipPath id="clip41">
+      <path d="M 303.0 -156.66666666666666 L 303.0 -164.66666666666666 L 311.0 -164.66666666666666 L 311.0 -156.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip42">
+      <path d="M 307.0 -142.66666666666666 M 311.0 -142.66666666666666 L 311 -142.667 M 311 -142.667 A 4 4 0 1 0 303 -142.667 A 4 4 0 1 0 311 -142.667 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      1.90e-08
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.50048673219425">
+      3.79e-08
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      5.69e-08
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.50048673219425">
+      7.58e-08
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321943">
+      9.48e-08
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -520.0 L 376.8 -516.9002608387358 L 415.2 -518.7181337790383 L 453.6 -515.8375329213939 L 492.0 -512.189715863047 L 530.4 -510.9972227849811 L 568.8 -512.5114591774716 L 607.2 -513.0985362641815 L 645.6 -512.4346214883847 L 684.0 -513.9521078133441" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 330.4 -512.0 L 330.4 -528.0 L 346.4 -528.0 L 346.4 -512.0 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -520.0 M 342.4 -520.0 L 342.4 -520 M 342.4 -520 A 4 4 0 1 0 334.4 -520 A 4 4 0 1 0 342.4 -520 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 368.8 -508.9002608387358 L 368.8 -524.9002608387358 L 384.8 -524.9002608387358 L 384.8 -508.9002608387358 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -516.9002608387358 M 380.8 -516.9002608387358 L 380.8 -516.9 M 380.8 -516.9 A 4 4 0 1 0 372.8 -516.9 A 4 4 0 1 0 380.8 -516.9 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 407.2 -510.71813377903834 L 407.2 -526.7181337790383 L 423.2 -526.7181337790383 L 423.2 -510.71813377903834 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -518.7181337790383 M 419.2 -518.7181337790383 L 419.2 -518.718 M 419.2 -518.718 A 4 4 0 1 0 411.2 -518.718 A 4 4 0 1 0 419.2 -518.718 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 445.6 -507.83753292139386 L 445.6 -523.8375329213939 L 461.6 -523.8375329213939 L 461.6 -507.83753292139386 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -515.8375329213939 M 457.6 -515.8375329213939 L 457.6 -515.838 M 457.6 -515.838 A 4 4 0 1 0 449.6 -515.838 A 4 4 0 1 0 457.6 -515.838 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 484.0 -504.189715863047 L 484.0 -520.189715863047 L 500.0 -520.189715863047 L 500.0 -504.189715863047 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -512.189715863047 M 496.0 -512.189715863047 L 496 -512.19 M 496 -512.19 A 4 4 0 1 0 488 -512.19 A 4 4 0 1 0 496 -512.19 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 522.4 -502.9972227849811 L 522.4 -518.9972227849811 L 538.4 -518.9972227849811 L 538.4 -502.9972227849811 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -510.9972227849811 M 534.4 -510.9972227849811 L 534.4 -510.997 M 534.4 -510.997 A 4 4 0 1 0 526.4 -510.997 A 4 4 0 1 0 534.4 -510.997 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 560.8 -504.51145917747164 L 560.8 -520.5114591774716 L 576.8 -520.5114591774716 L 576.8 -504.51145917747164 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -512.5114591774716 M 572.8 -512.5114591774716 L 572.8 -512.511 M 572.8 -512.511 A 4 4 0 1 0 564.8 -512.511 A 4 4 0 1 0 572.8 -512.511 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 599.2 -505.09853626418146 L 599.2 -521.0985362641815 L 615.2 -521.0985362641815 L 615.2 -505.09853626418146 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -513.0985362641815 M 611.2 -513.0985362641815 L 611.2 -513.099 M 611.2 -513.099 A 4 4 0 1 0 603.2 -513.099 A 4 4 0 1 0 611.2 -513.099 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 637.6 -504.43462148838466 L 637.6 -520.4346214883847 L 653.6 -520.4346214883847 L 653.6 -504.43462148838466 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -512.4346214883847 M 649.6 -512.4346214883847 L 649.6 -512.435 M 649.6 -512.435 A 4 4 0 1 0 641.6 -512.435 A 4 4 0 1 0 649.6 -512.435 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 676.0 -505.9521078133441 L 676.0 -521.9521078133441 L 692.0 -521.9521078133441 L 692.0 -505.9521078133441 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -513.9521078133441 M 688.0 -513.9521078133441 L 688 -513.952 M 688 -513.952 A 4 4 0 1 0 680 -513.952 A 4 4 0 1 0 688 -513.952 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 338.4 -505.592585089141 L 376.8 -499.63708383981634 L 415.2 -493.61751249324686 L 453.6 -488.1618044300378 L 492.0 -482.3941028498109 L 530.4 -483.7713778025392 L 568.8 -483.26578116558613 L 607.2 -481.16911044705563 L 645.6 -481.08716572123177 L 684.0 -479.29784575904915" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 334.4 -501.592585089141 L 334.4 -509.592585089141 L 342.4 -509.592585089141 L 342.4 -501.592585089141 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 334.4 -501.592585089141 L 334.4 -509.592585089141 L 342.4 -509.592585089141 L 342.4 -501.592585089141 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 372.8 -495.63708383981634 L 372.8 -503.63708383981634 L 380.8 -503.63708383981634 L 380.8 -495.63708383981634 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 372.8 -495.63708383981634 L 372.8 -503.63708383981634 L 380.8 -503.63708383981634 L 380.8 -495.63708383981634 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 411.2 -489.61751249324686 L 411.2 -497.61751249324686 L 419.2 -497.61751249324686 L 419.2 -489.61751249324686 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 411.2 -489.61751249324686 L 411.2 -497.61751249324686 L 419.2 -497.61751249324686 L 419.2 -489.61751249324686 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 449.6 -484.1618044300378 L 449.6 -492.1618044300378 L 457.6 -492.1618044300378 L 457.6 -484.1618044300378 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 449.6 -484.1618044300378 L 449.6 -492.1618044300378 L 457.6 -492.1618044300378 L 457.6 -484.1618044300378 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 488.0 -478.3941028498109 L 488.0 -486.3941028498109 L 496.0 -486.3941028498109 L 496.0 -478.3941028498109 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 488.0 -478.3941028498109 L 488.0 -486.3941028498109 L 496.0 -486.3941028498109 L 496.0 -478.3941028498109 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 526.4 -479.7713778025392 L 526.4 -487.7713778025392 L 534.4 -487.7713778025392 L 534.4 -479.7713778025392 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 526.4 -479.7713778025392 L 526.4 -487.7713778025392 L 534.4 -487.7713778025392 L 534.4 -479.7713778025392 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 564.8 -479.26578116558613 L 564.8 -487.26578116558613 L 572.8 -487.26578116558613 L 572.8 -479.26578116558613 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 564.8 -479.26578116558613 L 564.8 -487.26578116558613 L 572.8 -487.26578116558613 L 572.8 -479.26578116558613 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 603.2 -477.16911044705563 L 603.2 -485.16911044705563 L 611.2 -485.16911044705563 L 611.2 -477.16911044705563 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 603.2 -477.16911044705563 L 603.2 -485.16911044705563 L 611.2 -485.16911044705563 L 611.2 -477.16911044705563 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 641.6 -477.08716572123177 L 641.6 -485.08716572123177 L 649.6 -485.08716572123177 L 649.6 -477.08716572123177 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 641.6 -477.08716572123177 L 641.6 -485.08716572123177 L 649.6 -485.08716572123177 L 649.6 -477.08716572123177 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 680.0 -475.29784575904915 L 680.0 -483.29784575904915 L 688.0 -483.29784575904915 L 688.0 -475.29784575904915 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 680.0 -475.29784575904915 L 680.0 -483.29784575904915 L 688.0 -483.29784575904915 L 688.0 -475.29784575904915 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 338.4 -449.58069540113456 L 376.8 -450.22928906672064 L 415.2 -446.89439407752565 L 453.6 -445.21325043895195 L 492.0 -446.6436850013506 L 530.4 -447.24422609400324 L 568.8 -445.75668557536466 L 607.2 -446.09073220556456 L 645.6 -446.40458282685034 L 684.0 -447.38931236493784" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip27);">
+          <path d="M 330.4 -441.58069540113456 L 330.4 -457.58069540113456 L 346.4 -457.58069540113456 L 346.4 -441.58069540113456 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -449.58069540113456 M 342.4 -449.58069540113456 L 342.4 -449.581 M 342.4 -449.581 A 4 4 0 1 0 334.4 -449.581 A 4 4 0 1 0 342.4 -449.581 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip28);">
+            <path d="M 368.8 -442.22928906672064 L 368.8 -458.22928906672064 L 384.8 -458.22928906672064 L 384.8 -442.22928906672064 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -450.22928906672064 M 380.8 -450.22928906672064 L 380.8 -450.229 M 380.8 -450.229 A 4 4 0 1 0 372.8 -450.229 A 4 4 0 1 0 380.8 -450.229 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+              <path d="M 407.2 -438.89439407752565 L 407.2 -454.89439407752565 L 423.2 -454.89439407752565 L 423.2 -438.89439407752565 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -446.89439407752565 M 419.2 -446.89439407752565 L 419.2 -446.894 M 419.2 -446.894 A 4 4 0 1 0 411.2 -446.894 A 4 4 0 1 0 419.2 -446.894 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip30);">
+                <path d="M 445.6 -437.21325043895195 L 445.6 -453.21325043895195 L 461.6 -453.21325043895195 L 461.6 -437.21325043895195 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -445.21325043895195 M 457.6 -445.21325043895195 L 457.6 -445.213 M 457.6 -445.213 A 4 4 0 1 0 449.6 -445.213 A 4 4 0 1 0 457.6 -445.213 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip31);">
+                  <path d="M 484.0 -438.6436850013506 L 484.0 -454.6436850013506 L 500.0 -454.6436850013506 L 500.0 -438.6436850013506 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -446.6436850013506 M 496.0 -446.6436850013506 L 496 -446.644 M 496 -446.644 A 4 4 0 1 0 488 -446.644 A 4 4 0 1 0 496 -446.644 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip32);">
+                    <path d="M 522.4 -439.24422609400324 L 522.4 -455.24422609400324 L 538.4 -455.24422609400324 L 538.4 -439.24422609400324 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -447.24422609400324 M 534.4 -447.24422609400324 L 534.4 -447.244 M 534.4 -447.244 A 4 4 0 1 0 526.4 -447.244 A 4 4 0 1 0 534.4 -447.244 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip33);">
+                      <path d="M 560.8 -437.75668557536466 L 560.8 -453.75668557536466 L 576.8 -453.75668557536466 L 576.8 -437.75668557536466 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -445.75668557536466 M 572.8 -445.75668557536466 L 572.8 -445.757 M 572.8 -445.757 A 4 4 0 1 0 564.8 -445.757 A 4 4 0 1 0 572.8 -445.757 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip34);">
+                        <path d="M 599.2 -438.09073220556456 L 599.2 -454.09073220556456 L 615.2 -454.09073220556456 L 615.2 -438.09073220556456 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -446.09073220556456 M 611.2 -446.09073220556456 L 611.2 -446.091 M 611.2 -446.091 A 4 4 0 1 0 603.2 -446.091 A 4 4 0 1 0 611.2 -446.091 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip35);">
+                          <path d="M 637.6 -438.40458282685034 L 637.6 -454.40458282685034 L 653.6 -454.40458282685034 L 653.6 -438.40458282685034 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -446.40458282685034 M 649.6 -446.40458282685034 L 649.6 -446.405 M 649.6 -446.405 A 4 4 0 1 0 641.6 -446.405 A 4 4 0 1 0 649.6 -446.405 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip36);">
+                            <path d="M 676.0 -439.38931236493784 L 676.0 -455.38931236493784 L 692.0 -455.38931236493784 L 692.0 -439.38931236493784 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -447.38931236493784 M 688.0 -447.38931236493784 L 688 -447.389 M 688 -447.389 A 4 4 0 1 0 680 -447.389 A 4 4 0 1 0 688 -447.389 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip37);">
+        <path d="M 338.4 -441.01665906942196 L 376.8 -441.36695536196646 L 415.2 -440.65568442733655 L 453.6 -440.8198060170178 L 492.0 -440.96187449351703 L 530.4 -442.1666708873582 L 568.8 -441.3024209886548 L 607.2 -441.1489777485143 L 645.6 -441.4024724810913 L 684.0 -441.24810068881686" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip38);">
+        <path d="M 331.25714285714287 -441.01665906942196 L 345.54285714285714 -441.01665906942196" style="stroke-width:1;"/>
+        <path d="M 338.4 -433.8738019265648 L 338.4 -448.1595162122791" style="stroke-width:1;"/>
+        <path d="M 369.65714285714284 -441.36695536196646 L 383.9428571428571 -441.36695536196646" style="stroke-width:1;"/>
+        <path d="M 376.8 -434.22409821910935 L 376.8 -448.5098125048236" style="stroke-width:1;"/>
+        <path d="M 408.0571428571429 -440.65568442733655 L 422.34285714285716 -440.65568442733655" style="stroke-width:1;"/>
+        <path d="M 415.2 -433.5128272844794 L 415.2 -447.7985415701937" style="stroke-width:1;"/>
+        <path d="M 446.45714285714286 -440.8198060170178 L 460.74285714285713 -440.8198060170178" style="stroke-width:1;"/>
+        <path d="M 453.6 -433.67694887416064 L 453.6 -447.962663159875" style="stroke-width:1;"/>
+        <path d="M 484.8571428571429 -440.96187449351703 L 499.1428571428571 -440.96187449351703" style="stroke-width:1;"/>
+        <path d="M 492.0 -433.81901735065986 L 492.0 -448.10473163637414" style="stroke-width:1;"/>
+        <path d="M 523.2571428571429 -442.1666708873582 L 537.5428571428572 -442.1666708873582" style="stroke-width:1;"/>
+        <path d="M 530.4 -435.023813744501 L 530.4 -449.30952803021535" style="stroke-width:1;"/>
+        <path d="M 561.6571428571428 -441.3024209886548 L 575.9428571428572 -441.3024209886548" style="stroke-width:1;"/>
+        <path d="M 568.8 -434.1595638457976 L 568.8 -448.44527813151194" style="stroke-width:1;"/>
+        <path d="M 600.0571428571428 -441.1489777485143 L 614.3428571428572 -441.1489777485143" style="stroke-width:1;"/>
+        <path d="M 607.2 -434.0061206056572 L 607.2 -448.2918348913714" style="stroke-width:1;"/>
+        <path d="M 638.4571428571428 -441.4024724810913 L 652.7428571428572 -441.4024724810913" style="stroke-width:1;"/>
+        <path d="M 645.6 -434.25961533823414 L 645.6 -448.5453296239484" style="stroke-width:1;"/>
+        <path d="M 676.8571428571429 -441.24810068881686 L 691.1428571428571 -441.24810068881686" style="stroke-width:1;"/>
+        <path d="M 684.0 -434.1052435459597 L 684.0 -448.390957831674" style="stroke-width:1;"/>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip39);">
+      <path d="M 290 -114 L 290 -188 L 324 -188 L 324 -114 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -178.66666666666669 L 314 -178.66666666666669" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip40);">
+      <path d="M 299.0 -170.66666666666669 L 299.0 -186.66666666666669 L 315.0 -186.66666666666669 L 315.0 -170.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -178.66666666666669 M 311.0 -178.66666666666669 L 311 -178.667 M 311 -178.667 A 4 4 0 1 0 303 -178.667 A 4 4 0 1 0 311 -178.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-174.0">
+        n_pq_deque
+      </text>
+      <path d="M 300 -160.66666666666666 L 314 -160.66666666666666" style="stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip41);">
+        <path d="M 303.0 -156.66666666666666 L 303.0 -164.66666666666666 L 311.0 -164.66666666666666 L 311.0 -156.66666666666666 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 303.0 -156.66666666666666 L 303.0 -164.66666666666666 L 311.0 -164.66666666666666 L 311.0 -156.66666666666666 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-156.0">
+          n_pq_vector
+        </text>
+        <path d="M 300 -142.66666666666666 L 314 -142.66666666666666" style="stroke-width:2;"/>
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip42);">
+          <path d="M 299.0 -134.66666666666666 L 299.0 -150.66666666666666 L 315.0 -150.66666666666666 L 315.0 -134.66666666666666 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 307.0 -142.66666666666666 M 311.0 -142.66666666666666 L 311 -142.667 M 311 -142.667 A 4 4 0 1 0 303 -142.667 A 4 4 0 1 0 311 -142.667 Z"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-138.0">
+            thin_heap
+          </text>
+          <path d="M 300 -124.66666666666666 L 314 -124.66666666666666" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+          <path d="M 299.85714285714283 -124.66666666666666 L 314.14285714285717 -124.66666666666666" style="stroke-width:1;"/>
+          <path d="M 307.0 -117.52380952380952 L 307.0 -131.8095238095238" style="stroke-width:1;"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-120.0">
+            pairing_heap
+          </text>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_pat_trie.png b/libstdc++-v3/doc/xml/images/pbds_pat_trie.png
new file mode 100644 (file)
index 0000000..e7129a1
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_pat_trie.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_point_iterator_hierarchy.png b/libstdc++-v3/doc/xml/images/pbds_point_iterator_hierarchy.png
new file mode 100644 (file)
index 0000000..25a69fc
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_point_iterator_hierarchy.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_point_iterators_range_ops_1.png b/libstdc++-v3/doc/xml/images/pbds_point_iterators_range_ops_1.png
new file mode 100644 (file)
index 0000000..c5bc8e5
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_point_iterators_range_ops_1.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_point_iterators_range_ops_2.png b/libstdc++-v3/doc/xml/images/pbds_point_iterators_range_ops_2.png
new file mode 100644 (file)
index 0000000..c3f94ee
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_point_iterators_range_ops_2.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_different_underlying_dss.png b/libstdc++-v3/doc/xml/images/pbds_priority_queue_different_underlying_dss.png
new file mode 100644 (file)
index 0000000..9d84791
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_different_underlying_dss.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_pop_timing_test_local.pdf b/libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_pop_timing_test_local.pdf
new file mode 100644 (file)
index 0000000..e7f1987
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_pop_timing_test_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_pop_timing_test_local.png b/libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_pop_timing_test_local.png
new file mode 100644 (file)
index 0000000..fee5242
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_pop_timing_test_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_pop_timing_test_local.svg b/libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_pop_timing_test_local.svg
new file mode 100644 (file)
index 0000000..dbe8258
--- /dev/null
@@ -0,0 +1,825 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 496.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 338.4 -321.02504776119406 L 332.15 -331.02504776119406 L 344.65 -331.02504776119406 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 376.8 -343.4118208955224 L 370.55 -353.4118208955224 L 383.05 -353.4118208955224 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 415.2 -364.1597910447761 L 408.95 -374.1597910447761 L 421.45 -374.1597910447761 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 453.6 -387.35074626865674 L 447.35 -397.35074626865674 L 459.85 -397.35074626865674 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 492.0 -411.7497313432836 L 485.75 -421.7497313432836 L 498.25 -421.7497313432836 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 530.4 -433.88895522388054 L 524.15 -443.88895522388054 L 536.65 -443.88895522388054 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 568.8 -456.57292537313435 L 562.55 -466.57292537313435 L 575.05 -466.57292537313435 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 607.2 -475.0210746268657 L 600.95 -485.0210746268657 L 613.45 -485.0210746268657 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 645.6 -489.582776119403 L 639.35 -499.582776119403 L 651.85 -499.582776119403 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 684.0 -515.0 L 677.75 -525.0 L 690.25 -525.0 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 338.4 -306.26225074626865 M 342.4 -306.26225074626865 L 342.4 -306.262 M 342.4 -306.262 A 4 4 0 1 0 334.4 -306.262 A 4 4 0 1 0 342.4 -306.262 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 376.8 -306.9955074626866 M 380.8 -306.9955074626866 L 380.8 -306.996 M 380.8 -306.996 A 4 4 0 1 0 372.8 -306.996 A 4 4 0 1 0 380.8 -306.996 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 415.2 -307.3151313432836 M 419.2 -307.3151313432836 L 419.2 -307.315 M 419.2 -307.315 A 4 4 0 1 0 411.2 -307.315 A 4 4 0 1 0 419.2 -307.315 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 453.6 -307.47221791044774 M 457.6 -307.47221791044774 L 457.6 -307.472 M 457.6 -307.472 A 4 4 0 1 0 449.6 -307.472 A 4 4 0 1 0 457.6 -307.472 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 492.0 -307.7432776119403 M 496.0 -307.7432776119403 L 496 -307.743 M 496 -307.743 A 4 4 0 1 0 488 -307.743 A 4 4 0 1 0 496 -307.743 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 530.4 -307.7981462686567 M 534.4 -307.7981462686567 L 534.4 -307.798 M 534.4 -307.798 A 4 4 0 1 0 526.4 -307.798 A 4 4 0 1 0 534.4 -307.798 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 568.8 -308.05111343283585 M 572.8 -308.05111343283585 L 572.8 -308.051 M 572.8 -308.051 A 4 4 0 1 0 564.8 -308.051 A 4 4 0 1 0 572.8 -308.051 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 607.2 -308.14745373134326 M 611.2 -308.14745373134326 L 611.2 -308.147 M 611.2 -308.147 A 4 4 0 1 0 603.2 -308.147 A 4 4 0 1 0 611.2 -308.147 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 645.6 -308.2637253731343 M 649.6 -308.2637253731343 L 649.6 -308.264 M 649.6 -308.264 A 4 4 0 1 0 641.6 -308.264 A 4 4 0 1 0 649.6 -308.264 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 684.0 -308.52375223880597 M 688.0 -308.52375223880597 L 688 -308.524 M 688 -308.524 A 4 4 0 1 0 680 -308.524 A 4 4 0 1 0 688 -308.524 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 331.25714285714287 -305.86119402985076 L 338.4 -313.0040511727079 L 345.54285714285714 -305.86119402985076 L 338.4 -298.7183368869936 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 369.65714285714284 -306.49853731343285 L 376.8 -313.64139445628996 L 383.9428571428571 -306.49853731343285 L 376.8 -299.3556801705757 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 408.0571428571429 -306.9167671641791 L 415.2 -314.05962430703624 L 422.34285714285716 -306.9167671641791 L 415.2 -299.77391002132197 Z"/>
+    </clipPath>
+    <clipPath id="clip30">
+      <path d="M 446.45714285714286 -307.2293313432836 L 453.6 -314.3721884861407 L 460.74285714285713 -307.2293313432836 L 453.6 -300.08647420042644 Z"/>
+    </clipPath>
+    <clipPath id="clip31">
+      <path d="M 484.8571428571429 -307.4307462686567 L 492.0 -314.5736034115139 L 499.1428571428571 -307.4307462686567 L 492.0 -300.28788912579955 Z"/>
+    </clipPath>
+    <clipPath id="clip32">
+      <path d="M 523.2571428571429 -307.74285074626863 L 530.4 -314.8857078891258 L 537.5428571428572 -307.74285074626863 L 530.4 -300.5999936034115 Z"/>
+    </clipPath>
+    <clipPath id="clip33">
+      <path d="M 561.6571428571428 -307.778576119403 L 568.8 -314.9214332622601 L 575.9428571428572 -307.778576119403 L 568.8 -300.63571897654583 Z"/>
+    </clipPath>
+    <clipPath id="clip34">
+      <path d="M 600.0571428571428 -307.9134 L 607.2 -315.05625714285713 L 614.3428571428572 -307.9134 L 607.2 -300.77054285714286 Z"/>
+    </clipPath>
+    <clipPath id="clip35">
+      <path d="M 638.4571428571428 -308.0873313432836 L 645.6 -315.2301884861407 L 652.7428571428572 -308.0873313432836 L 645.6 -300.94447420042644 Z"/>
+    </clipPath>
+    <clipPath id="clip36">
+      <path d="M 676.8571428571429 -308.1681074626866 L 684.0 -315.3109646055437 L 691.1428571428571 -308.1681074626866 L 684.0 -301.0252503198294 Z"/>
+    </clipPath>
+    <clipPath id="clip37">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip38">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip39">
+      <path d="M 332.15 -300.20549552238805 L 344.65 -300.20549552238805 L 338.4 -310.20549552238805 Z"/>
+    </clipPath>
+    <clipPath id="clip40">
+      <path d="M 370.55 -301.03282686567167 L 383.05 -301.03282686567167 L 376.8 -311.03282686567167 Z"/>
+    </clipPath>
+    <clipPath id="clip41">
+      <path d="M 408.95 -301.3192208955224 L 421.45 -301.3192208955224 L 415.2 -311.3192208955224 Z"/>
+    </clipPath>
+    <clipPath id="clip42">
+      <path d="M 447.35 -301.5062537313433 L 459.85 -301.5062537313433 L 453.6 -311.5062537313433 Z"/>
+    </clipPath>
+    <clipPath id="clip43">
+      <path d="M 485.75 -301.6776895522388 L 498.25 -301.6776895522388 L 492.0 -311.6776895522388 Z"/>
+    </clipPath>
+    <clipPath id="clip44">
+      <path d="M 524.15 -301.90097313432835 L 536.65 -301.90097313432835 L 530.4 -311.90097313432835 Z"/>
+    </clipPath>
+    <clipPath id="clip45">
+      <path d="M 562.55 -302.04771641791046 L 575.05 -302.04771641791046 L 568.8 -312.04771641791046 Z"/>
+    </clipPath>
+    <clipPath id="clip46">
+      <path d="M 600.95 -301.84078507462687 L 613.45 -301.84078507462687 L 607.2 -311.84078507462687 Z"/>
+    </clipPath>
+    <clipPath id="clip47">
+      <path d="M 639.35 -302.10731343283584 L 651.85 -302.10731343283584 L 645.6 -312.10731343283584 Z"/>
+    </clipPath>
+    <clipPath id="clip48">
+      <path d="M 677.75 -302.334471641791 L 690.25 -302.334471641791 L 684.0 -312.334471641791 Z"/>
+    </clipPath>
+    <clipPath id="clip49">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip50">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip51">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip52">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip53">
+      <path d="M 338.4 -303.04280358208956 M 342.4 -303.04280358208956 L 342.4 -303.043 M 342.4 -303.043 A 4 4 0 1 0 334.4 -303.043 A 4 4 0 1 0 342.4 -303.043 Z"/>
+    </clipPath>
+    <clipPath id="clip54">
+      <path d="M 376.8 -303.54012835820896 M 380.8 -303.54012835820896 L 380.8 -303.54 M 380.8 -303.54 A 4 4 0 1 0 372.8 -303.54 A 4 4 0 1 0 380.8 -303.54 Z"/>
+    </clipPath>
+    <clipPath id="clip55">
+      <path d="M 415.2 -303.8069194029851 M 419.2 -303.8069194029851 L 419.2 -303.807 M 419.2 -303.807 A 4 4 0 1 0 411.2 -303.807 A 4 4 0 1 0 419.2 -303.807 Z"/>
+    </clipPath>
+    <clipPath id="clip56">
+      <path d="M 453.6 -304.06169253731343 M 457.6 -304.06169253731343 L 457.6 -304.062 M 457.6 -304.062 A 4 4 0 1 0 449.6 -304.062 A 4 4 0 1 0 457.6 -304.062 Z"/>
+    </clipPath>
+    <clipPath id="clip57">
+      <path d="M 492.0 -304.2643880597015 M 496.0 -304.2643880597015 L 496 -304.264 M 496 -304.264 A 4 4 0 1 0 488 -304.264 A 4 4 0 1 0 496 -304.264 Z"/>
+    </clipPath>
+    <clipPath id="clip58">
+      <path d="M 530.4 -304.34335820895524 M 534.4 -304.34335820895524 L 534.4 -304.343 M 534.4 -304.343 A 4 4 0 1 0 526.4 -304.343 A 4 4 0 1 0 534.4 -304.343 Z"/>
+    </clipPath>
+    <clipPath id="clip59">
+      <path d="M 568.8 -304.491447761194 M 572.8 -304.491447761194 L 572.8 -304.491 M 572.8 -304.491 A 4 4 0 1 0 564.8 -304.491 A 4 4 0 1 0 572.8 -304.491 Z"/>
+    </clipPath>
+    <clipPath id="clip60">
+      <path d="M 607.2 -304.52195223880597 M 611.2 -304.52195223880597 L 611.2 -304.522 M 611.2 -304.522 A 4 4 0 1 0 603.2 -304.522 A 4 4 0 1 0 611.2 -304.522 Z"/>
+    </clipPath>
+    <clipPath id="clip61">
+      <path d="M 645.6 -304.63136119402986 M 649.6 -304.63136119402986 L 649.6 -304.631 M 649.6 -304.631 A 4 4 0 1 0 641.6 -304.631 A 4 4 0 1 0 649.6 -304.631 Z"/>
+    </clipPath>
+    <clipPath id="clip62">
+      <path d="M 684.0 -304.7444149253731 M 688.0 -304.7444149253731 L 688 -304.744 M 688 -304.744 A 4 4 0 1 0 680 -304.744 A 4 4 0 1 0 688 -304.744 Z"/>
+    </clipPath>
+    <clipPath id="clip63">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip64">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip65">
+      <path d="M 334.4 -298.0063671641791 L 334.4 -306.0063671641791 L 342.4 -306.0063671641791 L 342.4 -298.0063671641791 Z"/>
+    </clipPath>
+    <clipPath id="clip66">
+      <path d="M 372.8 -298.26110417910445 L 372.8 -306.26110417910445 L 380.8 -306.26110417910445 L 380.8 -298.26110417910445 Z"/>
+    </clipPath>
+    <clipPath id="clip67">
+      <path d="M 411.2 -298.29905910447764 L 411.2 -306.29905910447764 L 419.2 -306.29905910447764 L 419.2 -298.29905910447764 Z"/>
+    </clipPath>
+    <clipPath id="clip68">
+      <path d="M 449.6 -298.39367552238804 L 449.6 -306.39367552238804 L 457.6 -306.39367552238804 L 457.6 -298.39367552238804 Z"/>
+    </clipPath>
+    <clipPath id="clip69">
+      <path d="M 488.0 -298.4131307462687 L 488.0 -306.4131307462687 L 496.0 -306.4131307462687 L 496.0 -298.4131307462687 Z"/>
+    </clipPath>
+    <clipPath id="clip70">
+      <path d="M 526.4 -298.47982686567167 L 526.4 -306.47982686567167 L 534.4 -306.47982686567167 L 534.4 -298.47982686567167 Z"/>
+    </clipPath>
+    <clipPath id="clip71">
+      <path d="M 564.8 -298.5213182089552 L 564.8 -306.5213182089552 L 572.8 -306.5213182089552 L 572.8 -298.5213182089552 Z"/>
+    </clipPath>
+    <clipPath id="clip72">
+      <path d="M 603.2 -298.5637913432836 L 603.2 -306.5637913432836 L 611.2 -306.5637913432836 L 611.2 -298.5637913432836 Z"/>
+    </clipPath>
+    <clipPath id="clip73">
+      <path d="M 641.6 -298.5892029850746 L 641.6 -306.5892029850746 L 649.6 -306.5892029850746 L 649.6 -298.5892029850746 Z"/>
+    </clipPath>
+    <clipPath id="clip74">
+      <path d="M 680.0 -298.62813970149256 L 680.0 -306.62813970149256 L 688.0 -306.62813970149256 L 688.0 -298.62813970149256 Z"/>
+    </clipPath>
+    <clipPath id="clip75">
+      <path d="M 290 -54 L 290 -182 L 324 -182 L 324 -54 Z"/>
+    </clipPath>
+    <clipPath id="clip76">
+      <path d="M 307.0 -167.66666666666669 L 300.75 -177.66666666666669 L 313.25 -177.66666666666669 Z"/>
+    </clipPath>
+    <clipPath id="clip77">
+      <path d="M 307.0 -154.66666666666666 M 311.0 -154.66666666666666 L 311 -154.667 M 311 -154.667 A 4 4 0 1 0 303 -154.667 A 4 4 0 1 0 311 -154.667 Z"/>
+    </clipPath>
+    <clipPath id="clip78">
+      <path d="M 299.85714285714283 -136.66666666666666 L 307.0 -143.8095238095238 L 314.14285714285717 -136.66666666666666 L 307.0 -129.52380952380952 Z"/>
+    </clipPath>
+    <clipPath id="clip79">
+      <path d="M 300.75 -113.66666666666666 L 313.25 -113.66666666666666 L 307.0 -123.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip80">
+      <path d="M 307.0 -82.66666666666666 M 311.0 -82.66666666666666 L 311 -82.6667 M 311 -82.6667 A 4 4 0 1 0 303 -82.6667 A 4 4 0 1 0 311 -82.6667 Z"/>
+    </clipPath>
+    <clipPath id="clip81">
+      <path d="M 303.0 -60.66666666666666 L 303.0 -68.66666666666666 L 311.0 -68.66666666666666 L 311.0 -60.66666666666666 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      1.34e-06
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      2.68e-06
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.50048673219425">
+      4.02e-06
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      5.36e-06
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      6.70e-06
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -326.02504776119406 L 376.8 -348.4118208955224 L 415.2 -369.1597910447761 L 453.6 -392.35074626865674 L 492.0 -416.7497313432836 L 530.4 -438.88895522388054 L 568.8 -461.57292537313435 L 607.2 -480.0210746268657 L 645.6 -494.582776119403 L 684.0 -520.0" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 332.15 -321.02504776119406 L 332.15 -331.02504776119406 L 344.65 -331.02504776119406 L 344.65 -321.02504776119406 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -321.02504776119406 L 332.15 -331.02504776119406 L 344.65 -331.02504776119406 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 370.55 -343.4118208955224 L 370.55 -353.4118208955224 L 383.05 -353.4118208955224 L 383.05 -343.4118208955224 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -343.4118208955224 L 370.55 -353.4118208955224 L 383.05 -353.4118208955224 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 408.95 -364.1597910447761 L 408.95 -374.1597910447761 L 421.45 -374.1597910447761 L 421.45 -364.1597910447761 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -364.1597910447761 L 408.95 -374.1597910447761 L 421.45 -374.1597910447761 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 447.35 -387.35074626865674 L 447.35 -397.35074626865674 L 459.85 -397.35074626865674 L 459.85 -387.35074626865674 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -387.35074626865674 L 447.35 -397.35074626865674 L 459.85 -397.35074626865674 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 485.75 -411.7497313432836 L 485.75 -421.7497313432836 L 498.25 -421.7497313432836 L 498.25 -411.7497313432836 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -411.7497313432836 L 485.75 -421.7497313432836 L 498.25 -421.7497313432836 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 524.15 -433.88895522388054 L 524.15 -443.88895522388054 L 536.65 -443.88895522388054 L 536.65 -433.88895522388054 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -433.88895522388054 L 524.15 -443.88895522388054 L 536.65 -443.88895522388054 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 562.55 -456.57292537313435 L 562.55 -466.57292537313435 L 575.05 -466.57292537313435 L 575.05 -456.57292537313435 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -456.57292537313435 L 562.55 -466.57292537313435 L 575.05 -466.57292537313435 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 600.95 -475.0210746268657 L 600.95 -485.0210746268657 L 613.45 -485.0210746268657 L 613.45 -475.0210746268657 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -475.0210746268657 L 600.95 -485.0210746268657 L 613.45 -485.0210746268657 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 639.35 -489.582776119403 L 639.35 -499.582776119403 L 651.85 -499.582776119403 L 651.85 -489.582776119403 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -489.582776119403 L 639.35 -499.582776119403 L 651.85 -499.582776119403 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 677.75 -515.0 L 677.75 -525.0 L 690.25 -525.0 L 690.25 -515.0 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -515.0 L 677.75 -525.0 L 690.25 -525.0 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 338.4 -306.26225074626865 L 376.8 -306.9955074626866 L 415.2 -307.3151313432836 L 453.6 -307.47221791044774 L 492.0 -307.7432776119403 L 530.4 -307.7981462686567 L 568.8 -308.05111343283585 L 607.2 -308.14745373134326 L 645.6 -308.2637253731343 L 684.0 -308.52375223880597" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 330.4 -298.26225074626865 L 330.4 -314.26225074626865 L 346.4 -314.26225074626865 L 346.4 -298.26225074626865 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -306.26225074626865 M 342.4 -306.26225074626865 L 342.4 -306.262 M 342.4 -306.262 A 4 4 0 1 0 334.4 -306.262 A 4 4 0 1 0 342.4 -306.262 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 368.8 -298.9955074626866 L 368.8 -314.9955074626866 L 384.8 -314.9955074626866 L 384.8 -298.9955074626866 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -306.9955074626866 M 380.8 -306.9955074626866 L 380.8 -306.996 M 380.8 -306.996 A 4 4 0 1 0 372.8 -306.996 A 4 4 0 1 0 380.8 -306.996 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 407.2 -299.3151313432836 L 407.2 -315.3151313432836 L 423.2 -315.3151313432836 L 423.2 -299.3151313432836 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -307.3151313432836 M 419.2 -307.3151313432836 L 419.2 -307.315 M 419.2 -307.315 A 4 4 0 1 0 411.2 -307.315 A 4 4 0 1 0 419.2 -307.315 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 445.6 -299.47221791044774 L 445.6 -315.47221791044774 L 461.6 -315.47221791044774 L 461.6 -299.47221791044774 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -307.47221791044774 M 457.6 -307.47221791044774 L 457.6 -307.472 M 457.6 -307.472 A 4 4 0 1 0 449.6 -307.472 A 4 4 0 1 0 457.6 -307.472 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 484.0 -299.7432776119403 L 484.0 -315.7432776119403 L 500.0 -315.7432776119403 L 500.0 -299.7432776119403 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -307.7432776119403 M 496.0 -307.7432776119403 L 496 -307.743 M 496 -307.743 A 4 4 0 1 0 488 -307.743 A 4 4 0 1 0 496 -307.743 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 522.4 -299.7981462686567 L 522.4 -315.7981462686567 L 538.4 -315.7981462686567 L 538.4 -299.7981462686567 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -307.7981462686567 M 534.4 -307.7981462686567 L 534.4 -307.798 M 534.4 -307.798 A 4 4 0 1 0 526.4 -307.798 A 4 4 0 1 0 534.4 -307.798 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 560.8 -300.05111343283585 L 560.8 -316.0511134328358 L 576.8 -316.0511134328358 L 576.8 -300.05111343283585 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -308.05111343283585 M 572.8 -308.05111343283585 L 572.8 -308.051 M 572.8 -308.051 A 4 4 0 1 0 564.8 -308.051 A 4 4 0 1 0 572.8 -308.051 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 599.2 -300.14745373134326 L 599.2 -316.14745373134326 L 615.2 -316.14745373134326 L 615.2 -300.14745373134326 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -308.14745373134326 M 611.2 -308.14745373134326 L 611.2 -308.147 M 611.2 -308.147 A 4 4 0 1 0 603.2 -308.147 A 4 4 0 1 0 611.2 -308.147 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 637.6 -300.2637253731343 L 637.6 -316.2637253731343 L 653.6 -316.2637253731343 L 653.6 -300.2637253731343 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -308.2637253731343 M 649.6 -308.2637253731343 L 649.6 -308.264 M 649.6 -308.264 A 4 4 0 1 0 641.6 -308.264 A 4 4 0 1 0 649.6 -308.264 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 676.0 -300.52375223880597 L 676.0 -316.52375223880597 L 692.0 -316.52375223880597 L 692.0 -300.52375223880597 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -308.52375223880597 M 688.0 -308.52375223880597 L 688 -308.524 M 688 -308.524 A 4 4 0 1 0 680 -308.524 A 4 4 0 1 0 688 -308.524 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 338.4 -305.86119402985076 L 376.8 -306.49853731343285 L 415.2 -306.9167671641791 L 453.6 -307.2293313432836 L 492.0 -307.4307462686567 L 530.4 -307.74285074626863 L 568.8 -307.778576119403 L 607.2 -307.9134 L 645.6 -308.0873313432836 L 684.0 -308.1681074626866" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip27);">
+          <path d="M 331.25714285714287 -298.7183368869936 L 331.25714285714287 -313.0040511727079 L 345.54285714285714 -313.0040511727079 L 345.54285714285714 -298.7183368869936 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 331.25714285714287 -305.86119402985076 L 338.4 -313.0040511727079 L 345.54285714285714 -305.86119402985076 L 338.4 -298.7183368869936 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip28);">
+            <path d="M 369.65714285714284 -299.3556801705757 L 369.65714285714284 -313.64139445628996 L 383.9428571428571 -313.64139445628996 L 383.9428571428571 -299.3556801705757 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 369.65714285714284 -306.49853731343285 L 376.8 -313.64139445628996 L 383.9428571428571 -306.49853731343285 L 376.8 -299.3556801705757 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+              <path d="M 408.0571428571429 -299.77391002132197 L 408.0571428571429 -314.05962430703624 L 422.34285714285716 -314.05962430703624 L 422.34285714285716 -299.77391002132197 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.0571428571429 -306.9167671641791 L 415.2 -314.05962430703624 L 422.34285714285716 -306.9167671641791 L 415.2 -299.77391002132197 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip30);">
+                <path d="M 446.45714285714286 -300.08647420042644 L 446.45714285714286 -314.3721884861407 L 460.74285714285713 -314.3721884861407 L 460.74285714285713 -300.08647420042644 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 446.45714285714286 -307.2293313432836 L 453.6 -314.3721884861407 L 460.74285714285713 -307.2293313432836 L 453.6 -300.08647420042644 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip31);">
+                  <path d="M 484.8571428571429 -300.28788912579955 L 484.8571428571429 -314.5736034115139 L 499.1428571428571 -314.5736034115139 L 499.1428571428571 -300.28788912579955 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 484.8571428571429 -307.4307462686567 L 492.0 -314.5736034115139 L 499.1428571428571 -307.4307462686567 L 492.0 -300.28788912579955 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip32);">
+                    <path d="M 523.2571428571429 -300.5999936034115 L 523.2571428571429 -314.8857078891258 L 537.5428571428572 -314.8857078891258 L 537.5428571428572 -300.5999936034115 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 523.2571428571429 -307.74285074626863 L 530.4 -314.8857078891258 L 537.5428571428572 -307.74285074626863 L 530.4 -300.5999936034115 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip33);">
+                      <path d="M 561.6571428571428 -300.63571897654583 L 561.6571428571428 -314.9214332622601 L 575.9428571428572 -314.9214332622601 L 575.9428571428572 -300.63571897654583 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 561.6571428571428 -307.778576119403 L 568.8 -314.9214332622601 L 575.9428571428572 -307.778576119403 L 568.8 -300.63571897654583 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip34);">
+                        <path d="M 600.0571428571428 -300.77054285714286 L 600.0571428571428 -315.05625714285713 L 614.3428571428572 -315.05625714285713 L 614.3428571428572 -300.77054285714286 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.0571428571428 -307.9134 L 607.2 -315.05625714285713 L 614.3428571428572 -307.9134 L 607.2 -300.77054285714286 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip35);">
+                          <path d="M 638.4571428571428 -300.94447420042644 L 638.4571428571428 -315.2301884861407 L 652.7428571428572 -315.2301884861407 L 652.7428571428572 -300.94447420042644 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 638.4571428571428 -308.0873313432836 L 645.6 -315.2301884861407 L 652.7428571428572 -308.0873313432836 L 645.6 -300.94447420042644 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip36);">
+                            <path d="M 676.8571428571429 -301.0252503198294 L 676.8571428571429 -315.3109646055437 L 691.1428571428571 -315.3109646055437 L 691.1428571428571 -301.0252503198294 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 676.8571428571429 -308.1681074626866 L 684.0 -315.3109646055437 L 691.1428571428571 -308.1681074626866 L 684.0 -301.0252503198294 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip37);">
+        <path d="M 338.4 -305.20549552238805 L 376.8 -306.03282686567167 L 415.2 -306.3192208955224 L 453.6 -306.5062537313433 L 492.0 -306.6776895522388 L 530.4 -306.90097313432835 L 568.8 -307.04771641791046 L 607.2 -306.84078507462687 L 645.6 -307.10731343283584 L 684.0 -307.334471641791" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip38);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip39);">
+          <path d="M 332.15 -300.20549552238805 L 332.15 -310.20549552238805 L 344.65 -310.20549552238805 L 344.65 -300.20549552238805 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 332.15 -300.20549552238805 L 344.65 -300.20549552238805 L 338.4 -310.20549552238805 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip40);">
+            <path d="M 370.55 -301.03282686567167 L 370.55 -311.03282686567167 L 383.05 -311.03282686567167 L 383.05 -301.03282686567167 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 370.55 -301.03282686567167 L 383.05 -301.03282686567167 L 376.8 -311.03282686567167 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip41);">
+              <path d="M 408.95 -301.3192208955224 L 408.95 -311.3192208955224 L 421.45 -311.3192208955224 L 421.45 -301.3192208955224 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.95 -301.3192208955224 L 421.45 -301.3192208955224 L 415.2 -311.3192208955224 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip42);">
+                <path d="M 447.35 -301.5062537313433 L 447.35 -311.5062537313433 L 459.85 -311.5062537313433 L 459.85 -301.5062537313433 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 447.35 -301.5062537313433 L 459.85 -301.5062537313433 L 453.6 -311.5062537313433 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip43);">
+                  <path d="M 485.75 -301.6776895522388 L 485.75 -311.6776895522388 L 498.25 -311.6776895522388 L 498.25 -301.6776895522388 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 485.75 -301.6776895522388 L 498.25 -301.6776895522388 L 492.0 -311.6776895522388 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip44);">
+                    <path d="M 524.15 -301.90097313432835 L 524.15 -311.90097313432835 L 536.65 -311.90097313432835 L 536.65 -301.90097313432835 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 524.15 -301.90097313432835 L 536.65 -301.90097313432835 L 530.4 -311.90097313432835 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip45);">
+                      <path d="M 562.55 -302.04771641791046 L 562.55 -312.04771641791046 L 575.05 -312.04771641791046 L 575.05 -302.04771641791046 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 562.55 -302.04771641791046 L 575.05 -302.04771641791046 L 568.8 -312.04771641791046 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip46);">
+                        <path d="M 600.95 -301.84078507462687 L 600.95 -311.84078507462687 L 613.45 -311.84078507462687 L 613.45 -301.84078507462687 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.95 -301.84078507462687 L 613.45 -301.84078507462687 L 607.2 -311.84078507462687 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip47);">
+                          <path d="M 639.35 -302.10731343283584 L 639.35 -312.10731343283584 L 651.85 -312.10731343283584 L 651.85 -302.10731343283584 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 639.35 -302.10731343283584 L 651.85 -302.10731343283584 L 645.6 -312.10731343283584 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip48);">
+                            <path d="M 677.75 -302.334471641791 L 677.75 -312.334471641791 L 690.25 -312.334471641791 L 690.25 -302.334471641791 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 677.75 -302.334471641791 L 690.25 -302.334471641791 L 684.0 -312.334471641791 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip49);">
+        <path d="M 338.4 -303.57917014925374 L 376.8 -304.0677014925373 L 415.2 -304.2686567164179 L 453.6 -304.5019552238806 L 492.0 -304.62623880597016 L 530.4 -304.7388985074627 L 568.8 -304.84902985074626 L 607.2 -304.90557313432834 L 645.6 -304.96733731343284 L 684.0 -305.0739552238806" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip50);">
+        <path d="M 331.25714285714287 -303.57917014925374 L 345.54285714285714 -303.57917014925374" style="stroke-width:1;"/>
+        <path d="M 338.4 -296.4363130063966 L 338.4 -310.72202729211085" style="stroke-width:1;"/>
+        <path d="M 369.65714285714284 -304.0677014925373 L 383.9428571428571 -304.0677014925373" style="stroke-width:1;"/>
+        <path d="M 376.8 -296.92484434968014 L 376.8 -311.2105586353945" style="stroke-width:1;"/>
+        <path d="M 408.0571428571429 -304.2686567164179 L 422.34285714285716 -304.2686567164179" style="stroke-width:1;"/>
+        <path d="M 415.2 -297.12579957356076 L 415.2 -311.41151385927503" style="stroke-width:1;"/>
+        <path d="M 446.45714285714286 -304.5019552238806 L 460.74285714285713 -304.5019552238806" style="stroke-width:1;"/>
+        <path d="M 453.6 -297.35909808102343 L 453.6 -311.64481236673777" style="stroke-width:1;"/>
+        <path d="M 484.8571428571429 -304.62623880597016 L 499.1428571428571 -304.62623880597016" style="stroke-width:1;"/>
+        <path d="M 492.0 -297.483381663113 L 492.0 -311.76909594882727" style="stroke-width:1;"/>
+        <path d="M 523.2571428571429 -304.7388985074627 L 537.5428571428572 -304.7388985074627" style="stroke-width:1;"/>
+        <path d="M 530.4 -297.5960413646055 L 530.4 -311.8817556503198" style="stroke-width:1;"/>
+        <path d="M 561.6571428571428 -304.84902985074626 L 575.9428571428572 -304.84902985074626" style="stroke-width:1;"/>
+        <path d="M 568.8 -297.70617270788915 L 568.8 -311.99188699360343" style="stroke-width:1;"/>
+        <path d="M 600.0571428571428 -304.90557313432834 L 614.3428571428572 -304.90557313432834" style="stroke-width:1;"/>
+        <path d="M 607.2 -297.7627159914712 L 607.2 -312.0484302771855" style="stroke-width:1;"/>
+        <path d="M 638.4571428571428 -304.96733731343284 L 652.7428571428572 -304.96733731343284" style="stroke-width:1;"/>
+        <path d="M 645.6 -297.82448017057567 L 645.6 -312.11019445629" style="stroke-width:1;"/>
+        <path d="M 676.8571428571429 -305.0739552238806 L 691.1428571428571 -305.0739552238806" style="stroke-width:1;"/>
+        <path d="M 684.0 -297.93109808102344 L 684.0 -312.2168123667377" style="stroke-width:1;"/>
+      </g>
+      <g style="clip-path:url(#clip51);">
+        <path d="M 338.4 -303.04280358208956 L 376.8 -303.54012835820896 L 415.2 -303.8069194029851 L 453.6 -304.06169253731343 L 492.0 -304.2643880597015 L 530.4 -304.34335820895524 L 568.8 -304.491447761194 L 607.2 -304.52195223880597 L 645.6 -304.63136119402986 L 684.0 -304.7444149253731" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip52);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip53);">
+          <path d="M 330.4 -295.04280358208956 L 330.4 -311.04280358208956 L 346.4 -311.04280358208956 L 346.4 -295.04280358208956 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -303.04280358208956 M 342.4 -303.04280358208956 L 342.4 -303.043 M 342.4 -303.043 A 4 4 0 1 0 334.4 -303.043 A 4 4 0 1 0 342.4 -303.043 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip54);">
+            <path d="M 368.8 -295.54012835820896 L 368.8 -311.54012835820896 L 384.8 -311.54012835820896 L 384.8 -295.54012835820896 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -303.54012835820896 M 380.8 -303.54012835820896 L 380.8 -303.54 M 380.8 -303.54 A 4 4 0 1 0 372.8 -303.54 A 4 4 0 1 0 380.8 -303.54 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip55);">
+              <path d="M 407.2 -295.8069194029851 L 407.2 -311.8069194029851 L 423.2 -311.8069194029851 L 423.2 -295.8069194029851 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -303.8069194029851 M 419.2 -303.8069194029851 L 419.2 -303.807 M 419.2 -303.807 A 4 4 0 1 0 411.2 -303.807 A 4 4 0 1 0 419.2 -303.807 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip56);">
+                <path d="M 445.6 -296.06169253731343 L 445.6 -312.06169253731343 L 461.6 -312.06169253731343 L 461.6 -296.06169253731343 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -304.06169253731343 M 457.6 -304.06169253731343 L 457.6 -304.062 M 457.6 -304.062 A 4 4 0 1 0 449.6 -304.062 A 4 4 0 1 0 457.6 -304.062 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip57);">
+                  <path d="M 484.0 -296.2643880597015 L 484.0 -312.2643880597015 L 500.0 -312.2643880597015 L 500.0 -296.2643880597015 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -304.2643880597015 M 496.0 -304.2643880597015 L 496 -304.264 M 496 -304.264 A 4 4 0 1 0 488 -304.264 A 4 4 0 1 0 496 -304.264 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip58);">
+                    <path d="M 522.4 -296.34335820895524 L 522.4 -312.34335820895524 L 538.4 -312.34335820895524 L 538.4 -296.34335820895524 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -304.34335820895524 M 534.4 -304.34335820895524 L 534.4 -304.343 M 534.4 -304.343 A 4 4 0 1 0 526.4 -304.343 A 4 4 0 1 0 534.4 -304.343 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip59);">
+                      <path d="M 560.8 -296.491447761194 L 560.8 -312.491447761194 L 576.8 -312.491447761194 L 576.8 -296.491447761194 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -304.491447761194 M 572.8 -304.491447761194 L 572.8 -304.491 M 572.8 -304.491 A 4 4 0 1 0 564.8 -304.491 A 4 4 0 1 0 572.8 -304.491 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip60);">
+                        <path d="M 599.2 -296.52195223880597 L 599.2 -312.52195223880597 L 615.2 -312.52195223880597 L 615.2 -296.52195223880597 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -304.52195223880597 M 611.2 -304.52195223880597 L 611.2 -304.522 M 611.2 -304.522 A 4 4 0 1 0 603.2 -304.522 A 4 4 0 1 0 611.2 -304.522 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip61);">
+                          <path d="M 637.6 -296.63136119402986 L 637.6 -312.63136119402986 L 653.6 -312.63136119402986 L 653.6 -296.63136119402986 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -304.63136119402986 M 649.6 -304.63136119402986 L 649.6 -304.631 M 649.6 -304.631 A 4 4 0 1 0 641.6 -304.631 A 4 4 0 1 0 649.6 -304.631 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip62);">
+                            <path d="M 676.0 -296.7444149253731 L 676.0 -312.7444149253731 L 692.0 -312.7444149253731 L 692.0 -296.7444149253731 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -304.7444149253731 M 688.0 -304.7444149253731 L 688 -304.744 M 688 -304.744 A 4 4 0 1 0 680 -304.744 A 4 4 0 1 0 688 -304.744 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip63);">
+        <path d="M 338.4 -302.0063671641791 L 376.8 -302.26110417910445 L 415.2 -302.29905910447764 L 453.6 -302.39367552238804 L 492.0 -302.4131307462687 L 530.4 -302.47982686567167 L 568.8 -302.5213182089552 L 607.2 -302.5637913432836 L 645.6 -302.5892029850746 L 684.0 -302.62813970149256" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip64);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip65);">
+          <path d="M 334.4 -298.0063671641791 L 334.4 -306.0063671641791 L 342.4 -306.0063671641791 L 342.4 -298.0063671641791 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 334.4 -298.0063671641791 L 334.4 -306.0063671641791 L 342.4 -306.0063671641791 L 342.4 -298.0063671641791 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip66);">
+            <path d="M 372.8 -298.26110417910445 L 372.8 -306.26110417910445 L 380.8 -306.26110417910445 L 380.8 -298.26110417910445 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 372.8 -298.26110417910445 L 372.8 -306.26110417910445 L 380.8 -306.26110417910445 L 380.8 -298.26110417910445 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip67);">
+              <path d="M 411.2 -298.29905910447764 L 411.2 -306.29905910447764 L 419.2 -306.29905910447764 L 419.2 -298.29905910447764 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 411.2 -298.29905910447764 L 411.2 -306.29905910447764 L 419.2 -306.29905910447764 L 419.2 -298.29905910447764 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip68);">
+                <path d="M 449.6 -298.39367552238804 L 449.6 -306.39367552238804 L 457.6 -306.39367552238804 L 457.6 -298.39367552238804 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 449.6 -298.39367552238804 L 449.6 -306.39367552238804 L 457.6 -306.39367552238804 L 457.6 -298.39367552238804 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip69);">
+                  <path d="M 488.0 -298.4131307462687 L 488.0 -306.4131307462687 L 496.0 -306.4131307462687 L 496.0 -298.4131307462687 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 488.0 -298.4131307462687 L 488.0 -306.4131307462687 L 496.0 -306.4131307462687 L 496.0 -298.4131307462687 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip70);">
+                    <path d="M 526.4 -298.47982686567167 L 526.4 -306.47982686567167 L 534.4 -306.47982686567167 L 534.4 -298.47982686567167 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 526.4 -298.47982686567167 L 526.4 -306.47982686567167 L 534.4 -306.47982686567167 L 534.4 -298.47982686567167 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip71);">
+                      <path d="M 564.8 -298.5213182089552 L 564.8 -306.5213182089552 L 572.8 -306.5213182089552 L 572.8 -298.5213182089552 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 564.8 -298.5213182089552 L 564.8 -306.5213182089552 L 572.8 -306.5213182089552 L 572.8 -298.5213182089552 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip72);">
+                        <path d="M 603.2 -298.5637913432836 L 603.2 -306.5637913432836 L 611.2 -306.5637913432836 L 611.2 -298.5637913432836 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 603.2 -298.5637913432836 L 603.2 -306.5637913432836 L 611.2 -306.5637913432836 L 611.2 -298.5637913432836 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip73);">
+                          <path d="M 641.6 -298.5892029850746 L 641.6 -306.5892029850746 L 649.6 -306.5892029850746 L 649.6 -298.5892029850746 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 641.6 -298.5892029850746 L 641.6 -306.5892029850746 L 649.6 -306.5892029850746 L 649.6 -298.5892029850746 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip74);">
+                            <path d="M 680.0 -298.62813970149256 L 680.0 -306.62813970149256 L 688.0 -306.62813970149256 L 688.0 -298.62813970149256 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 680.0 -298.62813970149256 L 680.0 -306.62813970149256 L 688.0 -306.62813970149256 L 688.0 -298.62813970149256 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip75);">
+      <path d="M 290 -54 L 290 -182 L 324 -182 L 324 -54 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -172.66666666666669 L 314 -172.66666666666669" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip76);">
+      <path d="M 300.75 -167.66666666666669 L 300.75 -177.66666666666669 L 313.25 -177.66666666666669 L 313.25 -167.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -167.66666666666669 L 300.75 -177.66666666666669 L 313.25 -177.66666666666669 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-168.0">
+        binary_heap
+      </text>
+      <path d="M 300 -154.66666666666666 L 314 -154.66666666666666" style="stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip77);">
+        <path d="M 299.0 -146.66666666666666 L 299.0 -162.66666666666666 L 315.0 -162.66666666666666 L 315.0 -146.66666666666666 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 307.0 -154.66666666666666 M 311.0 -154.66666666666666 L 311 -154.667 M 311 -154.667 A 4 4 0 1 0 303 -154.667 A 4 4 0 1 0 311 -154.667 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-150.0">
+          thin_heap
+        </text>
+        <path d="M 300 -136.66666666666666 L 314 -136.66666666666666" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip78);">
+          <path d="M 299.85714285714283 -129.52380952380952 L 299.85714285714283 -143.8095238095238 L 314.14285714285717 -143.8095238095238 L 314.14285714285717 -129.52380952380952 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 299.85714285714283 -136.66666666666666 L 307.0 -143.8095238095238 L 314.14285714285717 -136.66666666666666 L 307.0 -129.52380952380952 Z"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-132.0">
+            rc_binomial_heap
+          </text>
+          <path d="M 300 -118.66666666666666 L 314 -118.66666666666666" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip79);">
+            <path d="M 300.75 -113.66666666666666 L 300.75 -123.66666666666666 L 313.25 -123.66666666666666 L 313.25 -113.66666666666666 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 300.75 -113.66666666666666 L 313.25 -113.66666666666666 L 307.0 -123.66666666666666 Z"/>
+            <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-114.0">
+              binomial_heap
+            </text>
+            <path d="M 300 -100.66666666666666 L 314 -100.66666666666666" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+            <path d="M 299.85714285714283 -100.66666666666666 L 314.14285714285717 -100.66666666666666" style="stroke-width:1;"/>
+            <path d="M 307.0 -93.52380952380952 L 307.0 -107.8095238095238" style="stroke-width:1;"/>
+            <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-96.0">
+              pairing_heap
+            </text>
+            <path d="M 300 -82.66666666666666 L 314 -82.66666666666666" style="stroke-width:2;"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip80);">
+              <path d="M 299.0 -74.66666666666666 L 299.0 -90.66666666666666 L 315.0 -90.66666666666666 L 315.0 -74.66666666666666 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 307.0 -82.66666666666666 M 311.0 -82.66666666666666 L 311 -82.6667 M 311 -82.6667 A 4 4 0 1 0 303 -82.6667 A 4 4 0 1 0 311 -82.6667 Z"/>
+              <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-78.0">
+                n_pq_deque
+              </text>
+              <path d="M 300 -64.66666666666666 L 314 -64.66666666666666" style="stroke-width:2;"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip81);">
+                <path d="M 303.0 -60.66666666666666 L 303.0 -68.66666666666666 L 311.0 -68.66666666666666 L 311.0 -60.66666666666666 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 303.0 -60.66666666666666 L 303.0 -68.66666666666666 L 311.0 -68.66666666666666 L 311.0 -60.66666666666666 Z"/>
+                <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-60.0">
+                  n_pq_vector
+                </text>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_timing_test_local.pdf b/libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_timing_test_local.pdf
new file mode 100644 (file)
index 0000000..3807a72
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_timing_test_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_timing_test_local.png b/libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_timing_test_local.png
new file mode 100644 (file)
index 0000000..337ff0b
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_timing_test_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_timing_test_local.svg b/libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_timing_test_local.svg
new file mode 100644 (file)
index 0000000..bc5456d
--- /dev/null
@@ -0,0 +1,825 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 496.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 338.4 -318.3455791044776 L 332.15 -328.3455791044776 L 344.65 -328.3455791044776 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 376.8 -342.1489552238806 L 370.55 -352.1489552238806 L 383.05 -352.1489552238806 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 415.2 -363.5792537313433 L 408.95 -373.5792537313433 L 421.45 -373.5792537313433 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 453.6 -382.68641791044774 L 447.35 -392.68641791044774 L 459.85 -392.68641791044774 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 492.0 -407.67185074626866 L 485.75 -417.67185074626866 L 498.25 -417.67185074626866 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 530.4 -430.44776119402985 L 524.15 -440.44776119402985 L 536.65 -440.44776119402985 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 568.8 -453.8429552238806 L 562.55 -463.8429552238806 L 575.05 -463.8429552238806 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 607.2 -475.14092537313434 L 600.95 -485.14092537313434 L 613.45 -485.14092537313434 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 645.6 -495.07489552238803 L 639.35 -505.07489552238803 L 651.85 -505.07489552238803 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 684.0 -515.0 L 677.75 -525.0 L 690.25 -525.0 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 331.25714285714287 -301.96629432835823 L 338.4 -309.10915147121534 L 345.54285714285714 -301.96629432835823 L 338.4 -294.82343718550106 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 369.65714285714284 -302.04598029850746 L 376.8 -309.1888374413646 L 383.9428571428571 -302.04598029850746 L 376.8 -294.9031231556503 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 408.0571428571429 -302.0232644776119 L 415.2 -309.1661216204691 L 422.34285714285716 -302.0232644776119 L 415.2 -294.8804073347548 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 446.45714285714286 -302.071336119403 L 453.6 -309.21419326226015 L 460.74285714285713 -302.071336119403 L 453.6 -294.9284789765458 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 484.8571428571429 -302.05835611940296 L 492.0 -309.2012132622601 L 499.1428571428571 -302.05835611940296 L 492.0 -294.91549897654585 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 523.2571428571429 -302.03932119402987 L 530.4 -309.182178336887 L 537.5428571428572 -302.03932119402987 L 530.4 -294.8964640511727 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 561.6571428571428 -302.0327408955224 L 568.8 -309.1755980383795 L 575.9428571428572 -302.0327408955224 L 568.8 -294.88988375266524 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 600.0571428571428 -302.07033462686564 L 607.2 -309.2131917697228 L 614.3428571428572 -302.07033462686564 L 607.2 -294.92747748400853 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 638.4571428571428 -302.04808835820893 L 645.6 -309.1909455010661 L 652.7428571428572 -302.04808835820893 L 645.6 -294.9052312153518 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 676.8571428571429 -302.0746919402985 L 684.0 -309.21754908315563 L 691.1428571428571 -302.0746919402985 L 684.0 -294.93183479744135 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 332.15 -296.71984507462685 L 344.65 -296.71984507462685 L 338.4 -306.71984507462685 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 370.55 -296.76312925373134 L 383.05 -296.76312925373134 L 376.8 -306.76312925373134 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 408.95 -296.79417880597015 L 421.45 -296.79417880597015 L 415.2 -306.79417880597015 Z"/>
+    </clipPath>
+    <clipPath id="clip30">
+      <path d="M 447.35 -296.79663164179107 L 459.85 -296.79663164179107 L 453.6 -306.79663164179107 Z"/>
+    </clipPath>
+    <clipPath id="clip31">
+      <path d="M 485.75 -296.81042268656716 L 498.25 -296.81042268656716 L 492.0 -306.81042268656716 Z"/>
+    </clipPath>
+    <clipPath id="clip32">
+      <path d="M 524.15 -296.80513611940296 L 536.65 -296.80513611940296 L 530.4 -306.80513611940296 Z"/>
+    </clipPath>
+    <clipPath id="clip33">
+      <path d="M 562.55 -296.76347074626864 L 575.05 -296.76347074626864 L 568.8 -306.76347074626864 Z"/>
+    </clipPath>
+    <clipPath id="clip34">
+      <path d="M 600.95 -296.7608241791045 L 613.45 -296.7608241791045 L 607.2 -306.7608241791045 Z"/>
+    </clipPath>
+    <clipPath id="clip35">
+      <path d="M 639.35 -296.76252507462686 L 651.85 -296.76252507462686 L 645.6 -306.76252507462686 Z"/>
+    </clipPath>
+    <clipPath id="clip36">
+      <path d="M 677.75 -296.76536537313433 L 690.25 -296.76536537313433 L 684.0 -306.76536537313433 Z"/>
+    </clipPath>
+    <clipPath id="clip37">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip38">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip39">
+      <path d="M 338.4 -301.2547223880597 M 342.4 -301.2547223880597 L 342.4 -301.255 M 342.4 -301.255 A 4 4 0 1 0 334.4 -301.255 A 4 4 0 1 0 342.4 -301.255 Z"/>
+    </clipPath>
+    <clipPath id="clip40">
+      <path d="M 376.8 -301.2413220895522 M 380.8 -301.2413220895522 L 380.8 -301.241 M 380.8 -301.241 A 4 4 0 1 0 372.8 -301.241 A 4 4 0 1 0 380.8 -301.241 Z"/>
+    </clipPath>
+    <clipPath id="clip41">
+      <path d="M 415.2 -301.23162895522387 M 419.2 -301.23162895522387 L 419.2 -301.232 M 419.2 -301.232 A 4 4 0 1 0 411.2 -301.232 A 4 4 0 1 0 419.2 -301.232 Z"/>
+    </clipPath>
+    <clipPath id="clip42">
+      <path d="M 453.6 -301.2340259701493 M 457.6 -301.2340259701493 L 457.6 -301.234 M 457.6 -301.234 A 4 4 0 1 0 449.6 -301.234 A 4 4 0 1 0 457.6 -301.234 Z"/>
+    </clipPath>
+    <clipPath id="clip43">
+      <path d="M 492.0 -301.2247104477612 M 496.0 -301.2247104477612 L 496 -301.225 M 496 -301.225 A 4 4 0 1 0 488 -301.225 A 4 4 0 1 0 496 -301.225 Z"/>
+    </clipPath>
+    <clipPath id="clip44">
+      <path d="M 530.4 -301.22501253731343 M 534.4 -301.22501253731343 L 534.4 -301.225 M 534.4 -301.225 A 4 4 0 1 0 526.4 -301.225 A 4 4 0 1 0 534.4 -301.225 Z"/>
+    </clipPath>
+    <clipPath id="clip45">
+      <path d="M 568.8 -301.27027343283584 M 572.8 -301.27027343283584 L 572.8 -301.27 M 572.8 -301.27 A 4 4 0 1 0 564.8 -301.27 A 4 4 0 1 0 572.8 -301.27 Z"/>
+    </clipPath>
+    <clipPath id="clip46">
+      <path d="M 607.2 -301.23494208955225 M 611.2 -301.23494208955225 L 611.2 -301.235 M 611.2 -301.235 A 4 4 0 1 0 603.2 -301.235 A 4 4 0 1 0 611.2 -301.235 Z"/>
+    </clipPath>
+    <clipPath id="clip47">
+      <path d="M 645.6 -301.22821402985073 M 649.6 -301.22821402985073 L 649.6 -301.228 M 649.6 -301.228 A 4 4 0 1 0 641.6 -301.228 A 4 4 0 1 0 649.6 -301.228 Z"/>
+    </clipPath>
+    <clipPath id="clip48">
+      <path d="M 684.0 -301.22880507462685 M 688.0 -301.22880507462685 L 688 -301.229 M 688 -301.229 A 4 4 0 1 0 680 -301.229 A 4 4 0 1 0 688 -301.229 Z"/>
+    </clipPath>
+    <clipPath id="clip49">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip50">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip51">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip52">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip53">
+      <path d="M 338.4 -300.8645343283582 M 342.4 -300.8645343283582 L 342.4 -300.865 M 342.4 -300.865 A 4 4 0 1 0 334.4 -300.865 A 4 4 0 1 0 342.4 -300.865 Z"/>
+    </clipPath>
+    <clipPath id="clip54">
+      <path d="M 376.8 -300.8930423880597 M 380.8 -300.8930423880597 L 380.8 -300.893 M 380.8 -300.893 A 4 4 0 1 0 372.8 -300.893 A 4 4 0 1 0 380.8 -300.893 Z"/>
+    </clipPath>
+    <clipPath id="clip55">
+      <path d="M 415.2 -300.9157549253731 M 419.2 -300.9157549253731 L 419.2 -300.916 M 419.2 -300.916 A 4 4 0 1 0 411.2 -300.916 A 4 4 0 1 0 419.2 -300.916 Z"/>
+    </clipPath>
+    <clipPath id="clip56">
+      <path d="M 453.6 -300.9447653731343 M 457.6 -300.9447653731343 L 457.6 -300.945 M 457.6 -300.945 A 4 4 0 1 0 449.6 -300.945 A 4 4 0 1 0 457.6 -300.945 Z"/>
+    </clipPath>
+    <clipPath id="clip57">
+      <path d="M 492.0 -300.95871074626865 M 496.0 -300.95871074626865 L 496 -300.959 M 496 -300.959 A 4 4 0 1 0 488 -300.959 A 4 4 0 1 0 496 -300.959 Z"/>
+    </clipPath>
+    <clipPath id="clip58">
+      <path d="M 530.4 -300.96553731343283 M 534.4 -300.96553731343283 L 534.4 -300.966 M 534.4 -300.966 A 4 4 0 1 0 526.4 -300.966 A 4 4 0 1 0 534.4 -300.966 Z"/>
+    </clipPath>
+    <clipPath id="clip59">
+      <path d="M 568.8 -300.97034447761195 M 572.8 -300.97034447761195 L 572.8 -300.97 M 572.8 -300.97 A 4 4 0 1 0 564.8 -300.97 A 4 4 0 1 0 572.8 -300.97 Z"/>
+    </clipPath>
+    <clipPath id="clip60">
+      <path d="M 607.2 -300.9836134328358 M 611.2 -300.9836134328358 L 611.2 -300.984 M 611.2 -300.984 A 4 4 0 1 0 603.2 -300.984 A 4 4 0 1 0 611.2 -300.984 Z"/>
+    </clipPath>
+    <clipPath id="clip61">
+      <path d="M 645.6 -300.97012447761193 M 649.6 -300.97012447761193 L 649.6 -300.97 M 649.6 -300.97 A 4 4 0 1 0 641.6 -300.97 A 4 4 0 1 0 649.6 -300.97 Z"/>
+    </clipPath>
+    <clipPath id="clip62">
+      <path d="M 684.0 -300.9824904477612 M 688.0 -300.9824904477612 L 688 -300.982 M 688 -300.982 A 4 4 0 1 0 680 -300.982 A 4 4 0 1 0 688 -300.982 Z"/>
+    </clipPath>
+    <clipPath id="clip63">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip64">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip65">
+      <path d="M 334.4 -296.6776689552239 L 334.4 -304.6776689552239 L 342.4 -304.6776689552239 L 342.4 -296.6776689552239 Z"/>
+    </clipPath>
+    <clipPath id="clip66">
+      <path d="M 372.8 -296.63155104477613 L 372.8 -304.63155104477613 L 380.8 -304.63155104477613 L 380.8 -296.63155104477613 Z"/>
+    </clipPath>
+    <clipPath id="clip67">
+      <path d="M 411.2 -296.62003223880595 L 411.2 -304.62003223880595 L 419.2 -304.62003223880595 L 419.2 -296.62003223880595 Z"/>
+    </clipPath>
+    <clipPath id="clip68">
+      <path d="M 449.6 -296.60298388059704 L 449.6 -304.60298388059704 L 457.6 -304.60298388059704 L 457.6 -296.60298388059704 Z"/>
+    </clipPath>
+    <clipPath id="clip69">
+      <path d="M 488.0 -296.5816208955224 L 488.0 -304.5816208955224 L 496.0 -304.5816208955224 L 496.0 -296.5816208955224 Z"/>
+    </clipPath>
+    <clipPath id="clip70">
+      <path d="M 526.4 -296.58382746268654 L 526.4 -304.58382746268654 L 534.4 -304.58382746268654 L 534.4 -296.58382746268654 Z"/>
+    </clipPath>
+    <clipPath id="clip71">
+      <path d="M 564.8 -296.57985432835824 L 564.8 -304.57985432835824 L 572.8 -304.57985432835824 L 572.8 -296.57985432835824 Z"/>
+    </clipPath>
+    <clipPath id="clip72">
+      <path d="M 603.2 -296.57130716417913 L 603.2 -304.57130716417913 L 611.2 -304.57130716417913 L 611.2 -296.57130716417913 Z"/>
+    </clipPath>
+    <clipPath id="clip73">
+      <path d="M 641.6 -296.5609408955224 L 641.6 -304.5609408955224 L 649.6 -304.5609408955224 L 649.6 -296.5609408955224 Z"/>
+    </clipPath>
+    <clipPath id="clip74">
+      <path d="M 680.0 -296.55760805970147 L 680.0 -304.55760805970147 L 688.0 -304.55760805970147 L 688.0 -296.55760805970147 Z"/>
+    </clipPath>
+    <clipPath id="clip75">
+      <path d="M 290 -54 L 290 -182 L 324 -182 L 324 -54 Z"/>
+    </clipPath>
+    <clipPath id="clip76">
+      <path d="M 307.0 -167.66666666666669 L 300.75 -177.66666666666669 L 313.25 -177.66666666666669 Z"/>
+    </clipPath>
+    <clipPath id="clip77">
+      <path d="M 299.85714285714283 -154.66666666666666 L 307.0 -161.8095238095238 L 314.14285714285717 -154.66666666666666 L 307.0 -147.52380952380952 Z"/>
+    </clipPath>
+    <clipPath id="clip78">
+      <path d="M 300.75 -131.66666666666666 L 313.25 -131.66666666666666 L 307.0 -141.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip79">
+      <path d="M 307.0 -118.66666666666666 M 311.0 -118.66666666666666 L 311 -118.667 M 311 -118.667 A 4 4 0 1 0 303 -118.667 A 4 4 0 1 0 311 -118.667 Z"/>
+    </clipPath>
+    <clipPath id="clip80">
+      <path d="M 307.0 -82.66666666666666 M 311.0 -82.66666666666666 L 311 -82.6667 M 311 -82.6667 A 4 4 0 1 0 303 -82.6667 A 4 4 0 1 0 311 -82.6667 Z"/>
+    </clipPath>
+    <clipPath id="clip81">
+      <path d="M 303.0 -60.66666666666666 L 303.0 -68.66666666666666 L 311.0 -68.66666666666666 L 311.0 -60.66666666666666 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      1.34e-06
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      2.68e-06
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.50048673219425">
+      4.02e-06
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      5.36e-06
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      6.70e-06
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -323.3455791044776 L 376.8 -347.1489552238806 L 415.2 -368.5792537313433 L 453.6 -387.68641791044774 L 492.0 -412.67185074626866 L 530.4 -435.44776119402985 L 568.8 -458.8429552238806 L 607.2 -480.14092537313434 L 645.6 -500.07489552238803 L 684.0 -520.0" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 332.15 -318.3455791044776 L 332.15 -328.3455791044776 L 344.65 -328.3455791044776 L 344.65 -318.3455791044776 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -318.3455791044776 L 332.15 -328.3455791044776 L 344.65 -328.3455791044776 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 370.55 -342.1489552238806 L 370.55 -352.1489552238806 L 383.05 -352.1489552238806 L 383.05 -342.1489552238806 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -342.1489552238806 L 370.55 -352.1489552238806 L 383.05 -352.1489552238806 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 408.95 -363.5792537313433 L 408.95 -373.5792537313433 L 421.45 -373.5792537313433 L 421.45 -363.5792537313433 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -363.5792537313433 L 408.95 -373.5792537313433 L 421.45 -373.5792537313433 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 447.35 -382.68641791044774 L 447.35 -392.68641791044774 L 459.85 -392.68641791044774 L 459.85 -382.68641791044774 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -382.68641791044774 L 447.35 -392.68641791044774 L 459.85 -392.68641791044774 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 485.75 -407.67185074626866 L 485.75 -417.67185074626866 L 498.25 -417.67185074626866 L 498.25 -407.67185074626866 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -407.67185074626866 L 485.75 -417.67185074626866 L 498.25 -417.67185074626866 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 524.15 -430.44776119402985 L 524.15 -440.44776119402985 L 536.65 -440.44776119402985 L 536.65 -430.44776119402985 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -430.44776119402985 L 524.15 -440.44776119402985 L 536.65 -440.44776119402985 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 562.55 -453.8429552238806 L 562.55 -463.8429552238806 L 575.05 -463.8429552238806 L 575.05 -453.8429552238806 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -453.8429552238806 L 562.55 -463.8429552238806 L 575.05 -463.8429552238806 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 600.95 -475.14092537313434 L 600.95 -485.14092537313434 L 613.45 -485.14092537313434 L 613.45 -475.14092537313434 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -475.14092537313434 L 600.95 -485.14092537313434 L 613.45 -485.14092537313434 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 639.35 -495.07489552238803 L 639.35 -505.07489552238803 L 651.85 -505.07489552238803 L 651.85 -495.07489552238803 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -495.07489552238803 L 639.35 -505.07489552238803 L 651.85 -505.07489552238803 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 677.75 -515.0 L 677.75 -525.0 L 690.25 -525.0 L 690.25 -515.0 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -515.0 L 677.75 -525.0 L 690.25 -525.0 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 338.4 -301.96629432835823 L 376.8 -302.04598029850746 L 415.2 -302.0232644776119 L 453.6 -302.071336119403 L 492.0 -302.05835611940296 L 530.4 -302.03932119402987 L 568.8 -302.0327408955224 L 607.2 -302.07033462686564 L 645.6 -302.04808835820893 L 684.0 -302.0746919402985" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 331.25714285714287 -294.82343718550106 L 331.25714285714287 -309.10915147121534 L 345.54285714285714 -309.10915147121534 L 345.54285714285714 -294.82343718550106 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 331.25714285714287 -301.96629432835823 L 338.4 -309.10915147121534 L 345.54285714285714 -301.96629432835823 L 338.4 -294.82343718550106 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 369.65714285714284 -294.9031231556503 L 369.65714285714284 -309.1888374413646 L 383.9428571428571 -309.1888374413646 L 383.9428571428571 -294.9031231556503 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 369.65714285714284 -302.04598029850746 L 376.8 -309.1888374413646 L 383.9428571428571 -302.04598029850746 L 376.8 -294.9031231556503 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 408.0571428571429 -294.8804073347548 L 408.0571428571429 -309.1661216204691 L 422.34285714285716 -309.1661216204691 L 422.34285714285716 -294.8804073347548 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.0571428571429 -302.0232644776119 L 415.2 -309.1661216204691 L 422.34285714285716 -302.0232644776119 L 415.2 -294.8804073347548 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 446.45714285714286 -294.9284789765458 L 446.45714285714286 -309.21419326226015 L 460.74285714285713 -309.21419326226015 L 460.74285714285713 -294.9284789765458 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 446.45714285714286 -302.071336119403 L 453.6 -309.21419326226015 L 460.74285714285713 -302.071336119403 L 453.6 -294.9284789765458 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 484.8571428571429 -294.91549897654585 L 484.8571428571429 -309.2012132622601 L 499.1428571428571 -309.2012132622601 L 499.1428571428571 -294.91549897654585 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 484.8571428571429 -302.05835611940296 L 492.0 -309.2012132622601 L 499.1428571428571 -302.05835611940296 L 492.0 -294.91549897654585 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 523.2571428571429 -294.8964640511727 L 523.2571428571429 -309.182178336887 L 537.5428571428572 -309.182178336887 L 537.5428571428572 -294.8964640511727 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 523.2571428571429 -302.03932119402987 L 530.4 -309.182178336887 L 537.5428571428572 -302.03932119402987 L 530.4 -294.8964640511727 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 561.6571428571428 -294.88988375266524 L 561.6571428571428 -309.1755980383795 L 575.9428571428572 -309.1755980383795 L 575.9428571428572 -294.88988375266524 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 561.6571428571428 -302.0327408955224 L 568.8 -309.1755980383795 L 575.9428571428572 -302.0327408955224 L 568.8 -294.88988375266524 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 600.0571428571428 -294.92747748400853 L 600.0571428571428 -309.2131917697228 L 614.3428571428572 -309.2131917697228 L 614.3428571428572 -294.92747748400853 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.0571428571428 -302.07033462686564 L 607.2 -309.2131917697228 L 614.3428571428572 -302.07033462686564 L 607.2 -294.92747748400853 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 638.4571428571428 -294.9052312153518 L 638.4571428571428 -309.1909455010661 L 652.7428571428572 -309.1909455010661 L 652.7428571428572 -294.9052312153518 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 638.4571428571428 -302.04808835820893 L 645.6 -309.1909455010661 L 652.7428571428572 -302.04808835820893 L 645.6 -294.9052312153518 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 676.8571428571429 -294.93183479744135 L 676.8571428571429 -309.21754908315563 L 691.1428571428571 -309.21754908315563 L 691.1428571428571 -294.93183479744135 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 676.8571428571429 -302.0746919402985 L 684.0 -309.21754908315563 L 691.1428571428571 -302.0746919402985 L 684.0 -294.93183479744135 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 338.4 -301.71984507462685 L 376.8 -301.76312925373134 L 415.2 -301.79417880597015 L 453.6 -301.79663164179107 L 492.0 -301.81042268656716 L 530.4 -301.80513611940296 L 568.8 -301.76347074626864 L 607.2 -301.7608241791045 L 645.6 -301.76252507462686 L 684.0 -301.76536537313433" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip27);">
+          <path d="M 332.15 -296.71984507462685 L 332.15 -306.71984507462685 L 344.65 -306.71984507462685 L 344.65 -296.71984507462685 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 332.15 -296.71984507462685 L 344.65 -296.71984507462685 L 338.4 -306.71984507462685 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip28);">
+            <path d="M 370.55 -296.76312925373134 L 370.55 -306.76312925373134 L 383.05 -306.76312925373134 L 383.05 -296.76312925373134 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 370.55 -296.76312925373134 L 383.05 -296.76312925373134 L 376.8 -306.76312925373134 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+              <path d="M 408.95 -296.79417880597015 L 408.95 -306.79417880597015 L 421.45 -306.79417880597015 L 421.45 -296.79417880597015 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.95 -296.79417880597015 L 421.45 -296.79417880597015 L 415.2 -306.79417880597015 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip30);">
+                <path d="M 447.35 -296.79663164179107 L 447.35 -306.79663164179107 L 459.85 -306.79663164179107 L 459.85 -296.79663164179107 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 447.35 -296.79663164179107 L 459.85 -296.79663164179107 L 453.6 -306.79663164179107 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip31);">
+                  <path d="M 485.75 -296.81042268656716 L 485.75 -306.81042268656716 L 498.25 -306.81042268656716 L 498.25 -296.81042268656716 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 485.75 -296.81042268656716 L 498.25 -296.81042268656716 L 492.0 -306.81042268656716 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip32);">
+                    <path d="M 524.15 -296.80513611940296 L 524.15 -306.80513611940296 L 536.65 -306.80513611940296 L 536.65 -296.80513611940296 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 524.15 -296.80513611940296 L 536.65 -296.80513611940296 L 530.4 -306.80513611940296 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip33);">
+                      <path d="M 562.55 -296.76347074626864 L 562.55 -306.76347074626864 L 575.05 -306.76347074626864 L 575.05 -296.76347074626864 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 562.55 -296.76347074626864 L 575.05 -296.76347074626864 L 568.8 -306.76347074626864 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip34);">
+                        <path d="M 600.95 -296.7608241791045 L 600.95 -306.7608241791045 L 613.45 -306.7608241791045 L 613.45 -296.7608241791045 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.95 -296.7608241791045 L 613.45 -296.7608241791045 L 607.2 -306.7608241791045 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip35);">
+                          <path d="M 639.35 -296.76252507462686 L 639.35 -306.76252507462686 L 651.85 -306.76252507462686 L 651.85 -296.76252507462686 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 639.35 -296.76252507462686 L 651.85 -296.76252507462686 L 645.6 -306.76252507462686 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip36);">
+                            <path d="M 677.75 -296.76536537313433 L 677.75 -306.76536537313433 L 690.25 -306.76536537313433 L 690.25 -296.76536537313433 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 677.75 -296.76536537313433 L 690.25 -296.76536537313433 L 684.0 -306.76536537313433 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip37);">
+        <path d="M 338.4 -301.2547223880597 L 376.8 -301.2413220895522 L 415.2 -301.23162895522387 L 453.6 -301.2340259701493 L 492.0 -301.2247104477612 L 530.4 -301.22501253731343 L 568.8 -301.27027343283584 L 607.2 -301.23494208955225 L 645.6 -301.22821402985073 L 684.0 -301.22880507462685" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip38);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip39);">
+          <path d="M 330.4 -293.2547223880597 L 330.4 -309.2547223880597 L 346.4 -309.2547223880597 L 346.4 -293.2547223880597 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -301.2547223880597 M 342.4 -301.2547223880597 L 342.4 -301.255 M 342.4 -301.255 A 4 4 0 1 0 334.4 -301.255 A 4 4 0 1 0 342.4 -301.255 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip40);">
+            <path d="M 368.8 -293.2413220895522 L 368.8 -309.2413220895522 L 384.8 -309.2413220895522 L 384.8 -293.2413220895522 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -301.2413220895522 M 380.8 -301.2413220895522 L 380.8 -301.241 M 380.8 -301.241 A 4 4 0 1 0 372.8 -301.241 A 4 4 0 1 0 380.8 -301.241 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip41);">
+              <path d="M 407.2 -293.23162895522387 L 407.2 -309.23162895522387 L 423.2 -309.23162895522387 L 423.2 -293.23162895522387 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -301.23162895522387 M 419.2 -301.23162895522387 L 419.2 -301.232 M 419.2 -301.232 A 4 4 0 1 0 411.2 -301.232 A 4 4 0 1 0 419.2 -301.232 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip42);">
+                <path d="M 445.6 -293.2340259701493 L 445.6 -309.2340259701493 L 461.6 -309.2340259701493 L 461.6 -293.2340259701493 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -301.2340259701493 M 457.6 -301.2340259701493 L 457.6 -301.234 M 457.6 -301.234 A 4 4 0 1 0 449.6 -301.234 A 4 4 0 1 0 457.6 -301.234 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip43);">
+                  <path d="M 484.0 -293.2247104477612 L 484.0 -309.2247104477612 L 500.0 -309.2247104477612 L 500.0 -293.2247104477612 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -301.2247104477612 M 496.0 -301.2247104477612 L 496 -301.225 M 496 -301.225 A 4 4 0 1 0 488 -301.225 A 4 4 0 1 0 496 -301.225 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip44);">
+                    <path d="M 522.4 -293.22501253731343 L 522.4 -309.22501253731343 L 538.4 -309.22501253731343 L 538.4 -293.22501253731343 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -301.22501253731343 M 534.4 -301.22501253731343 L 534.4 -301.225 M 534.4 -301.225 A 4 4 0 1 0 526.4 -301.225 A 4 4 0 1 0 534.4 -301.225 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip45);">
+                      <path d="M 560.8 -293.27027343283584 L 560.8 -309.27027343283584 L 576.8 -309.27027343283584 L 576.8 -293.27027343283584 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -301.27027343283584 M 572.8 -301.27027343283584 L 572.8 -301.27 M 572.8 -301.27 A 4 4 0 1 0 564.8 -301.27 A 4 4 0 1 0 572.8 -301.27 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip46);">
+                        <path d="M 599.2 -293.23494208955225 L 599.2 -309.23494208955225 L 615.2 -309.23494208955225 L 615.2 -293.23494208955225 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -301.23494208955225 M 611.2 -301.23494208955225 L 611.2 -301.235 M 611.2 -301.235 A 4 4 0 1 0 603.2 -301.235 A 4 4 0 1 0 611.2 -301.235 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip47);">
+                          <path d="M 637.6 -293.22821402985073 L 637.6 -309.22821402985073 L 653.6 -309.22821402985073 L 653.6 -293.22821402985073 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -301.22821402985073 M 649.6 -301.22821402985073 L 649.6 -301.228 M 649.6 -301.228 A 4 4 0 1 0 641.6 -301.228 A 4 4 0 1 0 649.6 -301.228 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip48);">
+                            <path d="M 676.0 -293.22880507462685 L 676.0 -309.22880507462685 L 692.0 -309.22880507462685 L 692.0 -293.22880507462685 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -301.22880507462685 M 688.0 -301.22880507462685 L 688 -301.229 M 688 -301.229 A 4 4 0 1 0 680 -301.229 A 4 4 0 1 0 688 -301.229 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip49);">
+        <path d="M 338.4 -301.21542119402983 L 376.8 -301.1998832835821 L 415.2 -301.22636208955225 L 453.6 -301.2011934328358 L 492.0 -301.2018337313433 L 530.4 -301.1941107462687 L 568.8 -301.1914740298507 L 607.2 -301.1974205970149 L 645.6 -301.21693820895524 L 684.0 -301.18861074626864" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip50);">
+        <path d="M 331.25714285714287 -301.21542119402983 L 345.54285714285714 -301.21542119402983" style="stroke-width:1;"/>
+        <path d="M 338.4 -294.0725640511727 L 338.4 -308.358278336887" style="stroke-width:1;"/>
+        <path d="M 369.65714285714284 -301.1998832835821 L 383.9428571428571 -301.1998832835821" style="stroke-width:1;"/>
+        <path d="M 376.8 -294.05702614072493 L 376.8 -308.3427404264392" style="stroke-width:1;"/>
+        <path d="M 408.0571428571429 -301.22636208955225 L 422.34285714285716 -301.22636208955225" style="stroke-width:1;"/>
+        <path d="M 415.2 -294.0835049466951 L 415.2 -308.36921923240936" style="stroke-width:1;"/>
+        <path d="M 446.45714285714286 -301.2011934328358 L 460.74285714285713 -301.2011934328358" style="stroke-width:1;"/>
+        <path d="M 453.6 -294.0583362899787 L 453.6 -308.34405057569296" style="stroke-width:1;"/>
+        <path d="M 484.8571428571429 -301.2018337313433 L 499.1428571428571 -301.2018337313433" style="stroke-width:1;"/>
+        <path d="M 492.0 -294.05897658848613 L 492.0 -308.3446908742004" style="stroke-width:1;"/>
+        <path d="M 523.2571428571429 -301.1941107462687 L 537.5428571428572 -301.1941107462687" style="stroke-width:1;"/>
+        <path d="M 530.4 -294.0512536034115 L 530.4 -308.3369678891258" style="stroke-width:1;"/>
+        <path d="M 561.6571428571428 -301.1914740298507 L 575.9428571428572 -301.1914740298507" style="stroke-width:1;"/>
+        <path d="M 568.8 -294.0486168869936 L 568.8 -308.3343311727079" style="stroke-width:1;"/>
+        <path d="M 600.0571428571428 -301.1974205970149 L 614.3428571428572 -301.1974205970149" style="stroke-width:1;"/>
+        <path d="M 607.2 -294.0545634541578 L 607.2 -308.3402777398721" style="stroke-width:1;"/>
+        <path d="M 638.4571428571428 -301.21693820895524 L 652.7428571428572 -301.21693820895524" style="stroke-width:1;"/>
+        <path d="M 645.6 -294.0740810660981 L 645.6 -308.35979535181235" style="stroke-width:1;"/>
+        <path d="M 676.8571428571429 -301.18861074626864 L 691.1428571428571 -301.18861074626864" style="stroke-width:1;"/>
+        <path d="M 684.0 -294.0457536034115 L 684.0 -308.3314678891258" style="stroke-width:1;"/>
+      </g>
+      <g style="clip-path:url(#clip51);">
+        <path d="M 338.4 -300.8645343283582 L 376.8 -300.8930423880597 L 415.2 -300.9157549253731 L 453.6 -300.9447653731343 L 492.0 -300.95871074626865 L 530.4 -300.96553731343283 L 568.8 -300.97034447761195 L 607.2 -300.9836134328358 L 645.6 -300.97012447761193 L 684.0 -300.9824904477612" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip52);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip53);">
+          <path d="M 330.4 -292.8645343283582 L 330.4 -308.8645343283582 L 346.4 -308.8645343283582 L 346.4 -292.8645343283582 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -300.8645343283582 M 342.4 -300.8645343283582 L 342.4 -300.865 M 342.4 -300.865 A 4 4 0 1 0 334.4 -300.865 A 4 4 0 1 0 342.4 -300.865 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip54);">
+            <path d="M 368.8 -292.8930423880597 L 368.8 -308.8930423880597 L 384.8 -308.8930423880597 L 384.8 -292.8930423880597 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -300.8930423880597 M 380.8 -300.8930423880597 L 380.8 -300.893 M 380.8 -300.893 A 4 4 0 1 0 372.8 -300.893 A 4 4 0 1 0 380.8 -300.893 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip55);">
+              <path d="M 407.2 -292.9157549253731 L 407.2 -308.9157549253731 L 423.2 -308.9157549253731 L 423.2 -292.9157549253731 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -300.9157549253731 M 419.2 -300.9157549253731 L 419.2 -300.916 M 419.2 -300.916 A 4 4 0 1 0 411.2 -300.916 A 4 4 0 1 0 419.2 -300.916 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip56);">
+                <path d="M 445.6 -292.9447653731343 L 445.6 -308.9447653731343 L 461.6 -308.9447653731343 L 461.6 -292.9447653731343 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -300.9447653731343 M 457.6 -300.9447653731343 L 457.6 -300.945 M 457.6 -300.945 A 4 4 0 1 0 449.6 -300.945 A 4 4 0 1 0 457.6 -300.945 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip57);">
+                  <path d="M 484.0 -292.95871074626865 L 484.0 -308.95871074626865 L 500.0 -308.95871074626865 L 500.0 -292.95871074626865 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -300.95871074626865 M 496.0 -300.95871074626865 L 496 -300.959 M 496 -300.959 A 4 4 0 1 0 488 -300.959 A 4 4 0 1 0 496 -300.959 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip58);">
+                    <path d="M 522.4 -292.96553731343283 L 522.4 -308.96553731343283 L 538.4 -308.96553731343283 L 538.4 -292.96553731343283 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -300.96553731343283 M 534.4 -300.96553731343283 L 534.4 -300.966 M 534.4 -300.966 A 4 4 0 1 0 526.4 -300.966 A 4 4 0 1 0 534.4 -300.966 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip59);">
+                      <path d="M 560.8 -292.97034447761195 L 560.8 -308.97034447761195 L 576.8 -308.97034447761195 L 576.8 -292.97034447761195 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -300.97034447761195 M 572.8 -300.97034447761195 L 572.8 -300.97 M 572.8 -300.97 A 4 4 0 1 0 564.8 -300.97 A 4 4 0 1 0 572.8 -300.97 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip60);">
+                        <path d="M 599.2 -292.9836134328358 L 599.2 -308.9836134328358 L 615.2 -308.9836134328358 L 615.2 -292.9836134328358 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -300.9836134328358 M 611.2 -300.9836134328358 L 611.2 -300.984 M 611.2 -300.984 A 4 4 0 1 0 603.2 -300.984 A 4 4 0 1 0 611.2 -300.984 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip61);">
+                          <path d="M 637.6 -292.97012447761193 L 637.6 -308.97012447761193 L 653.6 -308.97012447761193 L 653.6 -292.97012447761193 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -300.97012447761193 M 649.6 -300.97012447761193 L 649.6 -300.97 M 649.6 -300.97 A 4 4 0 1 0 641.6 -300.97 A 4 4 0 1 0 649.6 -300.97 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip62);">
+                            <path d="M 676.0 -292.98249044776117 L 676.0 -308.98249044776117 L 692.0 -308.98249044776117 L 692.0 -292.98249044776117 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -300.9824904477612 M 688.0 -300.9824904477612 L 688 -300.982 M 688 -300.982 A 4 4 0 1 0 680 -300.982 A 4 4 0 1 0 688 -300.982 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip63);">
+        <path d="M 338.4 -300.6776689552239 L 376.8 -300.63155104477613 L 415.2 -300.62003223880595 L 453.6 -300.60298388059704 L 492.0 -300.5816208955224 L 530.4 -300.58382746268654 L 568.8 -300.5798543283582 L 607.2 -300.57130716417913 L 645.6 -300.5609408955224 L 684.0 -300.55760805970147" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip64);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip65);">
+          <path d="M 334.4 -296.6776689552239 L 334.4 -304.6776689552239 L 342.4 -304.6776689552239 L 342.4 -296.6776689552239 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 334.4 -296.6776689552239 L 334.4 -304.6776689552239 L 342.4 -304.6776689552239 L 342.4 -296.6776689552239 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip66);">
+            <path d="M 372.8 -296.63155104477613 L 372.8 -304.63155104477613 L 380.8 -304.63155104477613 L 380.8 -296.63155104477613 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 372.8 -296.63155104477613 L 372.8 -304.63155104477613 L 380.8 -304.63155104477613 L 380.8 -296.63155104477613 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip67);">
+              <path d="M 411.2 -296.62003223880595 L 411.2 -304.62003223880595 L 419.2 -304.62003223880595 L 419.2 -296.62003223880595 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 411.2 -296.62003223880595 L 411.2 -304.62003223880595 L 419.2 -304.62003223880595 L 419.2 -296.62003223880595 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip68);">
+                <path d="M 449.6 -296.60298388059704 L 449.6 -304.60298388059704 L 457.6 -304.60298388059704 L 457.6 -296.60298388059704 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 449.6 -296.60298388059704 L 449.6 -304.60298388059704 L 457.6 -304.60298388059704 L 457.6 -296.60298388059704 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip69);">
+                  <path d="M 488.0 -296.5816208955224 L 488.0 -304.5816208955224 L 496.0 -304.5816208955224 L 496.0 -296.5816208955224 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 488.0 -296.5816208955224 L 488.0 -304.5816208955224 L 496.0 -304.5816208955224 L 496.0 -296.5816208955224 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip70);">
+                    <path d="M 526.4 -296.58382746268654 L 526.4 -304.58382746268654 L 534.4 -304.58382746268654 L 534.4 -296.58382746268654 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 526.4 -296.58382746268654 L 526.4 -304.58382746268654 L 534.4 -304.58382746268654 L 534.4 -296.58382746268654 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip71);">
+                      <path d="M 564.8 -296.57985432835824 L 564.8 -304.57985432835824 L 572.8 -304.57985432835824 L 572.8 -296.57985432835824 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 564.8 -296.57985432835824 L 564.8 -304.57985432835824 L 572.8 -304.57985432835824 L 572.8 -296.57985432835824 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip72);">
+                        <path d="M 603.2 -296.57130716417913 L 603.2 -304.57130716417913 L 611.2 -304.57130716417913 L 611.2 -296.57130716417913 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 603.2 -296.57130716417913 L 603.2 -304.57130716417913 L 611.2 -304.57130716417913 L 611.2 -296.57130716417913 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip73);">
+                          <path d="M 641.6 -296.5609408955224 L 641.6 -304.5609408955224 L 649.6 -304.5609408955224 L 649.6 -296.5609408955224 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 641.6 -296.5609408955224 L 641.6 -304.5609408955224 L 649.6 -304.5609408955224 L 649.6 -296.5609408955224 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip74);">
+                            <path d="M 680.0 -296.55760805970147 L 680.0 -304.55760805970147 L 688.0 -304.55760805970147 L 688.0 -296.55760805970147 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 680.0 -296.55760805970147 L 680.0 -304.55760805970147 L 688.0 -304.55760805970147 L 688.0 -296.55760805970147 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip75);">
+      <path d="M 290 -54 L 290 -182 L 324 -182 L 324 -54 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -172.66666666666669 L 314 -172.66666666666669" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip76);">
+      <path d="M 300.75 -167.66666666666669 L 300.75 -177.66666666666669 L 313.25 -177.66666666666669 L 313.25 -167.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -167.66666666666669 L 300.75 -177.66666666666669 L 313.25 -177.66666666666669 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-168.0">
+        binary_heap
+      </text>
+      <path d="M 300 -154.66666666666666 L 314 -154.66666666666666" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip77);">
+        <path d="M 299.85714285714283 -147.52380952380952 L 299.85714285714283 -161.8095238095238 L 314.14285714285717 -161.8095238095238 L 314.14285714285717 -147.52380952380952 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 299.85714285714283 -154.66666666666666 L 307.0 -161.8095238095238 L 314.14285714285717 -154.66666666666666 L 307.0 -147.52380952380952 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-150.0">
+          rc_binomial_heap
+        </text>
+        <path d="M 300 -136.66666666666666 L 314 -136.66666666666666" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip78);">
+          <path d="M 300.75 -131.66666666666666 L 300.75 -141.66666666666666 L 313.25 -141.66666666666666 L 313.25 -131.66666666666666 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 300.75 -131.66666666666666 L 313.25 -131.66666666666666 L 307.0 -141.66666666666666 Z"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-132.0">
+            binomial_heap
+          </text>
+          <path d="M 300 -118.66666666666666 L 314 -118.66666666666666" style="stroke-width:2;"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip79);">
+            <path d="M 299.0 -110.66666666666666 L 299.0 -126.66666666666666 L 315.0 -126.66666666666666 L 315.0 -110.66666666666666 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 307.0 -118.66666666666666 M 311.0 -118.66666666666666 L 311 -118.667 M 311 -118.667 A 4 4 0 1 0 303 -118.667 A 4 4 0 1 0 311 -118.667 Z"/>
+            <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-114.0">
+              thin_heap
+            </text>
+            <path d="M 300 -100.66666666666666 L 314 -100.66666666666666" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+            <path d="M 299.85714285714283 -100.66666666666666 L 314.14285714285717 -100.66666666666666" style="stroke-width:1;"/>
+            <path d="M 307.0 -93.52380952380952 L 307.0 -107.8095238095238" style="stroke-width:1;"/>
+            <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-96.0">
+              pairing_heap
+            </text>
+            <path d="M 300 -82.66666666666666 L 314 -82.66666666666666" style="stroke-width:2;"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip80);">
+              <path d="M 299.0 -74.66666666666666 L 299.0 -90.66666666666666 L 315.0 -90.66666666666666 L 315.0 -74.66666666666666 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 307.0 -82.66666666666666 M 311.0 -82.66666666666666 L 311 -82.6667 M 311 -82.6667 A 4 4 0 1 0 303 -82.6667 A 4 4 0 1 0 311 -82.6667 Z"/>
+              <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-78.0">
+                n_pq_deque
+              </text>
+              <path d="M 300 -64.66666666666666 L 314 -64.66666666666666" style="stroke-width:2;"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip81);">
+                <path d="M 303.0 -60.66666666666666 L 303.0 -68.66666666666666 L 311.0 -68.66666666666666 L 311.0 -60.66666666666666 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 303.0 -60.66666666666666 L 303.0 -68.66666666666666 L 311.0 -68.66666666666666 L 311.0 -60.66666666666666 Z"/>
+                <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-60.0">
+                  n_pq_vector
+                </text>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_tag_hierarchy.pdf b/libstdc++-v3/doc/xml/images/pbds_priority_queue_tag_hierarchy.pdf
new file mode 100644 (file)
index 0000000..c7ee458
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_tag_hierarchy.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_tag_hierarchy.png b/libstdc++-v3/doc/xml/images/pbds_priority_queue_tag_hierarchy.png
new file mode 100644 (file)
index 0000000..3a849d2
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_tag_hierarchy.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_tag_hierarchy.svg b/libstdc++-v3/doc/xml/images/pbds_priority_queue_tag_hierarchy.svg
new file mode 100644 (file)
index 0000000..678bf93
--- /dev/null
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.26.3 (20100126.1600)
+ -->
+<!-- Title: G Pages: 1 -->
+<svg width="568pt" height="180pt" viewBox="0.00 0.00 568.00 180.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph1" class="graph" transform="scale(1) rotate(0) translate(4, 176)">
+<title>G</title>
+<polygon fill="white" stroke="white" points="-4,5 -4,-176 565,-176 565,5 -4,5"/>
+<!-- Node1 -->
+<g id="node1" class="node"><title>Node1</title>
+<polygon fill="#bfbfbf" stroke="black" points="180,-76 180,-96 344,-96 344,-76 180,-76"/>
+<text text-anchor="middle" x="262" y="-83.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::priority_queue_tag</text>
+</g>
+<!-- Node3 -->
+<g id="node5" class="node"><title>Node3</title>
+<a xlink:href="a00187.html" target="_top" xlink:title="Binary-heap (array-based).">
+<polygon fill="white" stroke="black" points="392.5,-152 392.5,-172 547.5,-172 547.5,-152 392.5,-152"/>
+<text text-anchor="middle" x="470" y="-159.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::binary_heap_tag</text>
+</a>
+</g>
+<!-- Node1&#45;&gt;Node3 -->
+<g id="edge4" class="edge"><title>Node1-&gt;Node3</title>
+<path fill="none" stroke="midnightblue" d="M288.374,-101.033C311.786,-113.814 347.263,-131.822 380,-143 390.277,-146.509 401.444,-149.494 412.304,-151.987"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="289.867,-97.859 279.422,-96.0793 286.477,-103.984 289.867,-97.859"/>
+</g>
+<!-- Node4 -->
+<g id="node7" class="node"><title>Node4</title>
+<a xlink:href="a00188.html" target="_top" xlink:title="Binomial-heap.">
+<polygon fill="white" stroke="black" points="387.5,-114 387.5,-134 552.5,-134 552.5,-114 387.5,-114"/>
+<text text-anchor="middle" x="470" y="-121.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::binomial_heap_tag</text>
+</a>
+</g>
+<!-- Node1&#45;&gt;Node4 -->
+<g id="edge6" class="edge"><title>Node1-&gt;Node4</title>
+<path fill="none" stroke="midnightblue" d="M327.114,-97.8959C355.381,-103.06 388.126,-109.042 415.132,-113.976"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="327.388,-94.388 316.922,-96.0338 326.13,-101.274 327.388,-94.388"/>
+</g>
+<!-- Node5 -->
+<g id="node9" class="node"><title>Node5</title>
+<a xlink:href="a00349.html" target="_top" xlink:title="Pairing-heap.">
+<polygon fill="white" stroke="black" points="391,-76 391,-96 549,-96 549,-76 391,-76"/>
+<text text-anchor="middle" x="470" y="-83.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::pairing_heap_tag</text>
+</a>
+</g>
+<!-- Node1&#45;&gt;Node5 -->
+<g id="edge8" class="edge"><title>Node1-&gt;Node5</title>
+<path fill="none" stroke="midnightblue" d="M354.347,-86C366.497,-86 378.861,-86 390.766,-86"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="354.207,-82.5001 344.207,-86 354.207,-89.5001 354.207,-82.5001"/>
+</g>
+<!-- Node6 -->
+<g id="node11" class="node"><title>Node6</title>
+<a xlink:href="a00357.html" target="_top" xlink:title="Redundant-counter binomial-heap.">
+<polygon fill="white" stroke="black" points="380.5,-38 380.5,-58 559.5,-58 559.5,-38 380.5,-38"/>
+<text text-anchor="middle" x="470" y="-45.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::rc_binomial_heap_tag</text>
+</a>
+</g>
+<!-- Node1&#45;&gt;Node6 -->
+<g id="edge10" class="edge"><title>Node1-&gt;Node6</title>
+<path fill="none" stroke="midnightblue" d="M327.114,-74.1041C355.381,-68.9399 388.126,-62.9578 415.132,-58.024"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="326.13,-70.726 316.922,-75.9662 327.388,-77.612 326.13,-70.726"/>
+</g>
+<!-- Node7 -->
+<g id="node13" class="node"><title>Node7</title>
+<a xlink:href="a00373.html" target="_top" xlink:title="Thin heap.">
+<polygon fill="white" stroke="black" points="398,-0 398,-20 542,-20 542,-0 398,-0"/>
+<text text-anchor="middle" x="470" y="-7.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::thin_heap_tag</text>
+</a>
+</g>
+<!-- Node1&#45;&gt;Node7 -->
+<g id="edge12" class="edge"><title>Node1-&gt;Node7</title>
+<path fill="none" stroke="midnightblue" d="M288.374,-70.967C311.786,-58.1857 347.263,-40.1778 380,-29 390.277,-25.4912 401.444,-22.5058 412.304,-20.0134"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="286.477,-68.0163 279.422,-75.9207 289.867,-74.141 286.477,-68.0163"/>
+</g>
+<!-- Node2 -->
+<g id="node2" class="node"><title>Node2</title>
+<a xlink:href="a00193.html" target="_top" xlink:title="Base data structure tag.">
+<polygon fill="white" stroke="black" points="0.5,-76 0.5,-96 143.5,-96 143.5,-76 0.5,-76"/>
+<text text-anchor="middle" x="72" y="-83.9" font-family="FreeSans" font-size="9.00">__gnu_pbds::container_tag</text>
+</a>
+</g>
+<!-- Node2&#45;&gt;Node1 -->
+<g id="edge2" class="edge"><title>Node2-&gt;Node1</title>
+<path fill="none" stroke="midnightblue" d="M153.696,-86C162.404,-86 171.265,-86 179.978,-86"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="153.56,-82.5001 143.56,-86 153.56,-89.5001 153.56,-82.5001"/>
+</g>
+</g>
+</svg>
\ No newline at end of file
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_join_timing_test_local.pdf b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_join_timing_test_local.pdf
new file mode 100644 (file)
index 0000000..e5ac57b
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_join_timing_test_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_join_timing_test_local.png b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_join_timing_test_local.png
new file mode 100644 (file)
index 0000000..7cdeb8c
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_join_timing_test_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_join_timing_test_local.svg b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_join_timing_test_local.svg
new file mode 100644 (file)
index 0000000..9564567
--- /dev/null
@@ -0,0 +1,825 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 496.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 338.4 -382.6171827656345 M 342.4 -382.6171827656345 L 342.4 -382.617 M 342.4 -382.617 A 4 4 0 1 0 334.4 -382.617 A 4 4 0 1 0 342.4 -382.617 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 376.8 -395.255629488741 M 380.8 -395.255629488741 L 380.8 -395.256 M 380.8 -395.256 A 4 4 0 1 0 372.8 -395.256 A 4 4 0 1 0 380.8 -395.256 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 415.2 -402.75559048881905 M 419.2 -402.75559048881905 L 419.2 -402.756 M 419.2 -402.756 A 4 4 0 1 0 411.2 -402.756 A 4 4 0 1 0 419.2 -402.756 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 453.6 -405.1805576388847 M 457.6 -405.1805576388847 L 457.6 -405.181 M 457.6 -405.181 A 4 4 0 1 0 449.6 -405.181 A 4 4 0 1 0 457.6 -405.181 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 492.0 -408.3180593638813 M 496.0 -408.3180593638813 L 496 -408.318 M 496 -408.318 A 4 4 0 1 0 488 -408.318 A 4 4 0 1 0 496 -408.318 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 530.4 -412.5303029393941 M 534.4 -412.5303029393941 L 534.4 -412.53 M 534.4 -412.53 A 4 4 0 1 0 526.4 -412.53 A 4 4 0 1 0 534.4 -412.53 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 568.8 -417.0708298583403 M 572.8 -417.0708298583403 L 572.8 -417.071 M 572.8 -417.071 A 4 4 0 1 0 564.8 -417.071 A 4 4 0 1 0 572.8 -417.071 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 607.2 -416.9470141059718 M 611.2 -416.9470141059718 L 611.2 -416.947 M 611.2 -416.947 A 4 4 0 1 0 603.2 -416.947 A 4 4 0 1 0 611.2 -416.947 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 645.6 -420.87493025013947 M 649.6 -420.87493025013947 L 649.6 -420.875 M 649.6 -420.875 A 4 4 0 1 0 641.6 -420.875 A 4 4 0 1 0 649.6 -420.875 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 684.0 -422.1055637888724 M 688.0 -422.1055637888724 L 688 -422.106 M 688 -422.106 A 4 4 0 1 0 680 -422.106 A 4 4 0 1 0 688 -422.106 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 334.4 -362.49671500656996 L 334.4 -370.49671500656996 L 342.4 -370.49671500656996 L 342.4 -362.49671500656996 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 372.8 -368.4158471683057 L 372.8 -376.4158471683057 L 380.8 -376.4158471683057 L 380.8 -368.4158471683057 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 411.2 -372.05837988324026 L 411.2 -380.05837988324026 L 419.2 -380.05837988324026 L 419.2 -372.05837988324026 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 449.6 -377.13588172823654 L 449.6 -385.13588172823654 L 457.6 -385.13588172823654 L 457.6 -377.13588172823654 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 488.0 -376.4262511474977 L 488.0 -384.4262511474977 L 496.0 -384.4262511474977 L 496.0 -376.4262511474977 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 526.4 -380.32195935608127 L 526.4 -388.32195935608127 L 534.4 -388.32195935608127 L 534.4 -380.32195935608127 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 564.8 -382.01221597556804 L 564.8 -390.01221597556804 L 572.8 -390.01221597556804 L 572.8 -382.01221597556804 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 603.2 -385.05454589090823 L 603.2 -393.05454589090823 L 611.2 -393.05454589090823 L 611.2 -385.05454589090823 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 641.6 -385.747544504911 L 641.6 -393.747544504911 L 649.6 -393.747544504911 L 649.6 -385.747544504911 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 680.0 -388.61589876820244 L 680.0 -396.61589876820244 L 688.0 -396.61589876820244 L 688.0 -388.61589876820244 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 338.4 -300.36429767140464 L 332.15 -310.36429767140464 L 344.65 -310.36429767140464 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 376.8 -309.1025877948244 L 370.55 -319.1025877948244 L 383.05 -319.1025877948244 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 415.2 -295.022 L 408.95 -305.022 L 421.45 -305.022 Z"/>
+    </clipPath>
+    <clipPath id="clip30">
+      <path d="M 453.6 -295.0164999670001 L 447.35 -305.0164999670001 L 459.85 -305.0164999670001 Z"/>
+    </clipPath>
+    <clipPath id="clip31">
+      <path d="M 492.0 -295.0131999736001 L 485.75 -305.0131999736001 L 498.25 -305.0131999736001 Z"/>
+    </clipPath>
+    <clipPath id="clip32">
+      <path d="M 530.4 -295.01099997360006 L 524.15 -305.01099997360006 L 536.65 -305.01099997360006 Z"/>
+    </clipPath>
+    <clipPath id="clip33">
+      <path d="M 568.8 -515.0 L 562.55 -525.0 L 575.05 -525.0 Z"/>
+    </clipPath>
+    <clipPath id="clip34">
+      <path d="M 607.2 -404.999736000528 L 600.95 -414.999736000528 L 613.45 -414.999736000528 Z"/>
+    </clipPath>
+    <clipPath id="clip35">
+      <path d="M 645.6 -368.33324533350935 L 639.35 -378.33324533350935 L 651.85 -378.33324533350935 Z"/>
+    </clipPath>
+    <clipPath id="clip36">
+      <path d="M 684.0 -295.00659998680004 L 677.75 -305.00659998680004 L 690.25 -305.00659998680004 Z"/>
+    </clipPath>
+    <clipPath id="clip37">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip38">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip39">
+      <path d="M 338.4 -302.65646828706343 M 342.4 -302.65646828706343 L 342.4 -302.656 M 342.4 -302.656 A 4 4 0 1 0 334.4 -302.656 A 4 4 0 1 0 342.4 -302.656 Z"/>
+    </clipPath>
+    <clipPath id="clip40">
+      <path d="M 376.8 -302.8030671938656 M 380.8 -302.8030671938656 L 380.8 -302.803 M 380.8 -302.803 A 4 4 0 1 0 372.8 -302.803 A 4 4 0 1 0 380.8 -302.803 Z"/>
+    </clipPath>
+    <clipPath id="clip41">
+      <path d="M 415.2 -302.6080111839776 M 419.2 -302.6080111839776 L 419.2 -302.608 M 419.2 -302.608 A 4 4 0 1 0 411.2 -302.608 A 4 4 0 1 0 419.2 -302.608 Z"/>
+    </clipPath>
+    <clipPath id="clip42">
+      <path d="M 453.6 -303.04239591520815 M 457.6 -303.04239591520815 L 457.6 -303.042 M 457.6 -303.042 A 4 4 0 1 0 449.6 -303.042 A 4 4 0 1 0 457.6 -303.042 Z"/>
+    </clipPath>
+    <clipPath id="clip43">
+      <path d="M 492.0 -302.87882184235633 M 496.0 -302.87882184235633 L 496 -302.879 M 496 -302.879 A 4 4 0 1 0 488 -302.879 A 4 4 0 1 0 496 -302.879 Z"/>
+    </clipPath>
+    <clipPath id="clip44">
+      <path d="M 530.4 -303.0942058115884 M 534.4 -303.0942058115884 L 534.4 -303.094 M 534.4 -303.094 A 4 4 0 1 0 526.4 -303.094 A 4 4 0 1 0 534.4 -303.094 Z"/>
+    </clipPath>
+    <clipPath id="clip45">
+      <path d="M 568.8 -303.08834502330996 M 572.8 -303.08834502330996 L 572.8 -303.088 M 572.8 -303.088 A 4 4 0 1 0 564.8 -303.088 A 4 4 0 1 0 572.8 -303.088 Z"/>
+    </clipPath>
+    <clipPath id="clip46">
+      <path d="M 607.2 -303.4056987886024 M 611.2 -303.4056987886024 L 611.2 -303.406 M 611.2 -303.406 A 4 4 0 1 0 603.2 -303.406 A 4 4 0 1 0 611.2 -303.406 Z"/>
+    </clipPath>
+    <clipPath id="clip47">
+      <path d="M 645.6 -303.3236741526517 M 649.6 -303.3236741526517 L 649.6 -303.324 M 649.6 -303.324 A 4 4 0 1 0 641.6 -303.324 A 4 4 0 1 0 649.6 -303.324 Z"/>
+    </clipPath>
+    <clipPath id="clip48">
+      <path d="M 684.0 -303.5650884698231 M 688.0 -303.5650884698231 L 688 -303.565 M 688 -303.565 A 4 4 0 1 0 680 -303.565 A 4 4 0 1 0 688 -303.565 Z"/>
+    </clipPath>
+    <clipPath id="clip49">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip50">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip51">
+      <path d="M 332.15 -295.57604288791424 L 344.65 -295.57604288791424 L 338.4 -305.57604288791424 Z"/>
+    </clipPath>
+    <clipPath id="clip52">
+      <path d="M 370.55 -295.64005351989294 L 383.05 -295.64005351989294 L 376.8 -305.64005351989294 Z"/>
+    </clipPath>
+    <clipPath id="clip53">
+      <path d="M 408.95 -295.022 L 421.45 -295.022 L 415.2 -305.022 Z"/>
+    </clipPath>
+    <clipPath id="clip54">
+      <path d="M 447.35 -295.1926074147852 L 459.85 -295.1926074147852 L 453.6 -305.1926074147852 Z"/>
+    </clipPath>
+    <clipPath id="clip55">
+      <path d="M 485.75 -295.0131999736001 L 498.25 -295.0131999736001 L 492.0 -305.0131999736001 Z"/>
+    </clipPath>
+    <clipPath id="clip56">
+      <path d="M 524.15 -295.01099997360006 L 536.65 -295.01099997360006 L 530.4 -305.01099997360006 Z"/>
+    </clipPath>
+    <clipPath id="clip57">
+      <path d="M 562.55 -295.00942855634287 L 575.05 -295.00942855634287 L 568.8 -305.00942855634287 Z"/>
+    </clipPath>
+    <clipPath id="clip58">
+      <path d="M 600.95 -295.00824998350004 L 613.45 -295.00824998350004 L 607.2 -305.00824998350004 Z"/>
+    </clipPath>
+    <clipPath id="clip59">
+      <path d="M 639.35 -295.00733332453336 L 651.85 -295.00733332453336 L 645.6 -305.00733332453336 Z"/>
+    </clipPath>
+    <clipPath id="clip60">
+      <path d="M 677.75 -295.00659998680004 L 690.25 -295.00659998680004 L 684.0 -305.00659998680004 Z"/>
+    </clipPath>
+    <clipPath id="clip61">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip62">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip63">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip64">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip65">
+      <path d="M 331.25714285714287 -300.2474691450617 L 338.4 -307.39032628791887 L 345.54285714285714 -300.2474691450617 L 338.4 -293.1046120022046 Z"/>
+    </clipPath>
+    <clipPath id="clip66">
+      <path d="M 369.65714285714284 -300.03299993400015 L 376.8 -307.17585707685726 L 383.9428571428571 -300.03299993400015 L 376.8 -292.890142791143 Z"/>
+    </clipPath>
+    <clipPath id="clip67">
+      <path d="M 408.0571428571429 -300.022 L 415.2 -307.16485714285716 L 422.34285714285716 -300.022 L 415.2 -292.8791428571429 Z"/>
+    </clipPath>
+    <clipPath id="clip68">
+      <path d="M 446.45714285714286 -300.0164999670001 L 453.6 -307.1593571098572 L 460.74285714285713 -300.0164999670001 L 453.6 -292.8736428241429 Z"/>
+    </clipPath>
+    <clipPath id="clip69">
+      <path d="M 484.8571428571429 -300.0131999736001 L 492.0 -307.1560571164572 L 499.1428571428571 -300.0131999736001 L 492.0 -292.8703428307429 Z"/>
+    </clipPath>
+    <clipPath id="clip70">
+      <path d="M 523.2571428571429 -300.01099997360006 L 530.4 -307.1538571164572 L 537.5428571428572 -300.01099997360006 L 530.4 -292.8681428307429 Z"/>
+    </clipPath>
+    <clipPath id="clip71">
+      <path d="M 561.6571428571428 -300.00942855634287 L 568.8 -307.15228569920004 L 575.9428571428572 -300.00942855634287 L 568.8 -292.86657141348576 Z"/>
+    </clipPath>
+    <clipPath id="clip72">
+      <path d="M 600.0571428571428 -300.00824998350004 L 607.2 -307.1511071263572 L 614.3428571428572 -300.00824998350004 L 607.2 -292.86539284064287 Z"/>
+    </clipPath>
+    <clipPath id="clip73">
+      <path d="M 638.4571428571428 -300.00733332453336 L 645.6 -307.1501904673905 L 652.7428571428572 -300.00733332453336 L 645.6 -292.8644761816762 Z"/>
+    </clipPath>
+    <clipPath id="clip74">
+      <path d="M 676.8571428571429 -300.00659998680004 L 684.0 -307.14945712965715 L 691.1428571428571 -300.00659998680004 L 684.0 -292.8637428439429 Z"/>
+    </clipPath>
+    <clipPath id="clip75">
+      <path d="M 290 -54 L 290 -182 L 324 -182 L 324 -54 Z"/>
+    </clipPath>
+    <clipPath id="clip76">
+      <path d="M 307.0 -172.66666666666669 M 311.0 -172.66666666666669 L 311 -172.667 M 311 -172.667 A 4 4 0 1 0 303 -172.667 A 4 4 0 1 0 311 -172.667 Z"/>
+    </clipPath>
+    <clipPath id="clip77">
+      <path d="M 303.0 -150.66666666666666 L 303.0 -158.66666666666666 L 311.0 -158.66666666666666 L 311.0 -150.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip78">
+      <path d="M 307.0 -131.66666666666666 L 300.75 -141.66666666666666 L 313.25 -141.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip79">
+      <path d="M 307.0 -118.66666666666666 M 311.0 -118.66666666666666 L 311 -118.667 M 311 -118.667 A 4 4 0 1 0 303 -118.667 A 4 4 0 1 0 311 -118.667 Z"/>
+    </clipPath>
+    <clipPath id="clip80">
+      <path d="M 300.75 -95.66666666666666 L 313.25 -95.66666666666666 L 307.0 -105.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip81">
+      <path d="M 299.85714285714283 -64.66666666666666 L 307.0 -71.8095238095238 L 314.14285714285717 -64.66666666666666 L 307.0 -57.52380952380952 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      3.33e-07
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      6.67e-07
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.50048673219425">
+      1.00e-06
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      1.33e-06
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      1.67e-06
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -382.6171827656345 L 376.8 -395.255629488741 L 415.2 -402.75559048881905 L 453.6 -405.1805576388847 L 492.0 -408.3180593638813 L 530.4 -412.5303029393941 L 568.8 -417.0708298583403 L 607.2 -416.9470141059718 L 645.6 -420.87493025013947 L 684.0 -422.1055637888724" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 330.4 -374.6171827656345 L 330.4 -390.6171827656345 L 346.4 -390.6171827656345 L 346.4 -374.6171827656345 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -382.6171827656345 M 342.4 -382.6171827656345 L 342.4 -382.617 M 342.4 -382.617 A 4 4 0 1 0 334.4 -382.617 A 4 4 0 1 0 342.4 -382.617 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 368.8 -387.255629488741 L 368.8 -403.255629488741 L 384.8 -403.255629488741 L 384.8 -387.255629488741 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -395.255629488741 M 380.8 -395.255629488741 L 380.8 -395.256 M 380.8 -395.256 A 4 4 0 1 0 372.8 -395.256 A 4 4 0 1 0 380.8 -395.256 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 407.2 -394.75559048881905 L 407.2 -410.75559048881905 L 423.2 -410.75559048881905 L 423.2 -394.75559048881905 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -402.75559048881905 M 419.2 -402.75559048881905 L 419.2 -402.756 M 419.2 -402.756 A 4 4 0 1 0 411.2 -402.756 A 4 4 0 1 0 419.2 -402.756 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 445.6 -397.1805576388847 L 445.6 -413.1805576388847 L 461.6 -413.1805576388847 L 461.6 -397.1805576388847 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -405.1805576388847 M 457.6 -405.1805576388847 L 457.6 -405.181 M 457.6 -405.181 A 4 4 0 1 0 449.6 -405.181 A 4 4 0 1 0 457.6 -405.181 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 484.0 -400.3180593638813 L 484.0 -416.3180593638813 L 500.0 -416.3180593638813 L 500.0 -400.3180593638813 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -408.3180593638813 M 496.0 -408.3180593638813 L 496 -408.318 M 496 -408.318 A 4 4 0 1 0 488 -408.318 A 4 4 0 1 0 496 -408.318 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 522.4 -404.5303029393941 L 522.4 -420.5303029393941 L 538.4 -420.5303029393941 L 538.4 -404.5303029393941 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -412.5303029393941 M 534.4 -412.5303029393941 L 534.4 -412.53 M 534.4 -412.53 A 4 4 0 1 0 526.4 -412.53 A 4 4 0 1 0 534.4 -412.53 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 560.8 -409.0708298583403 L 560.8 -425.0708298583403 L 576.8 -425.0708298583403 L 576.8 -409.0708298583403 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -417.0708298583403 M 572.8 -417.0708298583403 L 572.8 -417.071 M 572.8 -417.071 A 4 4 0 1 0 564.8 -417.071 A 4 4 0 1 0 572.8 -417.071 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 599.2 -408.9470141059718 L 599.2 -424.9470141059718 L 615.2 -424.9470141059718 L 615.2 -408.9470141059718 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -416.9470141059718 M 611.2 -416.9470141059718 L 611.2 -416.947 M 611.2 -416.947 A 4 4 0 1 0 603.2 -416.947 A 4 4 0 1 0 611.2 -416.947 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 637.6 -412.87493025013947 L 637.6 -428.87493025013947 L 653.6 -428.87493025013947 L 653.6 -412.87493025013947 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -420.87493025013947 M 649.6 -420.87493025013947 L 649.6 -420.875 M 649.6 -420.875 A 4 4 0 1 0 641.6 -420.875 A 4 4 0 1 0 649.6 -420.875 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 676.0 -414.1055637888724 L 676.0 -430.1055637888724 L 692.0 -430.1055637888724 L 692.0 -414.1055637888724 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -422.1055637888724 M 688.0 -422.1055637888724 L 688 -422.106 M 688 -422.106 A 4 4 0 1 0 680 -422.106 A 4 4 0 1 0 688 -422.106 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 338.4 -366.49671500656996 L 376.8 -372.4158471683057 L 415.2 -376.05837988324026 L 453.6 -381.13588172823654 L 492.0 -380.4262511474977 L 530.4 -384.32195935608127 L 568.8 -386.01221597556804 L 607.2 -389.05454589090823 L 645.6 -389.747544504911 L 684.0 -392.61589876820244" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 334.4 -362.49671500656996 L 334.4 -370.49671500656996 L 342.4 -370.49671500656996 L 342.4 -362.49671500656996 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 334.4 -362.49671500656996 L 334.4 -370.49671500656996 L 342.4 -370.49671500656996 L 342.4 -362.49671500656996 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 372.8 -368.4158471683057 L 372.8 -376.4158471683057 L 380.8 -376.4158471683057 L 380.8 -368.4158471683057 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 372.8 -368.4158471683057 L 372.8 -376.4158471683057 L 380.8 -376.4158471683057 L 380.8 -368.4158471683057 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 411.2 -372.05837988324026 L 411.2 -380.05837988324026 L 419.2 -380.05837988324026 L 419.2 -372.05837988324026 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 411.2 -372.05837988324026 L 411.2 -380.05837988324026 L 419.2 -380.05837988324026 L 419.2 -372.05837988324026 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 449.6 -377.13588172823654 L 449.6 -385.13588172823654 L 457.6 -385.13588172823654 L 457.6 -377.13588172823654 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 449.6 -377.13588172823654 L 449.6 -385.13588172823654 L 457.6 -385.13588172823654 L 457.6 -377.13588172823654 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 488.0 -376.4262511474977 L 488.0 -384.4262511474977 L 496.0 -384.4262511474977 L 496.0 -376.4262511474977 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 488.0 -376.4262511474977 L 488.0 -384.4262511474977 L 496.0 -384.4262511474977 L 496.0 -376.4262511474977 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 526.4 -380.32195935608127 L 526.4 -388.32195935608127 L 534.4 -388.32195935608127 L 534.4 -380.32195935608127 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 526.4 -380.32195935608127 L 526.4 -388.32195935608127 L 534.4 -388.32195935608127 L 534.4 -380.32195935608127 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 564.8 -382.01221597556804 L 564.8 -390.01221597556804 L 572.8 -390.01221597556804 L 572.8 -382.01221597556804 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 564.8 -382.01221597556804 L 564.8 -390.01221597556804 L 572.8 -390.01221597556804 L 572.8 -382.01221597556804 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 603.2 -385.05454589090823 L 603.2 -393.05454589090823 L 611.2 -393.05454589090823 L 611.2 -385.05454589090823 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 603.2 -385.05454589090823 L 603.2 -393.05454589090823 L 611.2 -393.05454589090823 L 611.2 -385.05454589090823 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 641.6 -385.747544504911 L 641.6 -393.747544504911 L 649.6 -393.747544504911 L 649.6 -385.747544504911 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 641.6 -385.747544504911 L 641.6 -393.747544504911 L 649.6 -393.747544504911 L 649.6 -385.747544504911 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 680.0 -388.61589876820244 L 680.0 -396.61589876820244 L 688.0 -396.61589876820244 L 688.0 -388.61589876820244 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 680.0 -388.61589876820244 L 680.0 -396.61589876820244 L 688.0 -396.61589876820244 L 688.0 -388.61589876820244 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 338.4 -305.36429767140464 L 376.8 -314.1025877948244 L 415.2 -300.022 L 453.6 -300.0164999670001 L 492.0 -300.0131999736001 L 530.4 -300.01099997360006 L 568.8 -520.0 L 607.2 -409.999736000528 L 645.6 -373.33324533350935 L 684.0 -300.00659998680004" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip27);">
+          <path d="M 332.15 -300.36429767140464 L 332.15 -310.36429767140464 L 344.65 -310.36429767140464 L 344.65 -300.36429767140464 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -300.36429767140464 L 332.15 -310.36429767140464 L 344.65 -310.36429767140464 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip28);">
+            <path d="M 370.55 -309.1025877948244 L 370.55 -319.1025877948244 L 383.05 -319.1025877948244 L 383.05 -309.1025877948244 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -309.1025877948244 L 370.55 -319.1025877948244 L 383.05 -319.1025877948244 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+              <path d="M 408.95 -295.022 L 408.95 -305.022 L 421.45 -305.022 L 421.45 -295.022 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -295.022 L 408.95 -305.022 L 421.45 -305.022 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip30);">
+                <path d="M 447.35 -295.0164999670001 L 447.35 -305.0164999670001 L 459.85 -305.0164999670001 L 459.85 -295.0164999670001 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -295.0164999670001 L 447.35 -305.0164999670001 L 459.85 -305.0164999670001 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip31);">
+                  <path d="M 485.75 -295.0131999736001 L 485.75 -305.0131999736001 L 498.25 -305.0131999736001 L 498.25 -295.0131999736001 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -295.0131999736001 L 485.75 -305.0131999736001 L 498.25 -305.0131999736001 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip32);">
+                    <path d="M 524.15 -295.01099997360006 L 524.15 -305.01099997360006 L 536.65 -305.01099997360006 L 536.65 -295.01099997360006 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -295.01099997360006 L 524.15 -305.01099997360006 L 536.65 -305.01099997360006 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip33);">
+                      <path d="M 562.55 -515.0 L 562.55 -525.0 L 575.05 -525.0 L 575.05 -515.0 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -515.0 L 562.55 -525.0 L 575.05 -525.0 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip34);">
+                        <path d="M 600.95 -404.999736000528 L 600.95 -414.999736000528 L 613.45 -414.999736000528 L 613.45 -404.999736000528 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -404.999736000528 L 600.95 -414.999736000528 L 613.45 -414.999736000528 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip35);">
+                          <path d="M 639.35 -368.33324533350935 L 639.35 -378.33324533350935 L 651.85 -378.33324533350935 L 651.85 -368.33324533350935 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -368.33324533350935 L 639.35 -378.33324533350935 L 651.85 -378.33324533350935 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip36);">
+                            <path d="M 677.75 -295.00659998680004 L 677.75 -305.00659998680004 L 690.25 -305.00659998680004 L 690.25 -295.00659998680004 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -295.00659998680004 L 677.75 -305.00659998680004 L 690.25 -305.00659998680004 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip37);">
+        <path d="M 338.4 -302.65646828706343 L 376.8 -302.8030671938656 L 415.2 -302.6080111839776 L 453.6 -303.04239591520815 L 492.0 -302.87882184235633 L 530.4 -303.0942058115884 L 568.8 -303.08834502330996 L 607.2 -303.4056987886024 L 645.6 -303.3236741526517 L 684.0 -303.5650884698231" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip38);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip39);">
+          <path d="M 330.4 -294.65646828706343 L 330.4 -310.65646828706343 L 346.4 -310.65646828706343 L 346.4 -294.65646828706343 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -302.65646828706343 M 342.4 -302.65646828706343 L 342.4 -302.656 M 342.4 -302.656 A 4 4 0 1 0 334.4 -302.656 A 4 4 0 1 0 342.4 -302.656 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip40);">
+            <path d="M 368.8 -294.8030671938656 L 368.8 -310.8030671938656 L 384.8 -310.8030671938656 L 384.8 -294.8030671938656 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -302.8030671938656 M 380.8 -302.8030671938656 L 380.8 -302.803 M 380.8 -302.803 A 4 4 0 1 0 372.8 -302.803 A 4 4 0 1 0 380.8 -302.803 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip41);">
+              <path d="M 407.2 -294.6080111839776 L 407.2 -310.6080111839776 L 423.2 -310.6080111839776 L 423.2 -294.6080111839776 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -302.6080111839776 M 419.2 -302.6080111839776 L 419.2 -302.608 M 419.2 -302.608 A 4 4 0 1 0 411.2 -302.608 A 4 4 0 1 0 419.2 -302.608 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip42);">
+                <path d="M 445.6 -295.04239591520815 L 445.6 -311.04239591520815 L 461.6 -311.04239591520815 L 461.6 -295.04239591520815 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -303.04239591520815 M 457.6 -303.04239591520815 L 457.6 -303.042 M 457.6 -303.042 A 4 4 0 1 0 449.6 -303.042 A 4 4 0 1 0 457.6 -303.042 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip43);">
+                  <path d="M 484.0 -294.87882184235633 L 484.0 -310.87882184235633 L 500.0 -310.87882184235633 L 500.0 -294.87882184235633 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -302.87882184235633 M 496.0 -302.87882184235633 L 496 -302.879 M 496 -302.879 A 4 4 0 1 0 488 -302.879 A 4 4 0 1 0 496 -302.879 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip44);">
+                    <path d="M 522.4 -295.0942058115884 L 522.4 -311.0942058115884 L 538.4 -311.0942058115884 L 538.4 -295.0942058115884 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -303.0942058115884 M 534.4 -303.0942058115884 L 534.4 -303.094 M 534.4 -303.094 A 4 4 0 1 0 526.4 -303.094 A 4 4 0 1 0 534.4 -303.094 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip45);">
+                      <path d="M 560.8 -295.08834502330996 L 560.8 -311.08834502330996 L 576.8 -311.08834502330996 L 576.8 -295.08834502330996 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -303.08834502330996 M 572.8 -303.08834502330996 L 572.8 -303.088 M 572.8 -303.088 A 4 4 0 1 0 564.8 -303.088 A 4 4 0 1 0 572.8 -303.088 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip46);">
+                        <path d="M 599.2 -295.4056987886024 L 599.2 -311.4056987886024 L 615.2 -311.4056987886024 L 615.2 -295.4056987886024 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -303.4056987886024 M 611.2 -303.4056987886024 L 611.2 -303.406 M 611.2 -303.406 A 4 4 0 1 0 603.2 -303.406 A 4 4 0 1 0 611.2 -303.406 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip47);">
+                          <path d="M 637.6 -295.3236741526517 L 637.6 -311.3236741526517 L 653.6 -311.3236741526517 L 653.6 -295.3236741526517 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -303.3236741526517 M 649.6 -303.3236741526517 L 649.6 -303.324 M 649.6 -303.324 A 4 4 0 1 0 641.6 -303.324 A 4 4 0 1 0 649.6 -303.324 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip48);">
+                            <path d="M 676.0 -295.5650884698231 L 676.0 -311.5650884698231 L 692.0 -311.5650884698231 L 692.0 -295.5650884698231 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -303.5650884698231 M 688.0 -303.5650884698231 L 688 -303.565 M 688 -303.565 A 4 4 0 1 0 680 -303.565 A 4 4 0 1 0 688 -303.565 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip49);">
+        <path d="M 338.4 -300.57604288791424 L 376.8 -300.64005351989294 L 415.2 -300.022 L 453.6 -300.1926074147852 L 492.0 -300.0131999736001 L 530.4 -300.01099997360006 L 568.8 -300.00942855634287 L 607.2 -300.00824998350004 L 645.6 -300.00733332453336 L 684.0 -300.00659998680004" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip50);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip51);">
+          <path d="M 332.15 -295.57604288791424 L 332.15 -305.57604288791424 L 344.65 -305.57604288791424 L 344.65 -295.57604288791424 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 332.15 -295.57604288791424 L 344.65 -295.57604288791424 L 338.4 -305.57604288791424 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip52);">
+            <path d="M 370.55 -295.64005351989294 L 370.55 -305.64005351989294 L 383.05 -305.64005351989294 L 383.05 -295.64005351989294 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 370.55 -295.64005351989294 L 383.05 -295.64005351989294 L 376.8 -305.64005351989294 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip53);">
+              <path d="M 408.95 -295.022 L 408.95 -305.022 L 421.45 -305.022 L 421.45 -295.022 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.95 -295.022 L 421.45 -295.022 L 415.2 -305.022 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip54);">
+                <path d="M 447.35 -295.1926074147852 L 447.35 -305.1926074147852 L 459.85 -305.1926074147852 L 459.85 -295.1926074147852 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 447.35 -295.1926074147852 L 459.85 -295.1926074147852 L 453.6 -305.1926074147852 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip55);">
+                  <path d="M 485.75 -295.0131999736001 L 485.75 -305.0131999736001 L 498.25 -305.0131999736001 L 498.25 -295.0131999736001 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 485.75 -295.0131999736001 L 498.25 -295.0131999736001 L 492.0 -305.0131999736001 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip56);">
+                    <path d="M 524.15 -295.01099997360006 L 524.15 -305.01099997360006 L 536.65 -305.01099997360006 L 536.65 -295.01099997360006 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 524.15 -295.01099997360006 L 536.65 -295.01099997360006 L 530.4 -305.01099997360006 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip57);">
+                      <path d="M 562.55 -295.00942855634287 L 562.55 -305.00942855634287 L 575.05 -305.00942855634287 L 575.05 -295.00942855634287 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 562.55 -295.00942855634287 L 575.05 -295.00942855634287 L 568.8 -305.00942855634287 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip58);">
+                        <path d="M 600.95 -295.00824998350004 L 600.95 -305.00824998350004 L 613.45 -305.00824998350004 L 613.45 -295.00824998350004 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.95 -295.00824998350004 L 613.45 -295.00824998350004 L 607.2 -305.00824998350004 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip59);">
+                          <path d="M 639.35 -295.00733332453336 L 639.35 -305.00733332453336 L 651.85 -305.00733332453336 L 651.85 -295.00733332453336 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 639.35 -295.00733332453336 L 651.85 -295.00733332453336 L 645.6 -305.00733332453336 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip60);">
+                            <path d="M 677.75 -295.00659998680004 L 677.75 -305.00659998680004 L 690.25 -305.00659998680004 L 690.25 -295.00659998680004 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 677.75 -295.00659998680004 L 690.25 -295.00659998680004 L 684.0 -305.00659998680004 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip61);">
+        <path d="M 338.4 -300.0659998680003 L 376.8 -300.03299993400015 L 415.2 -300.3275613048774 L 453.6 -300.0164999670001 L 492.0 -300.166386987226 L 530.4 -300.224850990298 L 568.8 -300.00942855634287 L 607.2 -300.00824998350004 L 645.6 -300.00733332453336 L 684.0 -300.00659998680004" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip62);">
+        <path d="M 331.25714285714287 -300.0659998680003 L 345.54285714285714 -300.0659998680003" style="stroke-width:1;"/>
+        <path d="M 338.4 -292.9231427251431 L 338.4 -307.2088570108574" style="stroke-width:1;"/>
+        <path d="M 369.65714285714284 -300.03299993400015 L 383.9428571428571 -300.03299993400015" style="stroke-width:1;"/>
+        <path d="M 376.8 -292.890142791143 L 376.8 -307.17585707685726" style="stroke-width:1;"/>
+        <path d="M 408.0571428571429 -300.3275613048774 L 422.34285714285716 -300.3275613048774" style="stroke-width:1;"/>
+        <path d="M 415.2 -293.18470416202024 L 415.2 -307.4704184477345" style="stroke-width:1;"/>
+        <path d="M 446.45714285714286 -300.0164999670001 L 460.74285714285713 -300.0164999670001" style="stroke-width:1;"/>
+        <path d="M 453.6 -292.8736428241429 L 453.6 -307.1593571098572" style="stroke-width:1;"/>
+        <path d="M 484.8571428571429 -300.166386987226 L 499.1428571428571 -300.166386987226" style="stroke-width:1;"/>
+        <path d="M 492.0 -293.0235298443689 L 492.0 -307.3092441300832" style="stroke-width:1;"/>
+        <path d="M 523.2571428571429 -300.224850990298 L 537.5428571428572 -300.224850990298" style="stroke-width:1;"/>
+        <path d="M 530.4 -293.08199384744086 L 530.4 -307.3677081331552" style="stroke-width:1;"/>
+        <path d="M 561.6571428571428 -300.00942855634287 L 575.9428571428572 -300.00942855634287" style="stroke-width:1;"/>
+        <path d="M 568.8 -292.86657141348576 L 568.8 -307.15228569920004" style="stroke-width:1;"/>
+        <path d="M 600.0571428571428 -300.00824998350004 L 614.3428571428572 -300.00824998350004" style="stroke-width:1;"/>
+        <path d="M 607.2 -292.86539284064287 L 607.2 -307.1511071263572" style="stroke-width:1;"/>
+        <path d="M 638.4571428571428 -300.00733332453336 L 652.7428571428572 -300.00733332453336" style="stroke-width:1;"/>
+        <path d="M 645.6 -292.8644761816762 L 645.6 -307.1501904673905" style="stroke-width:1;"/>
+        <path d="M 676.8571428571429 -300.00659998680004 L 691.1428571428571 -300.00659998680004" style="stroke-width:1;"/>
+        <path d="M 684.0 -292.8637428439429 L 684.0 -307.14945712965715" style="stroke-width:1;"/>
+      </g>
+      <g style="clip-path:url(#clip63);">
+        <path d="M 338.4 -300.2474691450617 L 376.8 -300.03299993400015 L 415.2 -300.022 L 453.6 -300.0164999670001 L 492.0 -300.0131999736001 L 530.4 -300.01099997360006 L 568.8 -300.00942855634287 L 607.2 -300.00824998350004 L 645.6 -300.00733332453336 L 684.0 -300.00659998680004" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip64);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip65);">
+          <path d="M 331.25714285714287 -293.1046120022046 L 331.25714285714287 -307.39032628791887 L 345.54285714285714 -307.39032628791887 L 345.54285714285714 -293.1046120022046 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 331.25714285714287 -300.2474691450617 L 338.4 -307.39032628791887 L 345.54285714285714 -300.2474691450617 L 338.4 -293.1046120022046 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip66);">
+            <path d="M 369.65714285714284 -292.890142791143 L 369.65714285714284 -307.17585707685726 L 383.9428571428571 -307.17585707685726 L 383.9428571428571 -292.890142791143 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 369.65714285714284 -300.03299993400015 L 376.8 -307.17585707685726 L 383.9428571428571 -300.03299993400015 L 376.8 -292.890142791143 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip67);">
+              <path d="M 408.0571428571429 -292.8791428571429 L 408.0571428571429 -307.16485714285716 L 422.34285714285716 -307.16485714285716 L 422.34285714285716 -292.8791428571429 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.0571428571429 -300.022 L 415.2 -307.16485714285716 L 422.34285714285716 -300.022 L 415.2 -292.8791428571429 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip68);">
+                <path d="M 446.45714285714286 -292.8736428241429 L 446.45714285714286 -307.1593571098572 L 460.74285714285713 -307.1593571098572 L 460.74285714285713 -292.8736428241429 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 446.45714285714286 -300.0164999670001 L 453.6 -307.1593571098572 L 460.74285714285713 -300.0164999670001 L 453.6 -292.8736428241429 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip69);">
+                  <path d="M 484.8571428571429 -292.8703428307429 L 484.8571428571429 -307.1560571164572 L 499.1428571428571 -307.1560571164572 L 499.1428571428571 -292.8703428307429 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 484.8571428571429 -300.0131999736001 L 492.0 -307.1560571164572 L 499.1428571428571 -300.0131999736001 L 492.0 -292.8703428307429 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip70);">
+                    <path d="M 523.2571428571429 -292.8681428307429 L 523.2571428571429 -307.1538571164572 L 537.5428571428572 -307.1538571164572 L 537.5428571428572 -292.8681428307429 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 523.2571428571429 -300.01099997360006 L 530.4 -307.1538571164572 L 537.5428571428572 -300.01099997360006 L 530.4 -292.8681428307429 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip71);">
+                      <path d="M 561.6571428571428 -292.86657141348576 L 561.6571428571428 -307.15228569920004 L 575.9428571428572 -307.15228569920004 L 575.9428571428572 -292.86657141348576 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 561.6571428571428 -300.00942855634287 L 568.8 -307.15228569920004 L 575.9428571428572 -300.00942855634287 L 568.8 -292.86657141348576 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip72);">
+                        <path d="M 600.0571428571428 -292.86539284064287 L 600.0571428571428 -307.1511071263572 L 614.3428571428572 -307.1511071263572 L 614.3428571428572 -292.86539284064287 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.0571428571428 -300.00824998350004 L 607.2 -307.1511071263572 L 614.3428571428572 -300.00824998350004 L 607.2 -292.86539284064287 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip73);">
+                          <path d="M 638.4571428571428 -292.8644761816762 L 638.4571428571428 -307.1501904673905 L 652.7428571428572 -307.1501904673905 L 652.7428571428572 -292.8644761816762 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 638.4571428571428 -300.00733332453336 L 645.6 -307.1501904673905 L 652.7428571428572 -300.00733332453336 L 645.6 -292.8644761816762 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip74);">
+                            <path d="M 676.8571428571429 -292.8637428439429 L 676.8571428571429 -307.14945712965715 L 691.1428571428571 -307.14945712965715 L 691.1428571428571 -292.8637428439429 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 676.8571428571429 -300.00659998680004 L 684.0 -307.14945712965715 L 691.1428571428571 -300.00659998680004 L 684.0 -292.8637428439429 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip75);">
+      <path d="M 290 -54 L 290 -182 L 324 -182 L 324 -54 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -172.66666666666669 L 314 -172.66666666666669" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip76);">
+      <path d="M 299.0 -164.66666666666669 L 299.0 -180.66666666666669 L 315.0 -180.66666666666669 L 315.0 -164.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -172.66666666666669 M 311.0 -172.66666666666669 L 311 -172.667 M 311 -172.667 A 4 4 0 1 0 303 -172.667 A 4 4 0 1 0 311 -172.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-168.0">
+        n_pq_deque
+      </text>
+      <path d="M 300 -154.66666666666666 L 314 -154.66666666666666" style="stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip77);">
+        <path d="M 303.0 -150.66666666666666 L 303.0 -158.66666666666666 L 311.0 -158.66666666666666 L 311.0 -150.66666666666666 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 303.0 -150.66666666666666 L 303.0 -158.66666666666666 L 311.0 -158.66666666666666 L 311.0 -150.66666666666666 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-150.0">
+          n_pq_vector
+        </text>
+        <path d="M 300 -136.66666666666666 L 314 -136.66666666666666" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip78);">
+          <path d="M 300.75 -131.66666666666666 L 300.75 -141.66666666666666 L 313.25 -141.66666666666666 L 313.25 -131.66666666666666 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 307.0 -131.66666666666666 L 300.75 -141.66666666666666 L 313.25 -141.66666666666666 Z"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-132.0">
+            binary_heap
+          </text>
+          <path d="M 300 -118.66666666666666 L 314 -118.66666666666666" style="stroke-width:2;"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip79);">
+            <path d="M 299.0 -110.66666666666666 L 299.0 -126.66666666666666 L 315.0 -126.66666666666666 L 315.0 -110.66666666666666 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 307.0 -118.66666666666666 M 311.0 -118.66666666666666 L 311 -118.667 M 311 -118.667 A 4 4 0 1 0 303 -118.667 A 4 4 0 1 0 311 -118.667 Z"/>
+            <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-114.0">
+              thin_heap
+            </text>
+            <path d="M 300 -100.66666666666666 L 314 -100.66666666666666" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip80);">
+              <path d="M 300.75 -95.66666666666666 L 300.75 -105.66666666666666 L 313.25 -105.66666666666666 L 313.25 -95.66666666666666 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 300.75 -95.66666666666666 L 313.25 -95.66666666666666 L 307.0 -105.66666666666666 Z"/>
+              <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-96.0">
+                binomial_heap
+              </text>
+              <path d="M 300 -82.66666666666666 L 314 -82.66666666666666" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+              <path d="M 299.85714285714283 -82.66666666666666 L 314.14285714285717 -82.66666666666666" style="stroke-width:1;"/>
+              <path d="M 307.0 -75.52380952380952 L 307.0 -89.8095238095238" style="stroke-width:1;"/>
+              <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-78.0">
+                pairing_heap
+              </text>
+              <path d="M 300 -64.66666666666666 L 314 -64.66666666666666" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip81);">
+                <path d="M 299.85714285714283 -57.52380952380952 L 299.85714285714283 -71.8095238095238 L 314.14285714285717 -71.8095238095238 L 314.14285714285717 -57.52380952380952 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 299.85714285714283 -64.66666666666666 L 307.0 -71.8095238095238 L 314.14285714285717 -64.66666666666666 L 307.0 -57.52380952380952 Z"/>
+                <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-60.0">
+                  rc_binomial_heap
+                </text>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_local.pdf b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_local.pdf
new file mode 100644 (file)
index 0000000..a0d0180
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_local.png b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_local.png
new file mode 100644 (file)
index 0000000..4441a9c
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_local.svg b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_local.svg
new file mode 100644 (file)
index 0000000..3f0ea14
--- /dev/null
@@ -0,0 +1,793 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 496.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 300.0 -315.90976699531035 M 304.0 -315.90976699531035 L 304 -315.91 M 304 -315.91 A 4 4 0 1 0 296 -315.91 A 4 4 0 1 0 304 -315.91 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 350.5263157894737 -335.1376093940401 M 354.5263157894737 -335.1376093940401 L 354.526 -335.138 M 354.526 -335.138 A 4 4 0 1 0 346.526 -335.138 A 4 4 0 1 0 354.526 -335.138 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 401.0526315789474 -355.8980835271962 M 405.0526315789474 -355.8980835271962 L 405.053 -355.898 M 405.053 -355.898 A 4 4 0 1 0 397.053 -355.898 A 4 4 0 1 0 405.053 -355.898 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 451.57894736842104 -377.5620299595042 M 455.57894736842104 -377.5620299595042 L 455.579 -377.562 M 455.579 -377.562 A 4 4 0 1 0 447.579 -377.562 A 4 4 0 1 0 455.579 -377.562 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 502.10526315789474 -400.3102298044139 M 506.10526315789474 -400.3102298044139 L 506.105 -400.31 M 506.105 -400.31 A 4 4 0 1 0 498.105 -400.31 A 4 4 0 1 0 506.105 -400.31 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 552.6315789473684 -423.89788658715213 M 556.6315789473684 -423.89788658715213 L 556.632 -423.898 M 556.632 -423.898 A 4 4 0 1 0 548.632 -423.898 A 4 4 0 1 0 556.632 -423.898 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 603.1578947368421 -448.4831431631033 M 607.1578947368421 -448.4831431631033 L 607.158 -448.483 M 607.158 -448.483 A 4 4 0 1 0 599.158 -448.483 A 4 4 0 1 0 607.158 -448.483 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 653.6842105263158 -469.8584247258225 M 657.6842105263158 -469.8584247258225 L 657.684 -469.858 M 657.684 -469.858 A 4 4 0 1 0 649.684 -469.858 A 4 4 0 1 0 657.684 -469.858 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 704.2105263157895 -497.1126127789471 M 708.2105263157895 -497.1126127789471 L 708.211 -497.113 M 708.211 -497.113 A 4 4 0 1 0 700.211 -497.113 A 4 4 0 1 0 708.211 -497.113 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 754.7368421052631 -520.0 M 758.7368421052631 -520.0 L 758.737 -520 M 758.737 -520 A 4 4 0 1 0 750.737 -520 A 4 4 0 1 0 758.737 -520 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 296.0 -309.6265524414411 L 296.0 -317.6265524414411 L 304.0 -317.6265524414411 L 304.0 -309.6265524414411 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 346.5263157894737 -325.64301170562385 L 346.5263157894737 -333.64301170562385 L 354.5263157894737 -333.64301170562385 L 354.5263157894737 -325.64301170562385 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 397.0526315789474 -342.88090789360314 L 397.0526315789474 -350.88090789360314 L 405.0526315789474 -350.88090789360314 L 405.0526315789474 -342.88090789360314 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 447.57894736842104 -360.4849156234999 L 447.57894736842104 -368.4849156234999 L 455.57894736842104 -368.4849156234999 L 455.57894736842104 -360.4849156234999 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 498.10526315789474 -388.7383282252009 L 498.10526315789474 -396.7383282252009 L 506.10526315789474 -396.7383282252009 L 506.10526315789474 -388.7383282252009 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 548.6315789473684 -397.0413697180065 L 548.6315789473684 -405.0413697180065 L 556.6315789473684 -405.0413697180065 L 556.6315789473684 -397.0413697180065 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 599.1578947368421 -415.61069876789384 L 599.1578947368421 -423.61069876789384 L 607.1578947368421 -423.61069876789384 L 607.1578947368421 -415.61069876789384 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 649.6842105263158 -434.7811873022906 L 649.6842105263158 -442.7811873022906 L 657.6842105263158 -442.7811873022906 L 657.6842105263158 -434.7811873022906 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 700.2105263157895 -454.2105535246113 L 700.2105263157895 -462.2105535246113 L 708.2105263157895 -462.2105535246113 L 708.2105263157895 -454.2105535246113 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 750.7368421052631 -469.0770651009933 L 750.7368421052631 -477.0770651009933 L 758.7368421052631 -477.0770651009933 L 758.7368421052631 -469.0770651009933 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 300.0 -295.2036982878525 L 293.75 -305.2036982878525 L 306.25 -305.2036982878525 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 350.5263157894737 -295.2309086075108 L 344.2763157894737 -305.2309086075108 L 356.7763157894737 -305.2309086075108 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 401.0526315789474 -295.35524355329073 L 394.8026315789474 -305.35524355329073 L 407.3026315789474 -305.35524355329073 Z"/>
+    </clipPath>
+    <clipPath id="clip30">
+      <path d="M 451.57894736842104 -295.4646253338749 L 445.32894736842104 -305.4646253338749 L 457.82894736842104 -305.4646253338749 Z"/>
+    </clipPath>
+    <clipPath id="clip31">
+      <path d="M 502.10526315789474 -295.6507199389486 L 495.85526315789474 -305.6507199389486 L 508.35526315789474 -305.6507199389486 Z"/>
+    </clipPath>
+    <clipPath id="clip32">
+      <path d="M 552.6315789473684 -295.618024445183 L 546.3815789473684 -305.618024445183 L 558.8815789473684 -305.618024445183 Z"/>
+    </clipPath>
+    <clipPath id="clip33">
+      <path d="M 603.1578947368421 -295.7484652216191 L 596.9078947368421 -305.7484652216191 L 609.4078947368421 -305.7484652216191 Z"/>
+    </clipPath>
+    <clipPath id="clip34">
+      <path d="M 653.6842105263158 -295.90264367391654 L 647.4342105263158 -305.90264367391654 L 659.9342105263158 -305.90264367391654 Z"/>
+    </clipPath>
+    <clipPath id="clip35">
+      <path d="M 704.2105263157895 -296.00293440665655 L 697.9605263157895 -306.00293440665655 L 710.4605263157895 -306.00293440665655 Z"/>
+    </clipPath>
+    <clipPath id="clip36">
+      <path d="M 754.7368421052631 -295.90264367391654 L 748.4868421052631 -305.90264367391654 L 760.9868421052631 -305.90264367391654 Z"/>
+    </clipPath>
+    <clipPath id="clip37">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip38">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip39">
+      <path d="M 300.0 -300.22458343488057 M 304.0 -300.22458343488057 L 304 -300.225 M 304 -300.225 A 4 4 0 1 0 296 -300.225 A 4 4 0 1 0 304 -300.225 Z"/>
+    </clipPath>
+    <clipPath id="clip40">
+      <path d="M 350.5263157894737 -300.2517341801755 M 354.5263157894737 -300.2517341801755 L 354.526 -300.252 M 354.526 -300.252 A 4 4 0 1 0 346.526 -300.252 A 4 4 0 1 0 354.526 -300.252 Z"/>
+    </clipPath>
+    <clipPath id="clip41">
+      <path d="M 401.0526315789474 -300.2768897258841 M 405.0526315789474 -300.2768897258841 L 405.053 -300.277 M 405.053 -300.277 A 4 4 0 1 0 397.053 -300.277 A 4 4 0 1 0 405.053 -300.277 Z"/>
+    </clipPath>
+    <clipPath id="clip42">
+      <path d="M 451.57894736842104 -300.28794672771807 M 455.57894736842104 -300.28794672771807 L 455.579 -300.288 M 455.579 -300.288 A 4 4 0 1 0 447.579 -300.288 A 4 4 0 1 0 455.579 -300.288 Z"/>
+    </clipPath>
+    <clipPath id="clip43">
+      <path d="M 502.10526315789474 -300.291660376894 M 506.10526315789474 -300.291660376894 L 506.105 -300.292 M 506.105 -300.292 A 4 4 0 1 0 498.105 -300.292 A 4 4 0 1 0 506.105 -300.292 Z"/>
+    </clipPath>
+    <clipPath id="clip44">
+      <path d="M 552.6315789473684 -300.31023187228436 M 556.6315789473684 -300.31023187228436 L 556.632 -300.31 M 556.632 -300.31 A 4 4 0 1 0 548.632 -300.31 A 4 4 0 1 0 556.632 -300.31 Z"/>
+    </clipPath>
+    <clipPath id="clip45">
+      <path d="M 603.1578947368421 -300.31611836096647 M 607.1578947368421 -300.31611836096647 L 607.158 -300.316 M 607.158 -300.316 A 4 4 0 1 0 599.158 -300.316 A 4 4 0 1 0 607.158 -300.316 Z"/>
+    </clipPath>
+    <clipPath id="clip46">
+      <path d="M 653.6842105263158 -300.33073845131275 M 657.6842105263158 -300.33073845131275 L 657.684 -300.331 M 657.684 -300.331 A 4 4 0 1 0 649.684 -300.331 A 4 4 0 1 0 657.684 -300.331 Z"/>
+    </clipPath>
+    <clipPath id="clip47">
+      <path d="M 704.2105263157895 -300.2941430030895 M 708.2105263157895 -300.2941430030895 L 708.211 -300.294 M 708.211 -300.294 A 4 4 0 1 0 700.211 -300.294 A 4 4 0 1 0 708.211 -300.294 Z"/>
+    </clipPath>
+    <clipPath id="clip48">
+      <path d="M 754.7368421052631 -300.3400017232254 M 758.7368421052631 -300.3400017232254 L 758.737 -300.34 M 758.737 -300.34 A 4 4 0 1 0 750.737 -300.34 A 4 4 0 1 0 758.737 -300.34 Z"/>
+    </clipPath>
+    <clipPath id="clip49">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip50">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip51">
+      <path d="M 292.85714285714283 -300.1679098014598 L 300.0 -307.310766944317 L 307.14285714285717 -300.1679098014598 L 300.0 -293.0250526586027 Z"/>
+    </clipPath>
+    <clipPath id="clip52">
+      <path d="M 343.38345864661653 -300.1683197813966 L 350.5263157894737 -307.3111769242537 L 357.6691729323308 -300.1683197813966 L 350.5263157894737 -293.0254626385394 Z"/>
+    </clipPath>
+    <clipPath id="clip53">
+      <path d="M 393.90977443609023 -300.18987432763436 L 401.0526315789474 -307.3327314704915 L 408.1954887218045 -300.18987432763436 L 401.0526315789474 -293.04701718477725 Z"/>
+    </clipPath>
+    <clipPath id="clip54">
+      <path d="M 444.43609022556393 -300.1749466169393 L 451.57894736842104 -307.31780375979645 L 458.72180451127815 -300.1749466169393 L 451.57894736842104 -293.03208947408217 Z"/>
+    </clipPath>
+    <clipPath id="clip55">
+      <path d="M 494.9624060150376 -300.20742710141184 L 502.10526315789474 -307.35028424426895 L 509.2481203007519 -300.20742710141184 L 502.10526315789474 -293.06456995855467 Z"/>
+    </clipPath>
+    <clipPath id="clip56">
+      <path d="M 545.4887218045112 -300.1916019841709 L 552.6315789473684 -307.3344591270281 L 559.7744360902255 -300.1916019841709 L 552.6315789473684 -293.0487448413138 Z"/>
+    </clipPath>
+    <clipPath id="clip57">
+      <path d="M 596.015037593985 -300.20460219341976 L 603.1578947368421 -307.34745933627687 L 610.3007518796992 -300.20460219341976 L 603.1578947368421 -293.0617450505626 Z"/>
+    </clipPath>
+    <clipPath id="clip58">
+      <path d="M 646.5413533834586 -300.1805097793041 L 653.6842105263158 -307.3233669221612 L 660.827067669173 -300.1805097793041 L 653.6842105263158 -293.0376526364469 Z"/>
+    </clipPath>
+    <clipPath id="clip59">
+      <path d="M 697.0676691729323 -300.2223401893086 L 704.2105263157895 -307.36519733216574 L 711.3533834586467 -300.2223401893086 L 704.2105263157895 -293.07948304645146 Z"/>
+    </clipPath>
+    <clipPath id="clip60">
+      <path d="M 747.593984962406 -300.2017648289699 L 754.7368421052631 -307.344621971827 L 761.8796992481203 -300.2017648289699 L 754.7368421052631 -293.0589076861127 Z"/>
+    </clipPath>
+    <clipPath id="clip61">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip62">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip63">
+      <path d="M 293.75 -295.13010391049073 L 306.25 -295.13010391049073 L 300.0 -305.13010391049073 Z"/>
+    </clipPath>
+    <clipPath id="clip64">
+      <path d="M 344.2763157894737 -295.1305604667479 L 356.7763157894737 -295.1305604667479 L 350.5263157894737 -305.1305604667479 Z"/>
+    </clipPath>
+    <clipPath id="clip65">
+      <path d="M 394.8026315789474 -295.1319740039142 L 407.3026315789474 -295.1319740039142 L 401.0526315789474 -305.1319740039142 Z"/>
+    </clipPath>
+    <clipPath id="clip66">
+      <path d="M 445.32894736842104 -295.13771372302847 L 457.82894736842104 -295.13771372302847 L 451.57894736842104 -305.13771372302847 Z"/>
+    </clipPath>
+    <clipPath id="clip67">
+      <path d="M 495.85526315789474 -295.12636372364386 L 508.35526315789474 -295.12636372364386 L 502.10526315789474 -305.12636372364386 Z"/>
+    </clipPath>
+    <clipPath id="clip68">
+      <path d="M 546.3815789473684 -295.13750358800144 L 558.8815789473684 -295.13750358800144 L 552.6315789473684 -305.13750358800144 Z"/>
+    </clipPath>
+    <clipPath id="clip69">
+      <path d="M 596.9078947368421 -295.12546469234275 L 609.4078947368421 -295.12546469234275 L 603.1578947368421 -305.12546469234275 Z"/>
+    </clipPath>
+    <clipPath id="clip70">
+      <path d="M 647.4342105263158 -295.1480287532464 L 659.9342105263158 -295.1480287532464 L 653.6842105263158 -305.1480287532464 Z"/>
+    </clipPath>
+    <clipPath id="clip71">
+      <path d="M 697.9605263157895 -295.16962554312374 L 710.4605263157895 -295.16962554312374 L 704.2105263157895 -305.16962554312374 Z"/>
+    </clipPath>
+    <clipPath id="clip72">
+      <path d="M 748.4868421052631 -295.127137648782 L 760.9868421052631 -295.127137648782 L 754.7368421052631 -305.127137648782 Z"/>
+    </clipPath>
+    <clipPath id="clip73">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip74">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip75">
+      <path d="M 290 -54 L 290 -182 L 324 -182 L 324 -54 Z"/>
+    </clipPath>
+    <clipPath id="clip76">
+      <path d="M 307.0 -172.66666666666669 M 311.0 -172.66666666666669 L 311 -172.667 M 311 -172.667 A 4 4 0 1 0 303 -172.667 A 4 4 0 1 0 311 -172.667 Z"/>
+    </clipPath>
+    <clipPath id="clip77">
+      <path d="M 303.0 -150.66666666666666 L 303.0 -158.66666666666666 L 311.0 -158.66666666666666 L 311.0 -150.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip78">
+      <path d="M 307.0 -131.66666666666666 L 300.75 -141.66666666666666 L 313.25 -141.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip79">
+      <path d="M 307.0 -118.66666666666666 M 311.0 -118.66666666666666 L 311 -118.667 M 311 -118.667 A 4 4 0 1 0 303 -118.667 A 4 4 0 1 0 311 -118.667 Z"/>
+    </clipPath>
+    <clipPath id="clip80">
+      <path d="M 299.85714285714283 -100.66666666666666 L 307.0 -107.8095238095238 L 314.14285714285717 -100.66666666666666 L 307.0 -93.52380952380952 Z"/>
+    </clipPath>
+    <clipPath id="clip81">
+      <path d="M 300.75 -77.66666666666666 L 313.25 -77.66666666666666 L 307.0 -87.66666666666666 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      100
+    </text>
+    <path d="M 401.0526315789474 -300 L 401.0526315789474 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,401.053,-279.001)" x="401.0526315789474" y="-279.00097346438844">
+      300
+    </text>
+    <path d="M 502.10526315789474 -300 L 502.10526315789474 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,502.105,-279.001)" x="502.10526315789474" y="-279.00097346438844">
+      500
+    </text>
+    <path d="M 603.1578947368421 -300 L 603.1578947368421 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,603.158,-279.001)" x="603.1578947368421" y="-279.00097346438844">
+      700
+    </text>
+    <path d="M 704.2105263157895 -300 L 704.2105263157895 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,704.211,-279.001)" x="704.2105263157895" y="-279.00097346438844">
+      900
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      8.12e-05
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      1.62e-04
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      2.44e-04
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      3.25e-04
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      4.06e-04
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 300.0 -315.90976699531035 L 350.5263157894737 -335.1376093940401 L 401.0526315789474 -355.8980835271962 L 451.57894736842104 -377.5620299595042 L 502.10526315789474 -400.3102298044139 L 552.6315789473684 -423.89788658715213 L 603.1578947368421 -448.4831431631033 L 653.6842105263158 -469.8584247258225 L 704.2105263157895 -497.1126127789471 L 754.7368421052631 -520.0" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 292.0 -307.90976699531035 L 292.0 -323.90976699531035 L 308.0 -323.90976699531035 L 308.0 -307.90976699531035 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 300.0 -315.90976699531035 M 304.0 -315.90976699531035 L 304 -315.91 M 304 -315.91 A 4 4 0 1 0 296 -315.91 A 4 4 0 1 0 304 -315.91 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 342.5263157894737 -327.1376093940401 L 342.5263157894737 -343.1376093940401 L 358.5263157894737 -343.1376093940401 L 358.5263157894737 -327.1376093940401 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 350.5263157894737 -335.1376093940401 M 354.5263157894737 -335.1376093940401 L 354.526 -335.138 M 354.526 -335.138 A 4 4 0 1 0 346.526 -335.138 A 4 4 0 1 0 354.526 -335.138 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 393.0526315789474 -347.8980835271962 L 393.0526315789474 -363.8980835271962 L 409.0526315789474 -363.8980835271962 L 409.0526315789474 -347.8980835271962 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 401.0526315789474 -355.8980835271962 M 405.0526315789474 -355.8980835271962 L 405.053 -355.898 M 405.053 -355.898 A 4 4 0 1 0 397.053 -355.898 A 4 4 0 1 0 405.053 -355.898 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 443.57894736842104 -369.5620299595042 L 443.57894736842104 -385.5620299595042 L 459.57894736842104 -385.5620299595042 L 459.57894736842104 -369.5620299595042 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 451.57894736842104 -377.5620299595042 M 455.57894736842104 -377.5620299595042 L 455.579 -377.562 M 455.579 -377.562 A 4 4 0 1 0 447.579 -377.562 A 4 4 0 1 0 455.579 -377.562 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 494.10526315789474 -392.3102298044139 L 494.10526315789474 -408.3102298044139 L 510.10526315789474 -408.3102298044139 L 510.10526315789474 -392.3102298044139 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 502.10526315789474 -400.3102298044139 M 506.10526315789474 -400.3102298044139 L 506.105 -400.31 M 506.105 -400.31 A 4 4 0 1 0 498.105 -400.31 A 4 4 0 1 0 506.105 -400.31 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 544.6315789473684 -415.89788658715213 L 544.6315789473684 -431.89788658715213 L 560.6315789473684 -431.89788658715213 L 560.6315789473684 -415.89788658715213 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 552.6315789473684 -423.89788658715213 M 556.6315789473684 -423.89788658715213 L 556.632 -423.898 M 556.632 -423.898 A 4 4 0 1 0 548.632 -423.898 A 4 4 0 1 0 556.632 -423.898 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 595.1578947368421 -440.4831431631033 L 595.1578947368421 -456.4831431631033 L 611.1578947368421 -456.4831431631033 L 611.1578947368421 -440.4831431631033 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 603.1578947368421 -448.4831431631033 M 607.1578947368421 -448.4831431631033 L 607.158 -448.483 M 607.158 -448.483 A 4 4 0 1 0 599.158 -448.483 A 4 4 0 1 0 607.158 -448.483 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 645.6842105263158 -461.8584247258225 L 645.6842105263158 -477.8584247258225 L 661.6842105263158 -477.8584247258225 L 661.6842105263158 -461.8584247258225 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 653.6842105263158 -469.8584247258225 M 657.6842105263158 -469.8584247258225 L 657.684 -469.858 M 657.684 -469.858 A 4 4 0 1 0 649.684 -469.858 A 4 4 0 1 0 657.684 -469.858 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 696.2105263157895 -489.1126127789471 L 696.2105263157895 -505.1126127789471 L 712.2105263157895 -505.1126127789471 L 712.2105263157895 -489.1126127789471 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 704.2105263157895 -497.1126127789471 M 708.2105263157895 -497.1126127789471 L 708.211 -497.113 M 708.211 -497.113 A 4 4 0 1 0 700.211 -497.113 A 4 4 0 1 0 708.211 -497.113 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 746.7368421052631 -512.0 L 746.7368421052631 -528.0 L 762.7368421052631 -528.0 L 762.7368421052631 -512.0 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 754.7368421052631 -520.0 M 758.7368421052631 -520.0 L 758.737 -520 M 758.737 -520 A 4 4 0 1 0 750.737 -520 A 4 4 0 1 0 758.737 -520 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 300.0 -313.6265524414411 L 350.5263157894737 -329.64301170562385 L 401.0526315789474 -346.88090789360314 L 451.57894736842104 -364.4849156234999 L 502.10526315789474 -392.7383282252009 L 552.6315789473684 -401.0413697180065 L 603.1578947368421 -419.61069876789384 L 653.6842105263158 -438.7811873022906 L 704.2105263157895 -458.2105535246113 L 754.7368421052631 -473.0770651009933" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 296.0 -309.6265524414411 L 296.0 -317.6265524414411 L 304.0 -317.6265524414411 L 304.0 -309.6265524414411 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 296.0 -309.6265524414411 L 296.0 -317.6265524414411 L 304.0 -317.6265524414411 L 304.0 -309.6265524414411 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 346.5263157894737 -325.64301170562385 L 346.5263157894737 -333.64301170562385 L 354.5263157894737 -333.64301170562385 L 354.5263157894737 -325.64301170562385 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 346.5263157894737 -325.64301170562385 L 346.5263157894737 -333.64301170562385 L 354.5263157894737 -333.64301170562385 L 354.5263157894737 -325.64301170562385 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 397.0526315789474 -342.88090789360314 L 397.0526315789474 -350.88090789360314 L 405.0526315789474 -350.88090789360314 L 405.0526315789474 -342.88090789360314 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 397.0526315789474 -342.88090789360314 L 397.0526315789474 -350.88090789360314 L 405.0526315789474 -350.88090789360314 L 405.0526315789474 -342.88090789360314 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 447.57894736842104 -360.4849156234999 L 447.57894736842104 -368.4849156234999 L 455.57894736842104 -368.4849156234999 L 455.57894736842104 -360.4849156234999 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 447.57894736842104 -360.4849156234999 L 447.57894736842104 -368.4849156234999 L 455.57894736842104 -368.4849156234999 L 455.57894736842104 -360.4849156234999 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 498.10526315789474 -388.7383282252009 L 498.10526315789474 -396.7383282252009 L 506.10526315789474 -396.7383282252009 L 506.10526315789474 -388.7383282252009 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 498.10526315789474 -388.7383282252009 L 498.10526315789474 -396.7383282252009 L 506.10526315789474 -396.7383282252009 L 506.10526315789474 -388.7383282252009 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 548.6315789473684 -397.0413697180065 L 548.6315789473684 -405.0413697180065 L 556.6315789473684 -405.0413697180065 L 556.6315789473684 -397.0413697180065 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 548.6315789473684 -397.0413697180065 L 548.6315789473684 -405.0413697180065 L 556.6315789473684 -405.0413697180065 L 556.6315789473684 -397.0413697180065 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 599.1578947368421 -415.61069876789384 L 599.1578947368421 -423.61069876789384 L 607.1578947368421 -423.61069876789384 L 607.1578947368421 -415.61069876789384 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 599.1578947368421 -415.61069876789384 L 599.1578947368421 -423.61069876789384 L 607.1578947368421 -423.61069876789384 L 607.1578947368421 -415.61069876789384 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 649.6842105263158 -434.7811873022906 L 649.6842105263158 -442.7811873022906 L 657.6842105263158 -442.7811873022906 L 657.6842105263158 -434.7811873022906 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 649.6842105263158 -434.7811873022906 L 649.6842105263158 -442.7811873022906 L 657.6842105263158 -442.7811873022906 L 657.6842105263158 -434.7811873022906 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 700.2105263157895 -454.2105535246113 L 700.2105263157895 -462.2105535246113 L 708.2105263157895 -462.2105535246113 L 708.2105263157895 -454.2105535246113 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 700.2105263157895 -454.2105535246113 L 700.2105263157895 -462.2105535246113 L 708.2105263157895 -462.2105535246113 L 708.2105263157895 -454.2105535246113 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 750.7368421052631 -469.0770651009933 L 750.7368421052631 -477.0770651009933 L 758.7368421052631 -477.0770651009933 L 758.7368421052631 -469.0770651009933 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 750.7368421052631 -469.0770651009933 L 750.7368421052631 -477.0770651009933 L 758.7368421052631 -477.0770651009933 L 758.7368421052631 -469.0770651009933 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 300.0 -300.2036982878525 L 350.5263157894737 -300.2309086075108 L 401.0526315789474 -300.35524355329073 L 451.57894736842104 -300.4646253338749 L 502.10526315789474 -300.6507199389486 L 552.6315789473684 -300.618024445183 L 603.1578947368421 -300.7484652216191 L 653.6842105263158 -300.90264367391654 L 704.2105263157895 -301.00293440665655 L 754.7368421052631 -300.90264367391654" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip27);">
+          <path d="M 293.75 -295.2036982878525 L 293.75 -305.2036982878525 L 306.25 -305.2036982878525 L 306.25 -295.2036982878525 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 300.0 -295.2036982878525 L 293.75 -305.2036982878525 L 306.25 -305.2036982878525 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip28);">
+            <path d="M 344.2763157894737 -295.2309086075108 L 344.2763157894737 -305.2309086075108 L 356.7763157894737 -305.2309086075108 L 356.7763157894737 -295.2309086075108 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 350.5263157894737 -295.2309086075108 L 344.2763157894737 -305.2309086075108 L 356.7763157894737 -305.2309086075108 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+              <path d="M 394.8026315789474 -295.35524355329073 L 394.8026315789474 -305.35524355329073 L 407.3026315789474 -305.35524355329073 L 407.3026315789474 -295.35524355329073 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 401.0526315789474 -295.35524355329073 L 394.8026315789474 -305.35524355329073 L 407.3026315789474 -305.35524355329073 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip30);">
+                <path d="M 445.32894736842104 -295.4646253338749 L 445.32894736842104 -305.4646253338749 L 457.82894736842104 -305.4646253338749 L 457.82894736842104 -295.4646253338749 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 451.57894736842104 -295.4646253338749 L 445.32894736842104 -305.4646253338749 L 457.82894736842104 -305.4646253338749 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip31);">
+                  <path d="M 495.85526315789474 -295.6507199389486 L 495.85526315789474 -305.6507199389486 L 508.35526315789474 -305.6507199389486 L 508.35526315789474 -295.6507199389486 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 502.10526315789474 -295.6507199389486 L 495.85526315789474 -305.6507199389486 L 508.35526315789474 -305.6507199389486 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip32);">
+                    <path d="M 546.3815789473684 -295.618024445183 L 546.3815789473684 -305.618024445183 L 558.8815789473684 -305.618024445183 L 558.8815789473684 -295.618024445183 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 552.6315789473684 -295.618024445183 L 546.3815789473684 -305.618024445183 L 558.8815789473684 -305.618024445183 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip33);">
+                      <path d="M 596.9078947368421 -295.7484652216191 L 596.9078947368421 -305.7484652216191 L 609.4078947368421 -305.7484652216191 L 609.4078947368421 -295.7484652216191 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 603.1578947368421 -295.7484652216191 L 596.9078947368421 -305.7484652216191 L 609.4078947368421 -305.7484652216191 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip34);">
+                        <path d="M 647.4342105263158 -295.90264367391654 L 647.4342105263158 -305.90264367391654 L 659.9342105263158 -305.90264367391654 L 659.9342105263158 -295.90264367391654 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 653.6842105263158 -295.90264367391654 L 647.4342105263158 -305.90264367391654 L 659.9342105263158 -305.90264367391654 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip35);">
+                          <path d="M 697.9605263157895 -296.00293440665655 L 697.9605263157895 -306.00293440665655 L 710.4605263157895 -306.00293440665655 L 710.4605263157895 -296.00293440665655 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 704.2105263157895 -296.00293440665655 L 697.9605263157895 -306.00293440665655 L 710.4605263157895 -306.00293440665655 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip36);">
+                            <path d="M 748.4868421052631 -295.90264367391654 L 748.4868421052631 -305.90264367391654 L 760.9868421052631 -305.90264367391654 L 760.9868421052631 -295.90264367391654 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 754.7368421052631 -295.90264367391654 L 748.4868421052631 -305.90264367391654 L 760.9868421052631 -305.90264367391654 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip37);">
+        <path d="M 300.0 -300.22458343488057 L 350.5263157894737 -300.2517341801755 L 401.0526315789474 -300.2768897258841 L 451.57894736842104 -300.28794672771807 L 502.10526315789474 -300.291660376894 L 552.6315789473684 -300.31023187228436 L 603.1578947368421 -300.31611836096647 L 653.6842105263158 -300.33073845131275 L 704.2105263157895 -300.2941430030895 L 754.7368421052631 -300.3400017232254" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip38);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip39);">
+          <path d="M 292.0 -292.2245834348805 L 292.0 -308.2245834348805 L 308.0 -308.2245834348805 L 308.0 -292.2245834348805 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 300.0 -300.22458343488057 M 304.0 -300.22458343488057 L 304 -300.225 M 304 -300.225 A 4 4 0 1 0 296 -300.225 A 4 4 0 1 0 304 -300.225 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip40);">
+            <path d="M 342.5263157894737 -292.2517341801755 L 342.5263157894737 -308.2517341801755 L 358.5263157894737 -308.2517341801755 L 358.5263157894737 -292.2517341801755 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 350.5263157894737 -300.2517341801755 M 354.5263157894737 -300.2517341801755 L 354.526 -300.252 M 354.526 -300.252 A 4 4 0 1 0 346.526 -300.252 A 4 4 0 1 0 354.526 -300.252 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip41);">
+              <path d="M 393.0526315789474 -292.2768897258841 L 393.0526315789474 -308.2768897258841 L 409.0526315789474 -308.2768897258841 L 409.0526315789474 -292.2768897258841 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 401.0526315789474 -300.2768897258841 M 405.0526315789474 -300.2768897258841 L 405.053 -300.277 M 405.053 -300.277 A 4 4 0 1 0 397.053 -300.277 A 4 4 0 1 0 405.053 -300.277 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip42);">
+                <path d="M 443.57894736842104 -292.28794672771807 L 443.57894736842104 -308.28794672771807 L 459.57894736842104 -308.28794672771807 L 459.57894736842104 -292.28794672771807 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 451.57894736842104 -300.28794672771807 M 455.57894736842104 -300.28794672771807 L 455.579 -300.288 M 455.579 -300.288 A 4 4 0 1 0 447.579 -300.288 A 4 4 0 1 0 455.579 -300.288 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip43);">
+                  <path d="M 494.10526315789474 -292.291660376894 L 494.10526315789474 -308.291660376894 L 510.10526315789474 -308.291660376894 L 510.10526315789474 -292.291660376894 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 502.10526315789474 -300.291660376894 M 506.10526315789474 -300.291660376894 L 506.105 -300.292 M 506.105 -300.292 A 4 4 0 1 0 498.105 -300.292 A 4 4 0 1 0 506.105 -300.292 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip44);">
+                    <path d="M 544.6315789473684 -292.31023187228436 L 544.6315789473684 -308.31023187228436 L 560.6315789473684 -308.31023187228436 L 560.6315789473684 -292.31023187228436 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 552.6315789473684 -300.31023187228436 M 556.6315789473684 -300.31023187228436 L 556.632 -300.31 M 556.632 -300.31 A 4 4 0 1 0 548.632 -300.31 A 4 4 0 1 0 556.632 -300.31 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip45);">
+                      <path d="M 595.1578947368421 -292.31611836096647 L 595.1578947368421 -308.31611836096647 L 611.1578947368421 -308.31611836096647 L 611.1578947368421 -292.31611836096647 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 603.1578947368421 -300.31611836096647 M 607.1578947368421 -300.31611836096647 L 607.158 -300.316 M 607.158 -300.316 A 4 4 0 1 0 599.158 -300.316 A 4 4 0 1 0 607.158 -300.316 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip46);">
+                        <path d="M 645.6842105263158 -292.33073845131275 L 645.6842105263158 -308.33073845131275 L 661.6842105263158 -308.33073845131275 L 661.6842105263158 -292.33073845131275 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 653.6842105263158 -300.33073845131275 M 657.6842105263158 -300.33073845131275 L 657.684 -300.331 M 657.684 -300.331 A 4 4 0 1 0 649.684 -300.331 A 4 4 0 1 0 657.684 -300.331 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip47);">
+                          <path d="M 696.2105263157895 -292.2941430030895 L 696.2105263157895 -308.2941430030895 L 712.2105263157895 -308.2941430030895 L 712.2105263157895 -292.2941430030895 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 704.2105263157895 -300.2941430030895 M 708.2105263157895 -300.2941430030895 L 708.211 -300.294 M 708.211 -300.294 A 4 4 0 1 0 700.211 -300.294 A 4 4 0 1 0 708.211 -300.294 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip48);">
+                            <path d="M 746.7368421052631 -292.3400017232254 L 746.7368421052631 -308.3400017232254 L 762.7368421052631 -308.3400017232254 L 762.7368421052631 -292.3400017232254 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 754.7368421052631 -300.3400017232254 M 758.7368421052631 -300.3400017232254 L 758.737 -300.34 M 758.737 -300.34 A 4 4 0 1 0 750.737 -300.34 A 4 4 0 1 0 758.737 -300.34 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip49);">
+        <path d="M 300.0 -300.1679098014598 L 350.5263157894737 -300.1683197813966 L 401.0526315789474 -300.18987432763436 L 451.57894736842104 -300.1749466169393 L 502.10526315789474 -300.20742710141184 L 552.6315789473684 -300.1916019841709 L 603.1578947368421 -300.20460219341976 L 653.6842105263158 -300.1805097793041 L 704.2105263157895 -300.2223401893086 L 754.7368421052631 -300.2017648289699" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip50);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip51);">
+          <path d="M 292.85714285714283 -293.0250526586027 L 292.85714285714283 -307.310766944317 L 307.14285714285717 -307.310766944317 L 307.14285714285717 -293.0250526586027 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 292.85714285714283 -300.1679098014598 L 300.0 -307.310766944317 L 307.14285714285717 -300.1679098014598 L 300.0 -293.0250526586027 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip52);">
+            <path d="M 343.38345864661653 -293.0254626385394 L 343.38345864661653 -307.3111769242537 L 357.6691729323308 -307.3111769242537 L 357.6691729323308 -293.0254626385394 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 343.38345864661653 -300.1683197813966 L 350.5263157894737 -307.3111769242537 L 357.6691729323308 -300.1683197813966 L 350.5263157894737 -293.0254626385394 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip53);">
+              <path d="M 393.90977443609023 -293.04701718477725 L 393.90977443609023 -307.3327314704915 L 408.1954887218045 -307.3327314704915 L 408.1954887218045 -293.04701718477725 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 393.90977443609023 -300.18987432763436 L 401.0526315789474 -307.3327314704915 L 408.1954887218045 -300.18987432763436 L 401.0526315789474 -293.04701718477725 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip54);">
+                <path d="M 444.43609022556393 -293.03208947408217 L 444.43609022556393 -307.31780375979645 L 458.72180451127815 -307.31780375979645 L 458.72180451127815 -293.03208947408217 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 444.43609022556393 -300.1749466169393 L 451.57894736842104 -307.31780375979645 L 458.72180451127815 -300.1749466169393 L 451.57894736842104 -293.03208947408217 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip55);">
+                  <path d="M 494.9624060150376 -293.06456995855467 L 494.9624060150376 -307.35028424426895 L 509.2481203007519 -307.35028424426895 L 509.2481203007519 -293.06456995855467 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 494.9624060150376 -300.20742710141184 L 502.10526315789474 -307.35028424426895 L 509.2481203007519 -300.20742710141184 L 502.10526315789474 -293.06456995855467 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip56);">
+                    <path d="M 545.4887218045112 -293.0487448413138 L 545.4887218045112 -307.3344591270281 L 559.7744360902255 -307.3344591270281 L 559.7744360902255 -293.0487448413138 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 545.4887218045112 -300.1916019841709 L 552.6315789473684 -307.3344591270281 L 559.7744360902255 -300.1916019841709 L 552.6315789473684 -293.0487448413138 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip57);">
+                      <path d="M 596.015037593985 -293.0617450505626 L 596.015037593985 -307.34745933627687 L 610.3007518796992 -307.34745933627687 L 610.3007518796992 -293.0617450505626 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 596.015037593985 -300.20460219341976 L 603.1578947368421 -307.34745933627687 L 610.3007518796992 -300.20460219341976 L 603.1578947368421 -293.0617450505626 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip58);">
+                        <path d="M 646.5413533834586 -293.0376526364469 L 646.5413533834586 -307.3233669221612 L 660.827067669173 -307.3233669221612 L 660.827067669173 -293.0376526364469 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 646.5413533834586 -300.1805097793041 L 653.6842105263158 -307.3233669221612 L 660.827067669173 -300.1805097793041 L 653.6842105263158 -293.0376526364469 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip59);">
+                          <path d="M 697.0676691729323 -293.07948304645146 L 697.0676691729323 -307.36519733216574 L 711.3533834586467 -307.36519733216574 L 711.3533834586467 -293.07948304645146 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 697.0676691729323 -300.2223401893086 L 704.2105263157895 -307.36519733216574 L 711.3533834586467 -300.2223401893086 L 704.2105263157895 -293.07948304645146 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip60);">
+                            <path d="M 747.593984962406 -293.0589076861127 L 747.593984962406 -307.344621971827 L 761.8796992481203 -307.344621971827 L 761.8796992481203 -293.0589076861127 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 747.593984962406 -300.2017648289699 L 754.7368421052631 -307.344621971827 L 761.8796992481203 -300.2017648289699 L 754.7368421052631 -293.0589076861127 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip61);">
+        <path d="M 300.0 -300.13010391049073 L 350.5263157894737 -300.1305604667479 L 401.0526315789474 -300.1319740039142 L 451.57894736842104 -300.13771372302847 L 502.10526315789474 -300.12636372364386 L 552.6315789473684 -300.13750358800144 L 603.1578947368421 -300.12546469234275 L 653.6842105263158 -300.1480287532464 L 704.2105263157895 -300.16962554312374 L 754.7368421052631 -300.127137648782" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip62);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip63);">
+          <path d="M 293.75 -295.13010391049073 L 293.75 -305.13010391049073 L 306.25 -305.13010391049073 L 306.25 -295.13010391049073 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 293.75 -295.13010391049073 L 306.25 -295.13010391049073 L 300.0 -305.13010391049073 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip64);">
+            <path d="M 344.2763157894737 -295.1305604667479 L 344.2763157894737 -305.1305604667479 L 356.7763157894737 -305.1305604667479 L 356.7763157894737 -295.1305604667479 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 344.2763157894737 -295.1305604667479 L 356.7763157894737 -295.1305604667479 L 350.5263157894737 -305.1305604667479 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip65);">
+              <path d="M 394.8026315789474 -295.1319740039142 L 394.8026315789474 -305.1319740039142 L 407.3026315789474 -305.1319740039142 L 407.3026315789474 -295.1319740039142 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 394.8026315789474 -295.1319740039142 L 407.3026315789474 -295.1319740039142 L 401.0526315789474 -305.1319740039142 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip66);">
+                <path d="M 445.32894736842104 -295.13771372302847 L 445.32894736842104 -305.13771372302847 L 457.82894736842104 -305.13771372302847 L 457.82894736842104 -295.13771372302847 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 445.32894736842104 -295.13771372302847 L 457.82894736842104 -295.13771372302847 L 451.57894736842104 -305.13771372302847 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip67);">
+                  <path d="M 495.85526315789474 -295.12636372364386 L 495.85526315789474 -305.12636372364386 L 508.35526315789474 -305.12636372364386 L 508.35526315789474 -295.12636372364386 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 495.85526315789474 -295.12636372364386 L 508.35526315789474 -295.12636372364386 L 502.10526315789474 -305.12636372364386 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip68);">
+                    <path d="M 546.3815789473684 -295.13750358800144 L 546.3815789473684 -305.13750358800144 L 558.8815789473684 -305.13750358800144 L 558.8815789473684 -295.13750358800144 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 546.3815789473684 -295.13750358800144 L 558.8815789473684 -295.13750358800144 L 552.6315789473684 -305.13750358800144 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip69);">
+                      <path d="M 596.9078947368421 -295.12546469234275 L 596.9078947368421 -305.12546469234275 L 609.4078947368421 -305.12546469234275 L 609.4078947368421 -295.12546469234275 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 596.9078947368421 -295.12546469234275 L 609.4078947368421 -295.12546469234275 L 603.1578947368421 -305.12546469234275 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip70);">
+                        <path d="M 647.4342105263158 -295.1480287532464 L 647.4342105263158 -305.1480287532464 L 659.9342105263158 -305.1480287532464 L 659.9342105263158 -295.1480287532464 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 647.4342105263158 -295.1480287532464 L 659.9342105263158 -295.1480287532464 L 653.6842105263158 -305.1480287532464 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip71);">
+                          <path d="M 697.9605263157895 -295.16962554312374 L 697.9605263157895 -305.16962554312374 L 710.4605263157895 -305.16962554312374 L 710.4605263157895 -295.16962554312374 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 697.9605263157895 -295.16962554312374 L 710.4605263157895 -295.16962554312374 L 704.2105263157895 -305.16962554312374 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip72);">
+                            <path d="M 748.4868421052631 -295.127137648782 L 748.4868421052631 -305.127137648782 L 760.9868421052631 -305.127137648782 L 760.9868421052631 -295.127137648782 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 748.4868421052631 -295.127137648782 L 760.9868421052631 -295.127137648782 L 754.7368421052631 -305.127137648782 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip73);">
+        <path d="M 300.0 -300.0776557241855 L 350.5263157894737 -300.0799520450993 L 401.0526315789474 -300.08399443644373 L 451.57894736842104 -300.0801578474453 L 502.10526315789474 -300.1002999396871 L 552.6315789473684 -300.07683413955664 L 603.1578947368421 -300.0803880211218 L 653.6842105263158 -300.078105239836 L 704.2105263157895 -300.0825121179671 L 754.7368421052631 -300.08415691198013" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip74);">
+        <path d="M 292.85714285714283 -300.0776557241855 L 307.14285714285717 -300.0776557241855" style="stroke-width:1;"/>
+        <path d="M 300.0 -292.9347985813283 L 300.0 -307.2205128670426" style="stroke-width:1;"/>
+        <path d="M 343.38345864661653 -300.0799520450993 L 357.6691729323308 -300.0799520450993" style="stroke-width:1;"/>
+        <path d="M 350.5263157894737 -292.9370949022421 L 350.5263157894737 -307.2228091879564" style="stroke-width:1;"/>
+        <path d="M 393.90977443609023 -300.08399443644373 L 408.1954887218045 -300.08399443644373" style="stroke-width:1;"/>
+        <path d="M 401.0526315789474 -292.9411372935866 L 401.0526315789474 -307.2268515793009" style="stroke-width:1;"/>
+        <path d="M 444.43609022556393 -300.0801578474453 L 458.72180451127815 -300.0801578474453" style="stroke-width:1;"/>
+        <path d="M 451.57894736842104 -292.93730070458815 L 451.57894736842104 -307.2230149903025" style="stroke-width:1;"/>
+        <path d="M 494.9624060150376 -300.1002999396871 L 509.2481203007519 -300.1002999396871" style="stroke-width:1;"/>
+        <path d="M 502.10526315789474 -292.95744279683 L 502.10526315789474 -307.24315708254426" style="stroke-width:1;"/>
+        <path d="M 545.4887218045112 -300.07683413955664 L 559.7744360902255 -300.07683413955664" style="stroke-width:1;"/>
+        <path d="M 552.6315789473684 -292.93397699669947 L 552.6315789473684 -307.2196912824138" style="stroke-width:1;"/>
+        <path d="M 596.015037593985 -300.0803880211218 L 610.3007518796992 -300.0803880211218" style="stroke-width:1;"/>
+        <path d="M 603.1578947368421 -292.9375308782647 L 603.1578947368421 -307.22324516397896" style="stroke-width:1;"/>
+        <path d="M 646.5413533834586 -300.078105239836 L 660.827067669173 -300.078105239836" style="stroke-width:1;"/>
+        <path d="M 653.6842105263158 -292.9352480969789 L 653.6842105263158 -307.2209623826932" style="stroke-width:1;"/>
+        <path d="M 697.0676691729323 -300.0825121179671 L 711.3533834586467 -300.0825121179671" style="stroke-width:1;"/>
+        <path d="M 704.2105263157895 -292.93965497510993 L 704.2105263157895 -307.2253692608242" style="stroke-width:1;"/>
+        <path d="M 747.593984962406 -300.08415691198013 L 761.8796992481203 -300.08415691198013" style="stroke-width:1;"/>
+        <path d="M 754.7368421052631 -292.94129976912296 L 754.7368421052631 -307.22701405483724" style="stroke-width:1;"/>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip75);">
+      <path d="M 290 -54 L 290 -182 L 324 -182 L 324 -54 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -172.66666666666669 L 314 -172.66666666666669" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip76);">
+      <path d="M 299.0 -164.66666666666669 L 299.0 -180.66666666666669 L 315.0 -180.66666666666669 L 315.0 -164.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -172.66666666666669 M 311.0 -172.66666666666669 L 311 -172.667 M 311 -172.667 A 4 4 0 1 0 303 -172.667 A 4 4 0 1 0 311 -172.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-168.0">
+        n_pq_deque
+      </text>
+      <path d="M 300 -154.66666666666666 L 314 -154.66666666666666" style="stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip77);">
+        <path d="M 303.0 -150.66666666666666 L 303.0 -158.66666666666666 L 311.0 -158.66666666666666 L 311.0 -150.66666666666666 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 303.0 -150.66666666666666 L 303.0 -158.66666666666666 L 311.0 -158.66666666666666 L 311.0 -150.66666666666666 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-150.0">
+          n_pq_vector
+        </text>
+        <path d="M 300 -136.66666666666666 L 314 -136.66666666666666" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip78);">
+          <path d="M 300.75 -131.66666666666666 L 300.75 -141.66666666666666 L 313.25 -141.66666666666666 L 313.25 -131.66666666666666 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 307.0 -131.66666666666666 L 300.75 -141.66666666666666 L 313.25 -141.66666666666666 Z"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-132.0">
+            binary_heap
+          </text>
+          <path d="M 300 -118.66666666666666 L 314 -118.66666666666666" style="stroke-width:2;"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip79);">
+            <path d="M 299.0 -110.66666666666666 L 299.0 -126.66666666666666 L 315.0 -126.66666666666666 L 315.0 -110.66666666666666 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 307.0 -118.66666666666666 M 311.0 -118.66666666666666 L 311 -118.667 M 311 -118.667 A 4 4 0 1 0 303 -118.667 A 4 4 0 1 0 311 -118.667 Z"/>
+            <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-114.0">
+              thin_heap
+            </text>
+            <path d="M 300 -100.66666666666666 L 314 -100.66666666666666" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip80);">
+              <path d="M 299.85714285714283 -93.52380952380952 L 299.85714285714283 -107.8095238095238 L 314.14285714285717 -107.8095238095238 L 314.14285714285717 -93.52380952380952 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 299.85714285714283 -100.66666666666666 L 307.0 -107.8095238095238 L 314.14285714285717 -100.66666666666666 L 307.0 -93.52380952380952 Z"/>
+              <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-96.0">
+                rc_binomial_heap
+              </text>
+              <path d="M 300 -82.66666666666666 L 314 -82.66666666666666" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip81);">
+                <path d="M 300.75 -77.66666666666666 L 300.75 -87.66666666666666 L 313.25 -87.66666666666666 L 313.25 -77.66666666666666 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 300.75 -77.66666666666666 L 313.25 -77.66666666666666 L 307.0 -87.66666666666666 Z"/>
+                <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-78.0">
+                  binomial_heap
+                </text>
+                <path d="M 300 -64.66666666666666 L 314 -64.66666666666666" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+                <path d="M 299.85714285714283 -64.66666666666666 L 314.14285714285717 -64.66666666666666" style="stroke-width:1;"/>
+                <path d="M 307.0 -57.52380952380952 L 307.0 -71.8095238095238" style="stroke-width:1;"/>
+                <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-60.0">
+                  pairing_heap
+                </text>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.pdf b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.pdf
new file mode 100644 (file)
index 0000000..ee77fee
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.png b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.png
new file mode 100644 (file)
index 0000000..215edaf
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.svg b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.svg
new file mode 100644 (file)
index 0000000..bff59b9
--- /dev/null
@@ -0,0 +1,223 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 396.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 300.0 -445.3179566415521 M 304.0 -445.3179566415521 L 304 -445.318 M 304 -445.318 A 4 4 0 1 0 296 -445.318 A 4 4 0 1 0 304 -445.318 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 350.5263157894737 -462.8859969097947 M 354.5263157894737 -462.8859969097947 L 354.526 -462.886 M 354.526 -462.886 A 4 4 0 1 0 346.526 -462.886 A 4 4 0 1 0 354.526 -462.886 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 401.0526315789474 -479.1630322241514 M 405.0526315789474 -479.1630322241514 L 405.053 -479.163 M 405.053 -479.163 A 4 4 0 1 0 397.053 -479.163 A 4 4 0 1 0 405.053 -479.163 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 451.57894736842104 -486.31752656142976 M 455.57894736842104 -486.31752656142976 L 455.579 -486.318 M 455.579 -486.318 A 4 4 0 1 0 447.579 -486.318 A 4 4 0 1 0 455.579 -486.318 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 502.10526315789474 -488.7204638493764 M 506.10526315789474 -488.7204638493764 L 506.105 -488.72 M 506.105 -488.72 A 4 4 0 1 0 498.105 -488.72 A 4 4 0 1 0 506.105 -488.72 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 552.6315789473684 -500.7372529030408 M 556.6315789473684 -500.7372529030408 L 556.632 -500.737 M 556.632 -500.737 A 4 4 0 1 0 548.632 -500.737 A 4 4 0 1 0 556.632 -500.737 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 603.1578947368421 -504.5461380397904 M 607.1578947368421 -504.5461380397904 L 607.158 -504.546 M 607.158 -504.546 A 4 4 0 1 0 599.158 -504.546 A 4 4 0 1 0 607.158 -504.546 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 653.6842105263158 -514.00614855286 M 657.6842105263158 -514.00614855286 L 657.684 -514.006 M 657.684 -514.006 A 4 4 0 1 0 649.684 -514.006 A 4 4 0 1 0 657.684 -514.006 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 704.2105263157895 -490.32686089297374 M 708.2105263157895 -490.32686089297374 L 708.211 -490.327 M 708.211 -490.327 A 4 4 0 1 0 700.211 -490.327 A 4 4 0 1 0 708.211 -490.327 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 754.7368421052631 -520.0 M 758.7368421052631 -520.0 L 758.737 -520 M 758.737 -520 A 4 4 0 1 0 750.737 -520 A 4 4 0 1 0 758.737 -520 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 290 -154 L 290 -192 L 324 -192 L 324 -154 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 307.0 -182.66666666666669 M 311.0 -182.66666666666669 L 311 -182.667 M 311 -182.667 A 4 4 0 1 0 303 -182.667 A 4 4 0 1 0 311 -182.667 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      100
+    </text>
+    <path d="M 401.0526315789474 -300 L 401.0526315789474 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,401.053,-279.001)" x="401.0526315789474" y="-279.00097346438844">
+      300
+    </text>
+    <path d="M 502.10526315789474 -300 L 502.10526315789474 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,502.105,-279.001)" x="502.10526315789474" y="-279.00097346438844">
+      500
+    </text>
+    <path d="M 603.1578947368421 -300 L 603.1578947368421 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,603.158,-279.001)" x="603.1578947368421" y="-279.00097346438844">
+      700
+    </text>
+    <path d="M 704.2105263157895 -300 L 704.2105263157895 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,704.211,-279.001)" x="704.2105263157895" y="-279.00097346438844">
+      900
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      1.26e-07
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      2.51e-07
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      3.77e-07
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      5.02e-07
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      6.28e-07
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 300.0 -445.3179566415521 L 350.5263157894737 -462.8859969097947 L 401.0526315789474 -479.1630322241514 L 451.57894736842104 -486.31752656142976 L 502.10526315789474 -488.7204638493764 L 552.6315789473684 -500.7372529030408 L 603.1578947368421 -504.5461380397904 L 653.6842105263158 -514.00614855286 L 704.2105263157895 -490.32686089297374 L 754.7368421052631 -520.0" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 292.0 -437.3179566415521 L 292.0 -453.3179566415521 L 308.0 -453.3179566415521 L 308.0 -437.3179566415521 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 300.0 -445.3179566415521 M 304.0 -445.3179566415521 L 304 -445.318 M 304 -445.318 A 4 4 0 1 0 296 -445.318 A 4 4 0 1 0 304 -445.318 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 342.5263157894737 -454.8859969097947 L 342.5263157894737 -470.8859969097947 L 358.5263157894737 -470.8859969097947 L 358.5263157894737 -454.8859969097947 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 350.5263157894737 -462.8859969097947 M 354.5263157894737 -462.8859969097947 L 354.526 -462.886 M 354.526 -462.886 A 4 4 0 1 0 346.526 -462.886 A 4 4 0 1 0 354.526 -462.886 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 393.0526315789474 -471.1630322241514 L 393.0526315789474 -487.1630322241514 L 409.0526315789474 -487.1630322241514 L 409.0526315789474 -471.1630322241514 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 401.0526315789474 -479.1630322241514 M 405.0526315789474 -479.1630322241514 L 405.053 -479.163 M 405.053 -479.163 A 4 4 0 1 0 397.053 -479.163 A 4 4 0 1 0 405.053 -479.163 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 443.57894736842104 -478.31752656142976 L 443.57894736842104 -494.31752656142976 L 459.57894736842104 -494.31752656142976 L 459.57894736842104 -478.31752656142976 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 451.57894736842104 -486.31752656142976 M 455.57894736842104 -486.31752656142976 L 455.579 -486.318 M 455.579 -486.318 A 4 4 0 1 0 447.579 -486.318 A 4 4 0 1 0 455.579 -486.318 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 494.10526315789474 -480.7204638493764 L 494.10526315789474 -496.7204638493764 L 510.10526315789474 -496.7204638493764 L 510.10526315789474 -480.7204638493764 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 502.10526315789474 -488.7204638493764 M 506.10526315789474 -488.7204638493764 L 506.105 -488.72 M 506.105 -488.72 A 4 4 0 1 0 498.105 -488.72 A 4 4 0 1 0 506.105 -488.72 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 544.6315789473684 -492.7372529030408 L 544.6315789473684 -508.7372529030408 L 560.6315789473684 -508.7372529030408 L 560.6315789473684 -492.7372529030408 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 552.6315789473684 -500.7372529030408 M 556.6315789473684 -500.7372529030408 L 556.632 -500.737 M 556.632 -500.737 A 4 4 0 1 0 548.632 -500.737 A 4 4 0 1 0 556.632 -500.737 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 595.1578947368421 -496.5461380397904 L 595.1578947368421 -512.5461380397903 L 611.1578947368421 -512.5461380397903 L 611.1578947368421 -496.5461380397904 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 603.1578947368421 -504.5461380397904 M 607.1578947368421 -504.5461380397904 L 607.158 -504.546 M 607.158 -504.546 A 4 4 0 1 0 599.158 -504.546 A 4 4 0 1 0 607.158 -504.546 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 645.6842105263158 -506.00614855286005 L 645.6842105263158 -522.00614855286 L 661.6842105263158 -522.00614855286 L 661.6842105263158 -506.00614855286005 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 653.6842105263158 -514.00614855286 M 657.6842105263158 -514.00614855286 L 657.684 -514.006 M 657.684 -514.006 A 4 4 0 1 0 649.684 -514.006 A 4 4 0 1 0 657.684 -514.006 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 696.2105263157895 -482.32686089297374 L 696.2105263157895 -498.32686089297374 L 712.2105263157895 -498.32686089297374 L 712.2105263157895 -482.32686089297374 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 704.2105263157895 -490.32686089297374 M 708.2105263157895 -490.32686089297374 L 708.211 -490.327 M 708.211 -490.327 A 4 4 0 1 0 700.211 -490.327 A 4 4 0 1 0 708.211 -490.327 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 746.7368421052631 -512.0 L 746.7368421052631 -528.0 L 762.7368421052631 -528.0 L 762.7368421052631 -512.0 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 754.7368421052631 -520.0 M 758.7368421052631 -520.0 L 758.737 -520 M 758.737 -520 A 4 4 0 1 0 750.737 -520 A 4 4 0 1 0 758.737 -520 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 300.0 -350.2475668615301 L 350.5263157894737 -351.73341403972665 L 401.0526315789474 -354.3490657704009 L 451.57894736842104 -351.866579588716 L 502.10526315789474 -364.899632042562 L 552.6315789473684 -349.7159559725386 L 603.1578947368421 -352.0155147421909 L 653.6842105263158 -350.5384284553752 L 704.2105263157895 -353.38992338202263 L 754.7368421052631 -354.45419646697144" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <path d="M 292.85714285714283 -350.2475668615301 L 307.14285714285717 -350.2475668615301" style="stroke-width:1;"/>
+        <path d="M 300.0 -343.104709718673 L 300.0 -357.3904240043873" style="stroke-width:1;"/>
+        <path d="M 343.38345864661653 -351.73341403972665 L 357.6691729323308 -351.73341403972665" style="stroke-width:1;"/>
+        <path d="M 350.5263157894737 -344.5905568968695 L 350.5263157894737 -358.8762711825838" style="stroke-width:1;"/>
+        <path d="M 393.90977443609023 -354.3490657704009 L 408.1954887218045 -354.3490657704009" style="stroke-width:1;"/>
+        <path d="M 401.0526315789474 -347.2062086275438 L 401.0526315789474 -361.49192291325807" style="stroke-width:1;"/>
+        <path d="M 444.43609022556393 -351.866579588716 L 458.72180451127815 -351.866579588716" style="stroke-width:1;"/>
+        <path d="M 451.57894736842104 -344.7237224458588 L 451.57894736842104 -359.00943673157315" style="stroke-width:1;"/>
+        <path d="M 494.9624060150376 -364.899632042562 L 509.2481203007519 -364.899632042562" style="stroke-width:1;"/>
+        <path d="M 502.10526315789474 -357.75677489970485 L 502.10526315789474 -372.04248918541913" style="stroke-width:1;"/>
+        <path d="M 545.4887218045112 -349.7159559725386 L 559.7744360902255 -349.7159559725386" style="stroke-width:1;"/>
+        <path d="M 552.6315789473684 -342.57309882968144 L 552.6315789473684 -356.8588131153957" style="stroke-width:1;"/>
+        <path d="M 596.015037593985 -352.0155147421909 L 610.3007518796992 -352.0155147421909" style="stroke-width:1;"/>
+        <path d="M 603.1578947368421 -344.8726575993337 L 603.1578947368421 -359.158371885048" style="stroke-width:1;"/>
+        <path d="M 646.5413533834586 -350.5384284553752 L 660.827067669173 -350.5384284553752" style="stroke-width:1;"/>
+        <path d="M 653.6842105263158 -343.3955713125181 L 653.6842105263158 -357.68128559823236" style="stroke-width:1;"/>
+        <path d="M 697.0676691729323 -353.38992338202263 L 711.3533834586467 -353.38992338202263" style="stroke-width:1;"/>
+        <path d="M 704.2105263157895 -346.2470662391655 L 704.2105263157895 -360.5327805248798" style="stroke-width:1;"/>
+        <path d="M 747.593984962406 -354.45419646697144 L 761.8796992481203 -354.45419646697144" style="stroke-width:1;"/>
+        <path d="M 754.7368421052631 -347.3113393241143 L 754.7368421052631 -361.5970536098286" style="stroke-width:1;"/>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+      <path d="M 290 -154 L 290 -192 L 324 -192 L 324 -154 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -182.66666666666669 L 314 -182.66666666666669" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+      <path d="M 299.0 -174.66666666666669 L 299.0 -190.66666666666669 L 315.0 -190.66666666666669 L 315.0 -174.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -182.66666666666669 M 311.0 -182.66666666666669 L 311 -182.667 M 311 -182.667 A 4 4 0 1 0 303 -182.667 A 4 4 0 1 0 311 -182.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-178.0">
+        thin_heap
+      </text>
+      <path d="M 300 -164.66666666666666 L 314 -164.66666666666666" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+      <path d="M 299.85714285714283 -164.66666666666666 L 314.14285714285717 -164.66666666666666" style="stroke-width:1;"/>
+      <path d="M 307.0 -157.52380952380952 L 307.0 -171.8095238095238" style="stroke-width:1;"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-160.0">
+        pairing_heap
+      </text>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_local.pdf b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_local.pdf
new file mode 100644 (file)
index 0000000..083fe8b
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_local.png b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_local.png
new file mode 100644 (file)
index 0000000..1a3c869
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_local.svg b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_local.svg
new file mode 100644 (file)
index 0000000..e0dfa4f
--- /dev/null
@@ -0,0 +1,793 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 496.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 300.0 -315.77881327305454 M 304.0 -315.77881327305454 L 304 -315.779 M 304 -315.779 A 4 4 0 1 0 296 -315.779 A 4 4 0 1 0 304 -315.779 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 350.5263157894737 -335.77699010212535 M 354.5263157894737 -335.77699010212535 L 354.526 -335.777 M 354.526 -335.777 A 4 4 0 1 0 346.526 -335.777 A 4 4 0 1 0 354.526 -335.777 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 401.0526315789474 -357.061224300925 M 405.0526315789474 -357.061224300925 L 405.053 -357.061 M 405.053 -357.061 A 4 4 0 1 0 397.053 -357.061 A 4 4 0 1 0 405.053 -357.061 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 451.57894736842104 -378.83553054736774 M 455.57894736842104 -378.83553054736774 L 455.579 -378.836 M 455.579 -378.836 A 4 4 0 1 0 447.579 -378.836 A 4 4 0 1 0 455.579 -378.836 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 502.10526315789474 -401.7418686113823 M 506.10526315789474 -401.7418686113823 L 506.105 -401.742 M 506.105 -401.742 A 4 4 0 1 0 498.105 -401.742 A 4 4 0 1 0 506.105 -401.742 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 552.6315789473684 -424.929178601341 M 556.6315789473684 -424.929178601341 L 556.632 -424.929 M 556.632 -424.929 A 4 4 0 1 0 548.632 -424.929 A 4 4 0 1 0 556.632 -424.929 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 603.1578947368421 -450.2171609434215 M 607.1578947368421 -450.2171609434215 L 607.158 -450.217 M 607.158 -450.217 A 4 4 0 1 0 599.158 -450.217 A 4 4 0 1 0 607.158 -450.217 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 653.6842105263158 -471.5170725612775 M 657.6842105263158 -471.5170725612775 L 657.684 -471.517 M 657.684 -471.517 A 4 4 0 1 0 649.684 -471.517 A 4 4 0 1 0 657.684 -471.517 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 704.2105263157895 -495.8130000416461 M 708.2105263157895 -495.8130000416461 L 708.211 -495.813 M 708.211 -495.813 A 4 4 0 1 0 700.211 -495.813 A 4 4 0 1 0 708.211 -495.813 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 754.7368421052631 -520.0 M 758.7368421052631 -520.0 L 758.737 -520 M 758.737 -520 A 4 4 0 1 0 750.737 -520 A 4 4 0 1 0 758.737 -520 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 296.0 -309.5929331303475 L 296.0 -317.5929331303475 L 304.0 -317.5929331303475 L 304.0 -309.5929331303475 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 346.5263157894737 -325.21431050359314 L 346.5263157894737 -333.21431050359314 L 354.5263157894737 -333.21431050359314 L 354.5263157894737 -325.21431050359314 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 397.0526315789474 -341.7577542606209 L 397.0526315789474 -349.7577542606209 L 405.0526315789474 -349.7577542606209 L 405.0526315789474 -341.7577542606209 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 447.57894736842104 -360.00051826178697 L 447.57894736842104 -368.00051826178697 L 455.57894736842104 -368.00051826178697 L 455.57894736842104 -360.00051826178697 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 498.10526315789474 -375.0167370793172 L 498.10526315789474 -383.0167370793172 L 506.10526315789474 -383.0167370793172 L 506.10526315789474 -375.0167370793172 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 548.6315789473684 -395.2059951783144 L 548.6315789473684 -403.2059951783144 L 556.6315789473684 -403.2059951783144 L 556.6315789473684 -395.2059951783144 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 599.1578947368421 -412.2953999639068 L 599.1578947368421 -420.2953999639068 L 607.1578947368421 -420.2953999639068 L 607.1578947368421 -412.2953999639068 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 649.6842105263158 -432.959561698603 L 649.6842105263158 -440.959561698603 L 657.6842105263158 -440.959561698603 L 657.6842105263158 -432.959561698603 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 700.2105263157895 -449.03146126687244 L 700.2105263157895 -457.03146126687244 L 708.2105263157895 -457.03146126687244 L 708.2105263157895 -449.03146126687244 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 750.7368421052631 -466.4705539385583 L 750.7368421052631 -474.4705539385583 L 758.7368421052631 -474.4705539385583 L 758.7368421052631 -466.4705539385583 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 300.0 -295.2101787077698 L 293.75 -305.2101787077698 L 306.25 -305.2101787077698 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 350.5263157894737 -295.2983193973356 L 344.2763157894737 -305.2983193973356 L 356.7763157894737 -305.2983193973356 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 401.0526315789474 -295.4648492182113 L 394.8026315789474 -305.4648492182113 L 407.3026315789474 -305.4648492182113 Z"/>
+    </clipPath>
+    <clipPath id="clip30">
+      <path d="M 451.57894736842104 -295.6057286436811 L 445.32894736842104 -305.6057286436811 L 457.82894736842104 -305.6057286436811 Z"/>
+    </clipPath>
+    <clipPath id="clip31">
+      <path d="M 502.10526315789474 -295.6544355342492 L 495.85526315789474 -305.6544355342492 L 508.35526315789474 -305.6544355342492 Z"/>
+    </clipPath>
+    <clipPath id="clip32">
+      <path d="M 552.6315789473684 -295.9897337892803 L 546.3815789473684 -305.9897337892803 L 558.8815789473684 -305.9897337892803 Z"/>
+    </clipPath>
+    <clipPath id="clip33">
+      <path d="M 603.1578947368421 -296.0140592391732 L 596.9078947368421 -306.0140592391732 L 609.4078947368421 -306.0140592391732 Z"/>
+    </clipPath>
+    <clipPath id="clip34">
+      <path d="M 653.6842105263158 -296.2725177805439 L 647.4342105263158 -306.2725177805439 L 659.9342105263158 -306.2725177805439 Z"/>
+    </clipPath>
+    <clipPath id="clip35">
+      <path d="M 704.2105263157895 -296.31964674906413 L 697.9605263157895 -306.31964674906413 L 710.4605263157895 -306.31964674906413 Z"/>
+    </clipPath>
+    <clipPath id="clip36">
+      <path d="M 754.7368421052631 -296.3573539959372 L 748.4868421052631 -306.3573539959372 L 760.9868421052631 -306.3573539959372 Z"/>
+    </clipPath>
+    <clipPath id="clip37">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip38">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip39">
+      <path d="M 292.85714285714283 -300.09022965475435 L 300.0 -307.2330867976115 L 307.14285714285717 -300.09022965475435 L 300.0 -292.94737251189724 Z"/>
+    </clipPath>
+    <clipPath id="clip40">
+      <path d="M 343.38345864661653 -300.08498484547005 L 350.5263157894737 -307.2278419883272 L 357.6691729323308 -300.08498484547005 L 350.5263157894737 -292.94212770261294 Z"/>
+    </clipPath>
+    <clipPath id="clip41">
+      <path d="M 393.90977443609023 -300.0944676479707 L 401.0526315789474 -307.2373247908278 L 408.1954887218045 -300.0944676479707 L 401.0526315789474 -292.95161050511354 Z"/>
+    </clipPath>
+    <clipPath id="clip42">
+      <path d="M 444.43609022556393 -300.0846611169467 L 451.57894736842104 -307.22751825980384 L 458.72180451127815 -300.0846611169467 L 451.57894736842104 -292.94180397408957 Z"/>
+    </clipPath>
+    <clipPath id="clip43">
+      <path d="M 494.9624060150376 -300.11839403628755 L 502.10526315789474 -307.2612511791447 L 509.2481203007519 -300.11839403628755 L 502.10526315789474 -292.97553689343044 Z"/>
+    </clipPath>
+    <clipPath id="clip44">
+      <path d="M 545.4887218045112 -300.0971048138191 L 552.6315789473684 -307.2399619566762 L 559.7744360902255 -300.0971048138191 L 552.6315789473684 -292.95424767096193 Z"/>
+    </clipPath>
+    <clipPath id="clip45">
+      <path d="M 596.015037593985 -300.1169621992809 L 603.1578947368421 -307.25981934213803 L 610.3007518796992 -300.1169621992809 L 603.1578947368421 -292.97410505642375 Z"/>
+    </clipPath>
+    <clipPath id="clip46">
+      <path d="M 646.5413533834586 -300.08552999208723 L 653.6842105263158 -307.2283871349444 L 660.827067669173 -300.08552999208723 L 653.6842105263158 -292.9426728492301 Z"/>
+    </clipPath>
+    <clipPath id="clip47">
+      <path d="M 697.0676691729323 -300.0980892335741 L 704.2105263157895 -307.2409463764312 L 711.3533834586467 -300.0980892335741 L 704.2105263157895 -292.95523209071695 Z"/>
+    </clipPath>
+    <clipPath id="clip48">
+      <path d="M 747.593984962406 -300.11912904255763 L 754.7368421052631 -307.26198618541474 L 761.8796992481203 -300.11912904255763 L 754.7368421052631 -292.97627189970046 Z"/>
+    </clipPath>
+    <clipPath id="clip49">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip50">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip51">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip52">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip53">
+      <path d="M 293.75 -295.0432247312674 L 306.25 -295.0432247312674 L 300.0 -305.0432247312674 Z"/>
+    </clipPath>
+    <clipPath id="clip54">
+      <path d="M 344.2763157894737 -295.04684372093453 L 356.7763157894737 -295.04684372093453 L 350.5263157894737 -305.04684372093453 Z"/>
+    </clipPath>
+    <clipPath id="clip55">
+      <path d="M 394.8026315789474 -295.04227115734335 L 407.3026315789474 -295.04227115734335 L 401.0526315789474 -305.04227115734335 Z"/>
+    </clipPath>
+    <clipPath id="clip56">
+      <path d="M 445.32894736842104 -295.0469433336264 L 457.82894736842104 -295.0469433336264 L 451.57894736842104 -305.0469433336264 Z"/>
+    </clipPath>
+    <clipPath id="clip57">
+      <path d="M 495.85526315789474 -295.04604732840676 L 508.35526315789474 -295.04604732840676 L 502.10526315789474 -305.04604732840676 Z"/>
+    </clipPath>
+    <clipPath id="clip58">
+      <path d="M 546.3815789473684 -295.0471711143091 L 558.8815789473684 -295.0471711143091 L 552.6315789473684 -305.0471711143091 Z"/>
+    </clipPath>
+    <clipPath id="clip59">
+      <path d="M 596.9078947368421 -295.04698924606794 L 609.4078947368421 -295.04698924606794 L 603.1578947368421 -305.04698924606794 Z"/>
+    </clipPath>
+    <clipPath id="clip60">
+      <path d="M 647.4342105263158 -295.0460478883146 L 659.9342105263158 -295.0460478883146 L 653.6842105263158 -305.0460478883146 Z"/>
+    </clipPath>
+    <clipPath id="clip61">
+      <path d="M 697.9605263157895 -295.0461336051123 L 710.4605263157895 -295.0461336051123 L 704.2105263157895 -305.0461336051123 Z"/>
+    </clipPath>
+    <clipPath id="clip62">
+      <path d="M 748.4868421052631 -295.04574742141625 L 760.9868421052631 -295.04574742141625 L 754.7368421052631 -305.04574742141625 Z"/>
+    </clipPath>
+    <clipPath id="clip63">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip64">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip65">
+      <path d="M 300.0 -300.0300271439611 M 304.0 -300.0300271439611 L 304 -300.03 M 304 -300.03 A 4 4 0 1 0 296 -300.03 A 4 4 0 1 0 304 -300.03 Z"/>
+    </clipPath>
+    <clipPath id="clip66">
+      <path d="M 350.5263157894737 -300.0296542453507 M 354.5263157894737 -300.0296542453507 L 354.526 -300.03 M 354.526 -300.03 A 4 4 0 1 0 346.526 -300.03 A 4 4 0 1 0 354.526 -300.03 Z"/>
+    </clipPath>
+    <clipPath id="clip67">
+      <path d="M 401.0526315789474 -300.0288699671922 M 405.0526315789474 -300.0288699671922 L 405.053 -300.029 M 405.053 -300.029 A 4 4 0 1 0 397.053 -300.029 A 4 4 0 1 0 405.053 -300.029 Z"/>
+    </clipPath>
+    <clipPath id="clip68">
+      <path d="M 451.57894736842104 -300.02906450971045 M 455.57894736842104 -300.02906450971045 L 455.579 -300.029 M 455.579 -300.029 A 4 4 0 1 0 447.579 -300.029 A 4 4 0 1 0 455.579 -300.029 Z"/>
+    </clipPath>
+    <clipPath id="clip69">
+      <path d="M 502.10526315789474 -300.03071415086043 M 506.10526315789474 -300.03071415086043 L 506.105 -300.031 M 506.105 -300.031 A 4 4 0 1 0 498.105 -300.031 A 4 4 0 1 0 506.105 -300.031 Z"/>
+    </clipPath>
+    <clipPath id="clip70">
+      <path d="M 552.6315789473684 -300.0295295895089 M 556.6315789473684 -300.0295295895089 L 556.632 -300.03 M 556.632 -300.03 A 4 4 0 1 0 548.632 -300.03 A 4 4 0 1 0 556.632 -300.03 Z"/>
+    </clipPath>
+    <clipPath id="clip71">
+      <path d="M 603.1578947368421 -300.02903157695033 M 607.1578947368421 -300.02903157695033 L 607.158 -300.029 M 607.158 -300.029 A 4 4 0 1 0 599.158 -300.029 A 4 4 0 1 0 607.158 -300.029 Z"/>
+    </clipPath>
+    <clipPath id="clip72">
+      <path d="M 653.6842105263158 -300.02846795337496 M 657.6842105263158 -300.02846795337496 L 657.684 -300.028 M 657.684 -300.028 A 4 4 0 1 0 649.684 -300.028 A 4 4 0 1 0 657.684 -300.028 Z"/>
+    </clipPath>
+    <clipPath id="clip73">
+      <path d="M 704.2105263157895 -300.02902373824077 M 708.2105263157895 -300.02902373824077 L 708.211 -300.029 M 708.211 -300.029 A 4 4 0 1 0 700.211 -300.029 A 4 4 0 1 0 708.211 -300.029 Z"/>
+    </clipPath>
+    <clipPath id="clip74">
+      <path d="M 754.7368421052631 -300.02928440078296 M 758.7368421052631 -300.02928440078296 L 758.737 -300.029 M 758.737 -300.029 A 4 4 0 1 0 750.737 -300.029 A 4 4 0 1 0 758.737 -300.029 Z"/>
+    </clipPath>
+    <clipPath id="clip75">
+      <path d="M 290 -54 L 290 -182 L 324 -182 L 324 -54 Z"/>
+    </clipPath>
+    <clipPath id="clip76">
+      <path d="M 307.0 -172.66666666666669 M 311.0 -172.66666666666669 L 311 -172.667 M 311 -172.667 A 4 4 0 1 0 303 -172.667 A 4 4 0 1 0 311 -172.667 Z"/>
+    </clipPath>
+    <clipPath id="clip77">
+      <path d="M 303.0 -150.66666666666666 L 303.0 -158.66666666666666 L 311.0 -158.66666666666666 L 311.0 -150.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip78">
+      <path d="M 307.0 -131.66666666666666 L 300.75 -141.66666666666666 L 313.25 -141.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip79">
+      <path d="M 299.85714285714283 -118.66666666666666 L 307.0 -125.8095238095238 L 314.14285714285717 -118.66666666666666 L 307.0 -111.52380952380952 Z"/>
+    </clipPath>
+    <clipPath id="clip80">
+      <path d="M 300.75 -77.66666666666666 L 313.25 -77.66666666666666 L 307.0 -87.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip81">
+      <path d="M 307.0 -64.66666666666666 M 311.0 -64.66666666666666 L 311 -64.6667 M 311 -64.6667 A 4 4 0 1 0 303 -64.6667 A 4 4 0 1 0 311 -64.6667 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      100
+    </text>
+    <path d="M 401.0526315789474 -300 L 401.0526315789474 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,401.053,-279.001)" x="401.0526315789474" y="-279.00097346438844">
+      300
+    </text>
+    <path d="M 502.10526315789474 -300 L 502.10526315789474 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,502.105,-279.001)" x="502.10526315789474" y="-279.00097346438844">
+      500
+    </text>
+    <path d="M 603.1578947368421 -300 L 603.1578947368421 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,603.158,-279.001)" x="603.1578947368421" y="-279.00097346438844">
+      700
+    </text>
+    <path d="M 704.2105263157895 -300 L 704.2105263157895 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,704.211,-279.001)" x="704.2105263157895" y="-279.00097346438844">
+      900
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      8.64e-05
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      1.73e-04
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      2.59e-04
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      3.46e-04
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      4.32e-04
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 300.0 -315.77881327305454 L 350.5263157894737 -335.77699010212535 L 401.0526315789474 -357.061224300925 L 451.57894736842104 -378.83553054736774 L 502.10526315789474 -401.7418686113823 L 552.6315789473684 -424.929178601341 L 603.1578947368421 -450.2171609434215 L 653.6842105263158 -471.5170725612775 L 704.2105263157895 -495.8130000416461 L 754.7368421052631 -520.0" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 292.0 -307.77881327305454 L 292.0 -323.77881327305454 L 308.0 -323.77881327305454 L 308.0 -307.77881327305454 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 300.0 -315.77881327305454 M 304.0 -315.77881327305454 L 304 -315.779 M 304 -315.779 A 4 4 0 1 0 296 -315.779 A 4 4 0 1 0 304 -315.779 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 342.5263157894737 -327.77699010212535 L 342.5263157894737 -343.77699010212535 L 358.5263157894737 -343.77699010212535 L 358.5263157894737 -327.77699010212535 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 350.5263157894737 -335.77699010212535 M 354.5263157894737 -335.77699010212535 L 354.526 -335.777 M 354.526 -335.777 A 4 4 0 1 0 346.526 -335.777 A 4 4 0 1 0 354.526 -335.777 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 393.0526315789474 -349.061224300925 L 393.0526315789474 -365.061224300925 L 409.0526315789474 -365.061224300925 L 409.0526315789474 -349.061224300925 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 401.0526315789474 -357.061224300925 M 405.0526315789474 -357.061224300925 L 405.053 -357.061 M 405.053 -357.061 A 4 4 0 1 0 397.053 -357.061 A 4 4 0 1 0 405.053 -357.061 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 443.57894736842104 -370.83553054736774 L 443.57894736842104 -386.83553054736774 L 459.57894736842104 -386.83553054736774 L 459.57894736842104 -370.83553054736774 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 451.57894736842104 -378.83553054736774 M 455.57894736842104 -378.83553054736774 L 455.579 -378.836 M 455.579 -378.836 A 4 4 0 1 0 447.579 -378.836 A 4 4 0 1 0 455.579 -378.836 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 494.10526315789474 -393.7418686113823 L 494.10526315789474 -409.7418686113823 L 510.10526315789474 -409.7418686113823 L 510.10526315789474 -393.7418686113823 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 502.10526315789474 -401.7418686113823 M 506.10526315789474 -401.7418686113823 L 506.105 -401.742 M 506.105 -401.742 A 4 4 0 1 0 498.105 -401.742 A 4 4 0 1 0 506.105 -401.742 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 544.6315789473684 -416.929178601341 L 544.6315789473684 -432.929178601341 L 560.6315789473684 -432.929178601341 L 560.6315789473684 -416.929178601341 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 552.6315789473684 -424.929178601341 M 556.6315789473684 -424.929178601341 L 556.632 -424.929 M 556.632 -424.929 A 4 4 0 1 0 548.632 -424.929 A 4 4 0 1 0 556.632 -424.929 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 595.1578947368421 -442.2171609434215 L 595.1578947368421 -458.2171609434215 L 611.1578947368421 -458.2171609434215 L 611.1578947368421 -442.2171609434215 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 603.1578947368421 -450.2171609434215 M 607.1578947368421 -450.2171609434215 L 607.158 -450.217 M 607.158 -450.217 A 4 4 0 1 0 599.158 -450.217 A 4 4 0 1 0 607.158 -450.217 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 645.6842105263158 -463.5170725612775 L 645.6842105263158 -479.5170725612775 L 661.6842105263158 -479.5170725612775 L 661.6842105263158 -463.5170725612775 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 653.6842105263158 -471.5170725612775 M 657.6842105263158 -471.5170725612775 L 657.684 -471.517 M 657.684 -471.517 A 4 4 0 1 0 649.684 -471.517 A 4 4 0 1 0 657.684 -471.517 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 696.2105263157895 -487.8130000416461 L 696.2105263157895 -503.8130000416461 L 712.2105263157895 -503.8130000416461 L 712.2105263157895 -487.8130000416461 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 704.2105263157895 -495.8130000416461 M 708.2105263157895 -495.8130000416461 L 708.211 -495.813 M 708.211 -495.813 A 4 4 0 1 0 700.211 -495.813 A 4 4 0 1 0 708.211 -495.813 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 746.7368421052631 -512.0 L 746.7368421052631 -528.0 L 762.7368421052631 -528.0 L 762.7368421052631 -512.0 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 754.7368421052631 -520.0 M 758.7368421052631 -520.0 L 758.737 -520 M 758.737 -520 A 4 4 0 1 0 750.737 -520 A 4 4 0 1 0 758.737 -520 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 300.0 -313.5929331303475 L 350.5263157894737 -329.21431050359314 L 401.0526315789474 -345.7577542606209 L 451.57894736842104 -364.00051826178697 L 502.10526315789474 -379.0167370793172 L 552.6315789473684 -399.2059951783144 L 603.1578947368421 -416.2953999639068 L 653.6842105263158 -436.959561698603 L 704.2105263157895 -453.03146126687244 L 754.7368421052631 -470.4705539385583" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 296.0 -309.5929331303475 L 296.0 -317.5929331303475 L 304.0 -317.5929331303475 L 304.0 -309.5929331303475 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 296.0 -309.5929331303475 L 296.0 -317.5929331303475 L 304.0 -317.5929331303475 L 304.0 -309.5929331303475 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 346.5263157894737 -325.21431050359314 L 346.5263157894737 -333.21431050359314 L 354.5263157894737 -333.21431050359314 L 354.5263157894737 -325.21431050359314 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 346.5263157894737 -325.21431050359314 L 346.5263157894737 -333.21431050359314 L 354.5263157894737 -333.21431050359314 L 354.5263157894737 -325.21431050359314 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 397.0526315789474 -341.7577542606209 L 397.0526315789474 -349.7577542606209 L 405.0526315789474 -349.7577542606209 L 405.0526315789474 -341.7577542606209 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 397.0526315789474 -341.7577542606209 L 397.0526315789474 -349.7577542606209 L 405.0526315789474 -349.7577542606209 L 405.0526315789474 -341.7577542606209 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 447.57894736842104 -360.00051826178697 L 447.57894736842104 -368.00051826178697 L 455.57894736842104 -368.00051826178697 L 455.57894736842104 -360.00051826178697 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 447.57894736842104 -360.00051826178697 L 447.57894736842104 -368.00051826178697 L 455.57894736842104 -368.00051826178697 L 455.57894736842104 -360.00051826178697 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 498.10526315789474 -375.0167370793172 L 498.10526315789474 -383.0167370793172 L 506.10526315789474 -383.0167370793172 L 506.10526315789474 -375.0167370793172 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 498.10526315789474 -375.0167370793172 L 498.10526315789474 -383.0167370793172 L 506.10526315789474 -383.0167370793172 L 506.10526315789474 -375.0167370793172 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 548.6315789473684 -395.2059951783144 L 548.6315789473684 -403.2059951783144 L 556.6315789473684 -403.2059951783144 L 556.6315789473684 -395.2059951783144 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 548.6315789473684 -395.2059951783144 L 548.6315789473684 -403.2059951783144 L 556.6315789473684 -403.2059951783144 L 556.6315789473684 -395.2059951783144 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 599.1578947368421 -412.2953999639068 L 599.1578947368421 -420.2953999639068 L 607.1578947368421 -420.2953999639068 L 607.1578947368421 -412.2953999639068 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 599.1578947368421 -412.2953999639068 L 599.1578947368421 -420.2953999639068 L 607.1578947368421 -420.2953999639068 L 607.1578947368421 -412.2953999639068 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 649.6842105263158 -432.959561698603 L 649.6842105263158 -440.959561698603 L 657.6842105263158 -440.959561698603 L 657.6842105263158 -432.959561698603 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 649.6842105263158 -432.959561698603 L 649.6842105263158 -440.959561698603 L 657.6842105263158 -440.959561698603 L 657.6842105263158 -432.959561698603 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 700.2105263157895 -449.03146126687244 L 700.2105263157895 -457.03146126687244 L 708.2105263157895 -457.03146126687244 L 708.2105263157895 -449.03146126687244 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 700.2105263157895 -449.03146126687244 L 700.2105263157895 -457.03146126687244 L 708.2105263157895 -457.03146126687244 L 708.2105263157895 -449.03146126687244 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 750.7368421052631 -466.4705539385583 L 750.7368421052631 -474.4705539385583 L 758.7368421052631 -474.4705539385583 L 758.7368421052631 -466.4705539385583 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 750.7368421052631 -466.4705539385583 L 750.7368421052631 -474.4705539385583 L 758.7368421052631 -474.4705539385583 L 758.7368421052631 -466.4705539385583 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 300.0 -300.2101787077698 L 350.5263157894737 -300.2983193973356 L 401.0526315789474 -300.4648492182113 L 451.57894736842104 -300.6057286436811 L 502.10526315789474 -300.6544355342492 L 552.6315789473684 -300.9897337892803 L 603.1578947368421 -301.0140592391732 L 653.6842105263158 -301.2725177805439 L 704.2105263157895 -301.31964674906413 L 754.7368421052631 -301.3573539959372" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip27);">
+          <path d="M 293.75 -295.2101787077698 L 293.75 -305.2101787077698 L 306.25 -305.2101787077698 L 306.25 -295.2101787077698 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 300.0 -295.2101787077698 L 293.75 -305.2101787077698 L 306.25 -305.2101787077698 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip28);">
+            <path d="M 344.2763157894737 -295.2983193973356 L 344.2763157894737 -305.2983193973356 L 356.7763157894737 -305.2983193973356 L 356.7763157894737 -295.2983193973356 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 350.5263157894737 -295.2983193973356 L 344.2763157894737 -305.2983193973356 L 356.7763157894737 -305.2983193973356 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+              <path d="M 394.8026315789474 -295.4648492182113 L 394.8026315789474 -305.4648492182113 L 407.3026315789474 -305.4648492182113 L 407.3026315789474 -295.4648492182113 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 401.0526315789474 -295.4648492182113 L 394.8026315789474 -305.4648492182113 L 407.3026315789474 -305.4648492182113 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip30);">
+                <path d="M 445.32894736842104 -295.6057286436811 L 445.32894736842104 -305.6057286436811 L 457.82894736842104 -305.6057286436811 L 457.82894736842104 -295.6057286436811 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 451.57894736842104 -295.6057286436811 L 445.32894736842104 -305.6057286436811 L 457.82894736842104 -305.6057286436811 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip31);">
+                  <path d="M 495.85526315789474 -295.6544355342492 L 495.85526315789474 -305.6544355342492 L 508.35526315789474 -305.6544355342492 L 508.35526315789474 -295.6544355342492 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 502.10526315789474 -295.6544355342492 L 495.85526315789474 -305.6544355342492 L 508.35526315789474 -305.6544355342492 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip32);">
+                    <path d="M 546.3815789473684 -295.9897337892803 L 546.3815789473684 -305.9897337892803 L 558.8815789473684 -305.9897337892803 L 558.8815789473684 -295.9897337892803 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 552.6315789473684 -295.9897337892803 L 546.3815789473684 -305.9897337892803 L 558.8815789473684 -305.9897337892803 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip33);">
+                      <path d="M 596.9078947368421 -296.0140592391732 L 596.9078947368421 -306.0140592391732 L 609.4078947368421 -306.0140592391732 L 609.4078947368421 -296.0140592391732 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 603.1578947368421 -296.0140592391732 L 596.9078947368421 -306.0140592391732 L 609.4078947368421 -306.0140592391732 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip34);">
+                        <path d="M 647.4342105263158 -296.2725177805439 L 647.4342105263158 -306.2725177805439 L 659.9342105263158 -306.2725177805439 L 659.9342105263158 -296.2725177805439 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 653.6842105263158 -296.2725177805439 L 647.4342105263158 -306.2725177805439 L 659.9342105263158 -306.2725177805439 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip35);">
+                          <path d="M 697.9605263157895 -296.31964674906413 L 697.9605263157895 -306.31964674906413 L 710.4605263157895 -306.31964674906413 L 710.4605263157895 -296.31964674906413 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 704.2105263157895 -296.31964674906413 L 697.9605263157895 -306.31964674906413 L 710.4605263157895 -306.31964674906413 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip36);">
+                            <path d="M 748.4868421052631 -296.3573539959372 L 748.4868421052631 -306.3573539959372 L 760.9868421052631 -306.3573539959372 L 760.9868421052631 -296.3573539959372 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 754.7368421052631 -296.3573539959372 L 748.4868421052631 -306.3573539959372 L 760.9868421052631 -306.3573539959372 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip37);">
+        <path d="M 300.0 -300.09022965475435 L 350.5263157894737 -300.08498484547005 L 401.0526315789474 -300.0944676479707 L 451.57894736842104 -300.0846611169467 L 502.10526315789474 -300.11839403628755 L 552.6315789473684 -300.0971048138191 L 603.1578947368421 -300.1169621992809 L 653.6842105263158 -300.08552999208723 L 704.2105263157895 -300.0980892335741 L 754.7368421052631 -300.11912904255763" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip38);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip39);">
+          <path d="M 292.85714285714283 -292.94737251189724 L 292.85714285714283 -307.2330867976115 L 307.14285714285717 -307.2330867976115 L 307.14285714285717 -292.94737251189724 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 292.85714285714283 -300.09022965475435 L 300.0 -307.2330867976115 L 307.14285714285717 -300.09022965475435 L 300.0 -292.94737251189724 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip40);">
+            <path d="M 343.38345864661653 -292.94212770261294 L 343.38345864661653 -307.2278419883272 L 357.6691729323308 -307.2278419883272 L 357.6691729323308 -292.94212770261294 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 343.38345864661653 -300.08498484547005 L 350.5263157894737 -307.2278419883272 L 357.6691729323308 -300.08498484547005 L 350.5263157894737 -292.94212770261294 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip41);">
+              <path d="M 393.90977443609023 -292.95161050511354 L 393.90977443609023 -307.2373247908278 L 408.1954887218045 -307.2373247908278 L 408.1954887218045 -292.95161050511354 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 393.90977443609023 -300.0944676479707 L 401.0526315789474 -307.2373247908278 L 408.1954887218045 -300.0944676479707 L 401.0526315789474 -292.95161050511354 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip42);">
+                <path d="M 444.43609022556393 -292.94180397408957 L 444.43609022556393 -307.22751825980384 L 458.72180451127815 -307.22751825980384 L 458.72180451127815 -292.94180397408957 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 444.43609022556393 -300.0846611169467 L 451.57894736842104 -307.22751825980384 L 458.72180451127815 -300.0846611169467 L 451.57894736842104 -292.94180397408957 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip43);">
+                  <path d="M 494.9624060150376 -292.97553689343044 L 494.9624060150376 -307.2612511791447 L 509.2481203007519 -307.2612511791447 L 509.2481203007519 -292.97553689343044 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 494.9624060150376 -300.11839403628755 L 502.10526315789474 -307.2612511791447 L 509.2481203007519 -300.11839403628755 L 502.10526315789474 -292.97553689343044 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip44);">
+                    <path d="M 545.4887218045112 -292.95424767096193 L 545.4887218045112 -307.2399619566762 L 559.7744360902255 -307.2399619566762 L 559.7744360902255 -292.95424767096193 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 545.4887218045112 -300.0971048138191 L 552.6315789473684 -307.2399619566762 L 559.7744360902255 -300.0971048138191 L 552.6315789473684 -292.95424767096193 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip45);">
+                      <path d="M 596.015037593985 -292.97410505642375 L 596.015037593985 -307.25981934213803 L 610.3007518796992 -307.25981934213803 L 610.3007518796992 -292.97410505642375 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 596.015037593985 -300.1169621992809 L 603.1578947368421 -307.25981934213803 L 610.3007518796992 -300.1169621992809 L 603.1578947368421 -292.97410505642375 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip46);">
+                        <path d="M 646.5413533834586 -292.9426728492301 L 646.5413533834586 -307.2283871349444 L 660.827067669173 -307.2283871349444 L 660.827067669173 -292.9426728492301 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 646.5413533834586 -300.08552999208723 L 653.6842105263158 -307.2283871349444 L 660.827067669173 -300.08552999208723 L 653.6842105263158 -292.9426728492301 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip47);">
+                          <path d="M 697.0676691729323 -292.95523209071695 L 697.0676691729323 -307.2409463764312 L 711.3533834586467 -307.2409463764312 L 711.3533834586467 -292.95523209071695 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 697.0676691729323 -300.0980892335741 L 704.2105263157895 -307.2409463764312 L 711.3533834586467 -300.0980892335741 L 704.2105263157895 -292.95523209071695 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip48);">
+                            <path d="M 747.593984962406 -292.97627189970046 L 747.593984962406 -307.26198618541474 L 761.8796992481203 -307.26198618541474 L 761.8796992481203 -292.97627189970046 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 747.593984962406 -300.11912904255763 L 754.7368421052631 -307.26198618541474 L 761.8796992481203 -300.11912904255763 L 754.7368421052631 -292.97627189970046 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip49);">
+        <path d="M 300.0 -300.0572388677831 L 350.5263157894737 -300.05486842166147 L 401.0526315789474 -300.0548862369104 L 451.57894736842104 -300.05547566714637 L 502.10526315789474 -300.06506179809077 L 552.6315789473684 -300.06325584085664 L 603.1578947368421 -300.06544508044624 L 653.6842105263158 -300.0597426737681 L 704.2105263157895 -300.0611729837534 L 754.7368421052631 -300.0593263059503" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip50);">
+        <path d="M 292.85714285714283 -300.0572388677831 L 307.14285714285717 -300.0572388677831" style="stroke-width:1;"/>
+        <path d="M 300.0 -292.91438172492593 L 300.0 -307.2000960106402" style="stroke-width:1;"/>
+        <path d="M 343.38345864661653 -300.05486842166147 L 357.6691729323308 -300.05486842166147" style="stroke-width:1;"/>
+        <path d="M 350.5263157894737 -292.91201127880436 L 350.5263157894737 -307.19772556451863" style="stroke-width:1;"/>
+        <path d="M 393.90977443609023 -300.0548862369104 L 408.1954887218045 -300.0548862369104" style="stroke-width:1;"/>
+        <path d="M 401.0526315789474 -292.91202909405325 L 401.0526315789474 -307.1977433797676" style="stroke-width:1;"/>
+        <path d="M 444.43609022556393 -300.05547566714637 L 458.72180451127815 -300.05547566714637" style="stroke-width:1;"/>
+        <path d="M 451.57894736842104 -292.9126185242892 L 451.57894736842104 -307.19833281000354" style="stroke-width:1;"/>
+        <path d="M 494.9624060150376 -300.06506179809077 L 509.2481203007519 -300.06506179809077" style="stroke-width:1;"/>
+        <path d="M 502.10526315789474 -292.9222046552336 L 502.10526315789474 -307.2079189409479" style="stroke-width:1;"/>
+        <path d="M 545.4887218045112 -300.06325584085664 L 559.7744360902255 -300.06325584085664" style="stroke-width:1;"/>
+        <path d="M 552.6315789473684 -292.9203986979995 L 552.6315789473684 -307.20611298371375" style="stroke-width:1;"/>
+        <path d="M 596.015037593985 -300.06544508044624 L 610.3007518796992 -300.06544508044624" style="stroke-width:1;"/>
+        <path d="M 603.1578947368421 -292.9225879375891 L 603.1578947368421 -307.2083022233034" style="stroke-width:1;"/>
+        <path d="M 646.5413533834586 -300.0597426737681 L 660.827067669173 -300.0597426737681" style="stroke-width:1;"/>
+        <path d="M 653.6842105263158 -292.9168855309109 L 653.6842105263158 -307.20259981662525" style="stroke-width:1;"/>
+        <path d="M 697.0676691729323 -300.0611729837534 L 711.3533834586467 -300.0611729837534" style="stroke-width:1;"/>
+        <path d="M 704.2105263157895 -292.9183158408963 L 704.2105263157895 -307.2040301266106" style="stroke-width:1;"/>
+        <path d="M 747.593984962406 -300.0593263059503 L 761.8796992481203 -300.0593263059503" style="stroke-width:1;"/>
+        <path d="M 754.7368421052631 -292.91646916309315 L 754.7368421052631 -307.20218344880743" style="stroke-width:1;"/>
+      </g>
+      <g style="clip-path:url(#clip51);">
+        <path d="M 300.0 -300.0432247312674 L 350.5263157894737 -300.04684372093453 L 401.0526315789474 -300.04227115734335 L 451.57894736842104 -300.0469433336264 L 502.10526315789474 -300.04604732840676 L 552.6315789473684 -300.0471711143091 L 603.1578947368421 -300.04698924606794 L 653.6842105263158 -300.0460478883146 L 704.2105263157895 -300.0461336051123 L 754.7368421052631 -300.04574742141625" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip52);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip53);">
+          <path d="M 293.75 -295.0432247312674 L 293.75 -305.0432247312674 L 306.25 -305.0432247312674 L 306.25 -295.0432247312674 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 293.75 -295.0432247312674 L 306.25 -295.0432247312674 L 300.0 -305.0432247312674 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip54);">
+            <path d="M 344.2763157894737 -295.04684372093453 L 344.2763157894737 -305.04684372093453 L 356.7763157894737 -305.04684372093453 L 356.7763157894737 -295.04684372093453 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 344.2763157894737 -295.04684372093453 L 356.7763157894737 -295.04684372093453 L 350.5263157894737 -305.04684372093453 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip55);">
+              <path d="M 394.8026315789474 -295.04227115734335 L 394.8026315789474 -305.04227115734335 L 407.3026315789474 -305.04227115734335 L 407.3026315789474 -295.04227115734335 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 394.8026315789474 -295.04227115734335 L 407.3026315789474 -295.04227115734335 L 401.0526315789474 -305.04227115734335 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip56);">
+                <path d="M 445.32894736842104 -295.0469433336264 L 445.32894736842104 -305.0469433336264 L 457.82894736842104 -305.0469433336264 L 457.82894736842104 -295.0469433336264 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 445.32894736842104 -295.0469433336264 L 457.82894736842104 -295.0469433336264 L 451.57894736842104 -305.0469433336264 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip57);">
+                  <path d="M 495.85526315789474 -295.04604732840676 L 495.85526315789474 -305.04604732840676 L 508.35526315789474 -305.04604732840676 L 508.35526315789474 -295.04604732840676 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 495.85526315789474 -295.04604732840676 L 508.35526315789474 -295.04604732840676 L 502.10526315789474 -305.04604732840676 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip58);">
+                    <path d="M 546.3815789473684 -295.0471711143091 L 546.3815789473684 -305.0471711143091 L 558.8815789473684 -305.0471711143091 L 558.8815789473684 -295.0471711143091 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 546.3815789473684 -295.0471711143091 L 558.8815789473684 -295.0471711143091 L 552.6315789473684 -305.0471711143091 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip59);">
+                      <path d="M 596.9078947368421 -295.04698924606794 L 596.9078947368421 -305.04698924606794 L 609.4078947368421 -305.04698924606794 L 609.4078947368421 -295.04698924606794 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 596.9078947368421 -295.04698924606794 L 609.4078947368421 -295.04698924606794 L 603.1578947368421 -305.04698924606794 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip60);">
+                        <path d="M 647.4342105263158 -295.0460478883146 L 647.4342105263158 -305.0460478883146 L 659.9342105263158 -305.0460478883146 L 659.9342105263158 -295.0460478883146 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 647.4342105263158 -295.0460478883146 L 659.9342105263158 -295.0460478883146 L 653.6842105263158 -305.0460478883146 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip61);">
+                          <path d="M 697.9605263157895 -295.0461336051123 L 697.9605263157895 -305.0461336051123 L 710.4605263157895 -305.0461336051123 L 710.4605263157895 -295.0461336051123 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 697.9605263157895 -295.0461336051123 L 710.4605263157895 -295.0461336051123 L 704.2105263157895 -305.0461336051123 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip62);">
+                            <path d="M 748.4868421052631 -295.04574742141625 L 748.4868421052631 -305.04574742141625 L 760.9868421052631 -305.04574742141625 L 760.9868421052631 -295.04574742141625 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 748.4868421052631 -295.04574742141625 L 760.9868421052631 -295.04574742141625 L 754.7368421052631 -305.04574742141625 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip63);">
+        <path d="M 300.0 -300.0300271439611 L 350.5263157894737 -300.0296542453507 L 401.0526315789474 -300.0288699671922 L 451.57894736842104 -300.02906450971045 L 502.10526315789474 -300.03071415086043 L 552.6315789473684 -300.0295295895089 L 603.1578947368421 -300.02903157695033 L 653.6842105263158 -300.02846795337496 L 704.2105263157895 -300.02902373824077 L 754.7368421052631 -300.02928440078296" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip64);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip65);">
+          <path d="M 292.0 -292.0300271439611 L 292.0 -308.0300271439611 L 308.0 -308.0300271439611 L 308.0 -292.0300271439611 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 300.0 -300.0300271439611 M 304.0 -300.0300271439611 L 304 -300.03 M 304 -300.03 A 4 4 0 1 0 296 -300.03 A 4 4 0 1 0 304 -300.03 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip66);">
+            <path d="M 342.5263157894737 -292.0296542453507 L 342.5263157894737 -308.0296542453507 L 358.5263157894737 -308.0296542453507 L 358.5263157894737 -292.0296542453507 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 350.5263157894737 -300.0296542453507 M 354.5263157894737 -300.0296542453507 L 354.526 -300.03 M 354.526 -300.03 A 4 4 0 1 0 346.526 -300.03 A 4 4 0 1 0 354.526 -300.03 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip67);">
+              <path d="M 393.0526315789474 -292.0288699671922 L 393.0526315789474 -308.0288699671922 L 409.0526315789474 -308.0288699671922 L 409.0526315789474 -292.0288699671922 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 401.0526315789474 -300.0288699671922 M 405.0526315789474 -300.0288699671922 L 405.053 -300.029 M 405.053 -300.029 A 4 4 0 1 0 397.053 -300.029 A 4 4 0 1 0 405.053 -300.029 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip68);">
+                <path d="M 443.57894736842104 -292.02906450971045 L 443.57894736842104 -308.02906450971045 L 459.57894736842104 -308.02906450971045 L 459.57894736842104 -292.02906450971045 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 451.57894736842104 -300.02906450971045 M 455.57894736842104 -300.02906450971045 L 455.579 -300.029 M 455.579 -300.029 A 4 4 0 1 0 447.579 -300.029 A 4 4 0 1 0 455.579 -300.029 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip69);">
+                  <path d="M 494.10526315789474 -292.03071415086043 L 494.10526315789474 -308.03071415086043 L 510.10526315789474 -308.03071415086043 L 510.10526315789474 -292.03071415086043 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 502.10526315789474 -300.03071415086043 M 506.10526315789474 -300.03071415086043 L 506.105 -300.031 M 506.105 -300.031 A 4 4 0 1 0 498.105 -300.031 A 4 4 0 1 0 506.105 -300.031 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip70);">
+                    <path d="M 544.6315789473684 -292.0295295895089 L 544.6315789473684 -308.0295295895089 L 560.6315789473684 -308.0295295895089 L 560.6315789473684 -292.0295295895089 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 552.6315789473684 -300.0295295895089 M 556.6315789473684 -300.0295295895089 L 556.632 -300.03 M 556.632 -300.03 A 4 4 0 1 0 548.632 -300.03 A 4 4 0 1 0 556.632 -300.03 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip71);">
+                      <path d="M 595.1578947368421 -292.02903157695033 L 595.1578947368421 -308.02903157695033 L 611.1578947368421 -308.02903157695033 L 611.1578947368421 -292.02903157695033 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 603.1578947368421 -300.02903157695033 M 607.1578947368421 -300.02903157695033 L 607.158 -300.029 M 607.158 -300.029 A 4 4 0 1 0 599.158 -300.029 A 4 4 0 1 0 607.158 -300.029 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip72);">
+                        <path d="M 645.6842105263158 -292.02846795337496 L 645.6842105263158 -308.02846795337496 L 661.6842105263158 -308.02846795337496 L 661.6842105263158 -292.02846795337496 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 653.6842105263158 -300.02846795337496 M 657.6842105263158 -300.02846795337496 L 657.684 -300.028 M 657.684 -300.028 A 4 4 0 1 0 649.684 -300.028 A 4 4 0 1 0 657.684 -300.028 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip73);">
+                          <path d="M 696.2105263157895 -292.02902373824077 L 696.2105263157895 -308.02902373824077 L 712.2105263157895 -308.02902373824077 L 712.2105263157895 -292.02902373824077 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 704.2105263157895 -300.02902373824077 M 708.2105263157895 -300.02902373824077 L 708.211 -300.029 M 708.211 -300.029 A 4 4 0 1 0 700.211 -300.029 A 4 4 0 1 0 708.211 -300.029 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip74);">
+                            <path d="M 746.7368421052631 -292.02928440078296 L 746.7368421052631 -308.02928440078296 L 762.7368421052631 -308.02928440078296 L 762.7368421052631 -292.02928440078296 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 754.7368421052631 -300.02928440078296 M 758.7368421052631 -300.02928440078296 L 758.737 -300.029 M 758.737 -300.029 A 4 4 0 1 0 750.737 -300.029 A 4 4 0 1 0 758.737 -300.029 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip75);">
+      <path d="M 290 -54 L 290 -182 L 324 -182 L 324 -54 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -172.66666666666669 L 314 -172.66666666666669" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip76);">
+      <path d="M 299.0 -164.66666666666669 L 299.0 -180.66666666666669 L 315.0 -180.66666666666669 L 315.0 -164.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -172.66666666666669 M 311.0 -172.66666666666669 L 311 -172.667 M 311 -172.667 A 4 4 0 1 0 303 -172.667 A 4 4 0 1 0 311 -172.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-168.0">
+        n_pq_deque
+      </text>
+      <path d="M 300 -154.66666666666666 L 314 -154.66666666666666" style="stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip77);">
+        <path d="M 303.0 -150.66666666666666 L 303.0 -158.66666666666666 L 311.0 -158.66666666666666 L 311.0 -150.66666666666666 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 303.0 -150.66666666666666 L 303.0 -158.66666666666666 L 311.0 -158.66666666666666 L 311.0 -150.66666666666666 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-150.0">
+          n_pq_vector
+        </text>
+        <path d="M 300 -136.66666666666666 L 314 -136.66666666666666" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip78);">
+          <path d="M 300.75 -131.66666666666666 L 300.75 -141.66666666666666 L 313.25 -141.66666666666666 L 313.25 -131.66666666666666 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 307.0 -131.66666666666666 L 300.75 -141.66666666666666 L 313.25 -141.66666666666666 Z"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-132.0">
+            binary_heap
+          </text>
+          <path d="M 300 -118.66666666666666 L 314 -118.66666666666666" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip79);">
+            <path d="M 299.85714285714283 -111.52380952380952 L 299.85714285714283 -125.8095238095238 L 314.14285714285717 -125.8095238095238 L 314.14285714285717 -111.52380952380952 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 299.85714285714283 -118.66666666666666 L 307.0 -125.8095238095238 L 314.14285714285717 -118.66666666666666 L 307.0 -111.52380952380952 Z"/>
+            <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-114.0">
+              rc_binomial_heap
+            </text>
+            <path d="M 300 -100.66666666666666 L 314 -100.66666666666666" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+            <path d="M 299.85714285714283 -100.66666666666666 L 314.14285714285717 -100.66666666666666" style="stroke-width:1;"/>
+            <path d="M 307.0 -93.52380952380952 L 307.0 -107.8095238095238" style="stroke-width:1;"/>
+            <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-96.0">
+              pairing_heap
+            </text>
+            <path d="M 300 -82.66666666666666 L 314 -82.66666666666666" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip80);">
+              <path d="M 300.75 -77.66666666666666 L 300.75 -87.66666666666666 L 313.25 -87.66666666666666 L 313.25 -77.66666666666666 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 300.75 -77.66666666666666 L 313.25 -77.66666666666666 L 307.0 -87.66666666666666 Z"/>
+              <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-78.0">
+                binomial_heap
+              </text>
+              <path d="M 300 -64.66666666666666 L 314 -64.66666666666666" style="stroke-width:2;"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip81);">
+                <path d="M 299.0 -56.66666666666666 L 299.0 -72.66666666666666 L 315.0 -72.66666666666666 L 315.0 -56.66666666666666 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 307.0 -64.66666666666666 M 311.0 -64.66666666666666 L 311 -64.6667 M 311 -64.6667 A 4 4 0 1 0 303 -64.6667 A 4 4 0 1 0 311 -64.6667 Z"/>
+                <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-60.0">
+                  thin_heap
+                </text>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.pdf b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.pdf
new file mode 100644 (file)
index 0000000..226713c
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.png b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.png
new file mode 100644 (file)
index 0000000..eb7843d
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.svg b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.svg
new file mode 100644 (file)
index 0000000..a10ca25
--- /dev/null
@@ -0,0 +1,224 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 396.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 300.0 -400.93916343895347 M 304.0 -400.93916343895347 L 304 -400.939 M 304 -400.939 A 4 4 0 1 0 296 -400.939 A 4 4 0 1 0 304 -400.939 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 350.5263157894737 -399.685628509652 M 354.5263157894737 -399.685628509652 L 354.526 -399.686 M 354.526 -399.686 A 4 4 0 1 0 346.526 -399.686 A 4 4 0 1 0 354.526 -399.686 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 401.0526315789474 -397.0492012381975 M 405.0526315789474 -397.0492012381975 L 405.053 -397.049 M 405.053 -397.049 A 4 4 0 1 0 397.053 -397.049 A 4 4 0 1 0 405.053 -397.049 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 451.57894736842104 -397.70317482539235 M 455.57894736842104 -397.70317482539235 L 455.579 -397.703 M 455.579 -397.703 A 4 4 0 1 0 447.579 -397.703 A 4 4 0 1 0 455.579 -397.703 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 502.10526315789474 -403.24860391681057 M 506.10526315789474 -403.24860391681057 L 506.105 -403.249 M 506.105 -403.249 A 4 4 0 1 0 498.105 -403.249 A 4 4 0 1 0 506.105 -403.249 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 552.6315789473684 -399.26658577939554 M 556.6315789473684 -399.26658577939554 L 556.632 -399.267 M 556.632 -399.267 A 4 4 0 1 0 548.632 -399.267 A 4 4 0 1 0 556.632 -399.267 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 603.1578947368421 -397.592468150637 M 607.1578947368421 -397.592468150637 L 607.158 -397.592 M 607.158 -397.592 A 4 4 0 1 0 599.158 -397.592 A 4 4 0 1 0 607.158 -397.592 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 653.6842105263158 -395.69779271081245 M 657.6842105263158 -395.69779271081245 L 657.684 -395.698 M 657.684 -395.698 A 4 4 0 1 0 649.684 -395.698 A 4 4 0 1 0 657.684 -395.698 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 704.2105263157895 -397.56611756653757 M 708.2105263157895 -397.56611756653757 L 708.211 -397.566 M 708.211 -397.566 A 4 4 0 1 0 700.211 -397.566 A 4 4 0 1 0 708.211 -397.566 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 754.7368421052631 -398.44236004168806 M 758.7368421052631 -398.44236004168806 L 758.737 -398.442 M 758.737 -398.442 A 4 4 0 1 0 750.737 -398.442 A 4 4 0 1 0 758.737 -398.442 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 290 -154 L 290 -192 L 324 -192 L 324 -154 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 307.0 -164.66666666666666 M 311.0 -164.66666666666666 L 311 -164.667 M 311 -164.667 A 4 4 0 1 0 303 -164.667 A 4 4 0 1 0 311 -164.667 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      100
+    </text>
+    <path d="M 401.0526315789474 -300 L 401.0526315789474 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,401.053,-279.001)" x="401.0526315789474" y="-279.00097346438844">
+      300
+    </text>
+    <path d="M 502.10526315789474 -300 L 502.10526315789474 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,502.105,-279.001)" x="502.10526315789474" y="-279.00097346438844">
+      500
+    </text>
+    <path d="M 603.1578947368421 -300 L 603.1578947368421 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,603.158,-279.001)" x="603.1578947368421" y="-279.00097346438844">
+      700
+    </text>
+    <path d="M 704.2105263157895 -300 L 704.2105263157895 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,704.211,-279.001)" x="704.2105263157895" y="-279.00097346438844">
+      900
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -471.10768895733196 L 780 -471.10768895733196" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      2.57e-08
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      5.14e-08
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      7.71e-08
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      1.03e-07
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      1.29e-07
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 300.0 -492.41401838629895 L 350.5263157894737 -484.445533311556 L 401.0526315789474 -484.50542100269104 L 451.57894736842104 -486.486848040817 L 502.10526315789474 -518.7115591021513 L 552.6315789473684 -512.6406582979452 L 603.1578947368421 -520.0 L 653.6842105263158 -500.83080560611006 L 704.2105263157895 -505.6389316658111 L 754.7368421052631 -499.4311447104391" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <path d="M 292.85714285714283 -492.41401838629895 L 307.14285714285717 -492.41401838629895" style="stroke-width:1;"/>
+        <path d="M 300.0 -485.2711612434418 L 300.0 -499.55687552915606" style="stroke-width:1;"/>
+        <path d="M 343.38345864661653 -484.445533311556 L 357.6691729323308 -484.445533311556" style="stroke-width:1;"/>
+        <path d="M 350.5263157894737 -477.30267616869884 L 350.5263157894737 -491.5883904544131" style="stroke-width:1;"/>
+        <path d="M 393.90977443609023 -484.50542100269104 L 408.1954887218045 -484.50542100269104" style="stroke-width:1;"/>
+        <path d="M 401.0526315789474 -477.3625638598339 L 401.0526315789474 -491.6482781455482" style="stroke-width:1;"/>
+        <path d="M 444.43609022556393 -486.486848040817 L 458.72180451127815 -486.486848040817" style="stroke-width:1;"/>
+        <path d="M 451.57894736842104 -479.3439908979598 L 451.57894736842104 -493.6297051836741" style="stroke-width:1;"/>
+        <path d="M 494.9624060150376 -518.7115591021513 L 509.2481203007519 -518.7115591021513" style="stroke-width:1;"/>
+        <path d="M 502.10526315789474 -511.5687019592941 L 502.10526315789474 -525.8544162450085" style="stroke-width:1;"/>
+        <path d="M 545.4887218045112 -512.6406582979452 L 559.7744360902255 -512.6406582979452" style="stroke-width:1;"/>
+        <path d="M 552.6315789473684 -505.497801155088 L 552.6315789473684 -519.7835154408023" style="stroke-width:1;"/>
+        <path d="M 596.015037593985 -520.0 L 610.3007518796992 -520.0" style="stroke-width:1;"/>
+        <path d="M 603.1578947368421 -512.8571428571429 L 603.1578947368421 -527.1428571428571" style="stroke-width:1;"/>
+        <path d="M 646.5413533834586 -500.83080560611006 L 660.827067669173 -500.83080560611006" style="stroke-width:1;"/>
+        <path d="M 653.6842105263158 -493.68794846325295 L 653.6842105263158 -507.97366274896723" style="stroke-width:1;"/>
+        <path d="M 697.0676691729323 -505.6389316658111 L 711.3533834586467 -505.6389316658111" style="stroke-width:1;"/>
+        <path d="M 704.2105263157895 -498.496074522954 L 704.2105263157895 -512.7817888086684" style="stroke-width:1;"/>
+        <path d="M 747.593984962406 -499.4311447104391 L 761.8796992481203 -499.4311447104391" style="stroke-width:1;"/>
+        <path d="M 754.7368421052631 -492.28828756758196 L 754.7368421052631 -506.5740018532963" style="stroke-width:1;"/>
+      </g>
+      <g style="clip-path:url(#clip3);">
+        <path d="M 300.0 -400.93916343895347 L 350.5263157894737 -399.685628509652 L 401.0526315789474 -397.0492012381975 L 451.57894736842104 -397.70317482539235 L 502.10526315789474 -403.24860391681057 L 552.6315789473684 -399.26658577939554 L 603.1578947368421 -397.592468150637 L 653.6842105263158 -395.69779271081245 L 704.2105263157895 -397.56611756653757 L 754.7368421052631 -398.44236004168806" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip4);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+          <path d="M 292.0 -392.93916343895347 L 292.0 -408.93916343895347 L 308.0 -408.93916343895347 L 308.0 -392.93916343895347 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 300.0 -400.93916343895347 M 304.0 -400.93916343895347 L 304 -400.939 M 304 -400.939 A 4 4 0 1 0 296 -400.939 A 4 4 0 1 0 304 -400.939 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+            <path d="M 342.5263157894737 -391.685628509652 L 342.5263157894737 -407.685628509652 L 358.5263157894737 -407.685628509652 L 358.5263157894737 -391.685628509652 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 350.5263157894737 -399.685628509652 M 354.5263157894737 -399.685628509652 L 354.526 -399.686 M 354.526 -399.686 A 4 4 0 1 0 346.526 -399.686 A 4 4 0 1 0 354.526 -399.686 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+              <path d="M 393.0526315789474 -389.0492012381975 L 393.0526315789474 -405.0492012381975 L 409.0526315789474 -405.0492012381975 L 409.0526315789474 -389.0492012381975 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 401.0526315789474 -397.0492012381975 M 405.0526315789474 -397.0492012381975 L 405.053 -397.049 M 405.053 -397.049 A 4 4 0 1 0 397.053 -397.049 A 4 4 0 1 0 405.053 -397.049 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                <path d="M 443.57894736842104 -389.70317482539235 L 443.57894736842104 -405.70317482539235 L 459.57894736842104 -405.70317482539235 L 459.57894736842104 -389.70317482539235 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 451.57894736842104 -397.70317482539235 M 455.57894736842104 -397.70317482539235 L 455.579 -397.703 M 455.579 -397.703 A 4 4 0 1 0 447.579 -397.703 A 4 4 0 1 0 455.579 -397.703 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                  <path d="M 494.10526315789474 -395.24860391681057 L 494.10526315789474 -411.24860391681057 L 510.10526315789474 -411.24860391681057 L 510.10526315789474 -395.24860391681057 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 502.10526315789474 -403.24860391681057 M 506.10526315789474 -403.24860391681057 L 506.105 -403.249 M 506.105 -403.249 A 4 4 0 1 0 498.105 -403.249 A 4 4 0 1 0 506.105 -403.249 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                    <path d="M 544.6315789473684 -391.26658577939554 L 544.6315789473684 -407.26658577939554 L 560.6315789473684 -407.26658577939554 L 560.6315789473684 -391.26658577939554 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 552.6315789473684 -399.26658577939554 M 556.6315789473684 -399.26658577939554 L 556.632 -399.267 M 556.632 -399.267 A 4 4 0 1 0 548.632 -399.267 A 4 4 0 1 0 556.632 -399.267 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                      <path d="M 595.1578947368421 -389.592468150637 L 595.1578947368421 -405.592468150637 L 611.1578947368421 -405.592468150637 L 611.1578947368421 -389.592468150637 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 603.1578947368421 -397.592468150637 M 607.1578947368421 -397.592468150637 L 607.158 -397.592 M 607.158 -397.592 A 4 4 0 1 0 599.158 -397.592 A 4 4 0 1 0 607.158 -397.592 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                        <path d="M 645.6842105263158 -387.69779271081245 L 645.6842105263158 -403.69779271081245 L 661.6842105263158 -403.69779271081245 L 661.6842105263158 -387.69779271081245 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 653.6842105263158 -395.69779271081245 M 657.6842105263158 -395.69779271081245 L 657.684 -395.698 M 657.684 -395.698 A 4 4 0 1 0 649.684 -395.698 A 4 4 0 1 0 657.684 -395.698 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip13);">
+                          <path d="M 696.2105263157895 -389.56611756653757 L 696.2105263157895 -405.56611756653757 L 712.2105263157895 -405.56611756653757 L 712.2105263157895 -389.56611756653757 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 704.2105263157895 -397.56611756653757 M 708.2105263157895 -397.56611756653757 L 708.211 -397.566 M 708.211 -397.566 A 4 4 0 1 0 700.211 -397.566 A 4 4 0 1 0 708.211 -397.566 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip14);">
+                            <path d="M 746.7368421052631 -390.44236004168806 L 746.7368421052631 -406.44236004168806 L 762.7368421052631 -406.44236004168806 L 762.7368421052631 -390.44236004168806 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 754.7368421052631 -398.44236004168806 M 758.7368421052631 -398.44236004168806 L 758.737 -398.442 M 758.737 -398.442 A 4 4 0 1 0 750.737 -398.442 A 4 4 0 1 0 758.737 -398.442 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+      <path d="M 290 -154 L 290 -192 L 324 -192 L 324 -154 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -182.66666666666669 L 314 -182.66666666666669" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+    <path d="M 299.85714285714283 -182.66666666666669 L 314.14285714285717 -182.66666666666669" style="stroke-width:1;"/>
+    <path d="M 307.0 -175.52380952380952 L 307.0 -189.8095238095238" style="stroke-width:1;"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-178.0">
+      pairing_heap
+    </text>
+    <path d="M 300 -164.66666666666666 L 314 -164.66666666666666" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+      <path d="M 299.0 -156.66666666666666 L 299.0 -172.66666666666666 L 315.0 -172.66666666666666 L 315.0 -156.66666666666666 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -164.66666666666666 M 311.0 -164.66666666666666 L 311 -164.667 M 311 -164.667 A 4 4 0 1 0 303 -164.667 A 4 4 0 1 0 311 -164.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-160.0">
+        thin_heap
+      </text>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_pop_mem_usage_test_local.pdf b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_pop_mem_usage_test_local.pdf
new file mode 100644 (file)
index 0000000..6a83d6d
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_pop_mem_usage_test_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_pop_mem_usage_test_local.png b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_pop_mem_usage_test_local.png
new file mode 100644 (file)
index 0000000..4debf44
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_pop_mem_usage_test_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_pop_mem_usage_test_local.svg b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_pop_mem_usage_test_local.svg
new file mode 100644 (file)
index 0000000..28519d7
--- /dev/null
@@ -0,0 +1,835 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -526.35 535.725 478.35" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 334.4 -314.0224 L 334.4 -322.0224 L 342.4 -322.0224 L 342.4 -314.0224 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 372.8 -332.0448 L 372.8 -340.0448 L 380.8 -340.0448 L 380.8 -332.0448 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 411.2 -368.0896 L 411.2 -376.0896 L 419.2 -376.0896 L 419.2 -368.0896 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 449.6 -368.0896 L 449.6 -376.0896 L 457.6 -376.0896 L 457.6 -368.0896 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 488.0 -368.0896 L 488.0 -376.0896 L 496.0 -376.0896 L 496.0 -368.0896 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 526.4 -440.17920000000004 L 526.4 -448.17920000000004 L 534.4 -448.17920000000004 L 534.4 -440.17920000000004 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 564.8 -440.17920000000004 L 564.8 -448.17920000000004 L 572.8 -448.17920000000004 L 572.8 -440.17920000000004 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 603.2 -440.17920000000004 L 603.2 -448.17920000000004 L 611.2 -448.17920000000004 L 611.2 -440.17920000000004 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 641.6 -440.17920000000004 L 641.6 -448.17920000000004 L 649.6 -448.17920000000004 L 649.6 -440.17920000000004 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 680.0 -440.17920000000004 L 680.0 -448.17920000000004 L 688.0 -448.17920000000004 L 688.0 -440.17920000000004 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 338.4 -305.0688 M 342.4 -305.0688 L 342.4 -305.069 M 342.4 -305.069 A 4 4 0 1 0 334.4 -305.069 A 4 4 0 1 0 342.4 -305.069 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 376.8 -305.7728 M 380.8 -305.7728 L 380.8 -305.773 M 380.8 -305.773 A 4 4 0 1 0 372.8 -305.773 A 4 4 0 1 0 380.8 -305.773 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 415.2 -305.7728 M 419.2 -305.7728 L 419.2 -305.773 M 419.2 -305.773 A 4 4 0 1 0 411.2 -305.773 A 4 4 0 1 0 419.2 -305.773 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 453.6 -307.1808 M 457.6 -307.1808 L 457.6 -307.181 M 457.6 -307.181 A 4 4 0 1 0 449.6 -307.181 A 4 4 0 1 0 457.6 -307.181 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 492.0 -307.1808 M 496.0 -307.1808 L 496 -307.181 M 496 -307.181 A 4 4 0 1 0 488 -307.181 A 4 4 0 1 0 496 -307.181 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 530.4 -307.1808 M 534.4 -307.1808 L 534.4 -307.181 M 534.4 -307.181 A 4 4 0 1 0 526.4 -307.181 A 4 4 0 1 0 534.4 -307.181 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 568.8 -307.1808 M 572.8 -307.1808 L 572.8 -307.181 M 572.8 -307.181 A 4 4 0 1 0 564.8 -307.181 A 4 4 0 1 0 572.8 -307.181 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 607.2 -307.1808 M 611.2 -307.1808 L 611.2 -307.181 M 611.2 -307.181 A 4 4 0 1 0 603.2 -307.181 A 4 4 0 1 0 611.2 -307.181 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 645.6 -309.9968 M 649.6 -309.9968 L 649.6 -309.997 M 649.6 -309.997 A 4 4 0 1 0 641.6 -309.997 A 4 4 0 1 0 649.6 -309.997 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 684.0 -309.9968 M 688.0 -309.9968 L 688 -309.997 M 688 -309.997 A 4 4 0 1 0 680 -309.997 A 4 4 0 1 0 688 -309.997 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 338.4 -296.1968 L 332.15 -306.1968 L 344.65 -306.1968 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 376.8 -296.1968 L 370.55 -306.1968 L 383.05 -306.1968 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 415.2 -296.1968 L 408.95 -306.1968 L 421.45 -306.1968 Z"/>
+    </clipPath>
+    <clipPath id="clip30">
+      <path d="M 453.6 -296.1968 L 447.35 -306.1968 L 459.85 -306.1968 Z"/>
+    </clipPath>
+    <clipPath id="clip31">
+      <path d="M 492.0 -296.1968 L 485.75 -306.1968 L 498.25 -306.1968 Z"/>
+    </clipPath>
+    <clipPath id="clip32">
+      <path d="M 530.4 -296.1968 L 524.15 -306.1968 L 536.65 -306.1968 Z"/>
+    </clipPath>
+    <clipPath id="clip33">
+      <path d="M 568.8 -296.1968 L 562.55 -306.1968 L 575.05 -306.1968 Z"/>
+    </clipPath>
+    <clipPath id="clip34">
+      <path d="M 607.2 -296.1968 L 600.95 -306.1968 L 613.45 -306.1968 Z"/>
+    </clipPath>
+    <clipPath id="clip35">
+      <path d="M 645.6 -296.1968 L 639.35 -306.1968 L 651.85 -306.1968 Z"/>
+    </clipPath>
+    <clipPath id="clip36">
+      <path d="M 684.0 -296.1968 L 677.75 -306.1968 L 690.25 -306.1968 Z"/>
+    </clipPath>
+    <clipPath id="clip37">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip38">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip39">
+      <path d="M 338.4 -300.352 M 342.4 -300.352 L 342.4 -300.352 M 342.4 -300.352 A 4 4 0 1 0 334.4 -300.352 A 4 4 0 1 0 342.4 -300.352 Z"/>
+    </clipPath>
+    <clipPath id="clip40">
+      <path d="M 376.8 -300.352 M 380.8 -300.352 L 380.8 -300.352 M 380.8 -300.352 A 4 4 0 1 0 372.8 -300.352 A 4 4 0 1 0 380.8 -300.352 Z"/>
+    </clipPath>
+    <clipPath id="clip41">
+      <path d="M 415.2 -300.352 M 419.2 -300.352 L 419.2 -300.352 M 419.2 -300.352 A 4 4 0 1 0 411.2 -300.352 A 4 4 0 1 0 419.2 -300.352 Z"/>
+    </clipPath>
+    <clipPath id="clip42">
+      <path d="M 453.6 -300.352 M 457.6 -300.352 L 457.6 -300.352 M 457.6 -300.352 A 4 4 0 1 0 449.6 -300.352 A 4 4 0 1 0 457.6 -300.352 Z"/>
+    </clipPath>
+    <clipPath id="clip43">
+      <path d="M 492.0 -300.352 M 496.0 -300.352 L 496 -300.352 M 496 -300.352 A 4 4 0 1 0 488 -300.352 A 4 4 0 1 0 496 -300.352 Z"/>
+    </clipPath>
+    <clipPath id="clip44">
+      <path d="M 530.4 -300.352 M 534.4 -300.352 L 534.4 -300.352 M 534.4 -300.352 A 4 4 0 1 0 526.4 -300.352 A 4 4 0 1 0 534.4 -300.352 Z"/>
+    </clipPath>
+    <clipPath id="clip45">
+      <path d="M 568.8 -300.352 M 572.8 -300.352 L 572.8 -300.352 M 572.8 -300.352 A 4 4 0 1 0 564.8 -300.352 A 4 4 0 1 0 572.8 -300.352 Z"/>
+    </clipPath>
+    <clipPath id="clip46">
+      <path d="M 607.2 -300.352 M 611.2 -300.352 L 611.2 -300.352 M 611.2 -300.352 A 4 4 0 1 0 603.2 -300.352 A 4 4 0 1 0 611.2 -300.352 Z"/>
+    </clipPath>
+    <clipPath id="clip47">
+      <path d="M 645.6 -300.352 M 649.6 -300.352 L 649.6 -300.352 M 649.6 -300.352 A 4 4 0 1 0 641.6 -300.352 A 4 4 0 1 0 649.6 -300.352 Z"/>
+    </clipPath>
+    <clipPath id="clip48">
+      <path d="M 684.0 -300.352 M 688.0 -300.352 L 688 -300.352 M 688 -300.352 A 4 4 0 1 0 680 -300.352 A 4 4 0 1 0 688 -300.352 Z"/>
+    </clipPath>
+    <clipPath id="clip49">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip50">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip51">
+      <path d="M 332.15 -295.352 L 344.65 -295.352 L 338.4 -305.352 Z"/>
+    </clipPath>
+    <clipPath id="clip52">
+      <path d="M 370.55 -295.352 L 383.05 -295.352 L 376.8 -305.352 Z"/>
+    </clipPath>
+    <clipPath id="clip53">
+      <path d="M 408.95 -295.352 L 421.45 -295.352 L 415.2 -305.352 Z"/>
+    </clipPath>
+    <clipPath id="clip54">
+      <path d="M 447.35 -295.352 L 459.85 -295.352 L 453.6 -305.352 Z"/>
+    </clipPath>
+    <clipPath id="clip55">
+      <path d="M 485.75 -295.352 L 498.25 -295.352 L 492.0 -305.352 Z"/>
+    </clipPath>
+    <clipPath id="clip56">
+      <path d="M 524.15 -295.352 L 536.65 -295.352 L 530.4 -305.352 Z"/>
+    </clipPath>
+    <clipPath id="clip57">
+      <path d="M 562.55 -295.352 L 575.05 -295.352 L 568.8 -305.352 Z"/>
+    </clipPath>
+    <clipPath id="clip58">
+      <path d="M 600.95 -295.352 L 613.45 -295.352 L 607.2 -305.352 Z"/>
+    </clipPath>
+    <clipPath id="clip59">
+      <path d="M 639.35 -295.352 L 651.85 -295.352 L 645.6 -305.352 Z"/>
+    </clipPath>
+    <clipPath id="clip60">
+      <path d="M 677.75 -295.352 L 690.25 -295.352 L 684.0 -305.352 Z"/>
+    </clipPath>
+    <clipPath id="clip61">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip62">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip63">
+      <path d="M 331.25714285714287 -300.352 L 338.4 -307.49485714285714 L 345.54285714285714 -300.352 L 338.4 -293.20914285714287 Z"/>
+    </clipPath>
+    <clipPath id="clip64">
+      <path d="M 369.65714285714284 -300.352 L 376.8 -307.49485714285714 L 383.9428571428571 -300.352 L 376.8 -293.20914285714287 Z"/>
+    </clipPath>
+    <clipPath id="clip65">
+      <path d="M 408.0571428571429 -300.352 L 415.2 -307.49485714285714 L 422.34285714285716 -300.352 L 415.2 -293.20914285714287 Z"/>
+    </clipPath>
+    <clipPath id="clip66">
+      <path d="M 446.45714285714286 -300.352 L 453.6 -307.49485714285714 L 460.74285714285713 -300.352 L 453.6 -293.20914285714287 Z"/>
+    </clipPath>
+    <clipPath id="clip67">
+      <path d="M 484.8571428571429 -300.352 L 492.0 -307.49485714285714 L 499.1428571428571 -300.352 L 492.0 -293.20914285714287 Z"/>
+    </clipPath>
+    <clipPath id="clip68">
+      <path d="M 523.2571428571429 -300.352 L 530.4 -307.49485714285714 L 537.5428571428572 -300.352 L 530.4 -293.20914285714287 Z"/>
+    </clipPath>
+    <clipPath id="clip69">
+      <path d="M 561.6571428571428 -300.352 L 568.8 -307.49485714285714 L 575.9428571428572 -300.352 L 568.8 -293.20914285714287 Z"/>
+    </clipPath>
+    <clipPath id="clip70">
+      <path d="M 600.0571428571428 -300.352 L 607.2 -307.49485714285714 L 614.3428571428572 -300.352 L 607.2 -293.20914285714287 Z"/>
+    </clipPath>
+    <clipPath id="clip71">
+      <path d="M 638.4571428571428 -300.352 L 645.6 -307.49485714285714 L 652.7428571428572 -300.352 L 645.6 -293.20914285714287 Z"/>
+    </clipPath>
+    <clipPath id="clip72">
+      <path d="M 676.8571428571429 -300.352 L 684.0 -307.49485714285714 L 691.1428571428571 -300.352 L 684.0 -293.20914285714287 Z"/>
+    </clipPath>
+    <clipPath id="clip73">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip74">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip75">
+      <path d="M 290 -54 L 290 -182 L 324 -182 L 324 -54 Z"/>
+    </clipPath>
+    <clipPath id="clip76">
+      <path d="M 303.0 -168.66666666666669 L 303.0 -176.66666666666669 L 311.0 -176.66666666666669 L 311.0 -168.66666666666669 Z"/>
+    </clipPath>
+    <clipPath id="clip77">
+      <path d="M 307.0 -154.66666666666666 M 311.0 -154.66666666666666 L 311 -154.667 M 311 -154.667 A 4 4 0 1 0 303 -154.667 A 4 4 0 1 0 311 -154.667 Z"/>
+    </clipPath>
+    <clipPath id="clip78">
+      <path d="M 307.0 -131.66666666666666 L 300.75 -141.66666666666666 L 313.25 -141.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip79">
+      <path d="M 307.0 -118.66666666666666 M 311.0 -118.66666666666666 L 311 -118.667 M 311 -118.667 A 4 4 0 1 0 303 -118.667 A 4 4 0 1 0 311 -118.667 Z"/>
+    </clipPath>
+    <clipPath id="clip80">
+      <path d="M 300.75 -95.66666666666666 L 313.25 -95.66666666666666 L 307.0 -105.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip81">
+      <path d="M 299.85714285714283 -82.66666666666666 L 307.0 -89.8095238095238 L 314.14285714285717 -82.66666666666666 L 307.0 -75.52380952380952 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -388.0 L 780 -388.0" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -476.0 L 780 -476.0" style="stroke:rgb(179,179,179);stroke-width:0.4;stroke-dasharray:1,1;"/>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -328.83584 L 288 -328.83584"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-324.336)" x="288.0" y="-324.3363267321942">
+      3.28e+03
+    </text>
+    <path d="M 300 -357.67168 L 288 -357.67168"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-353.172)" x="288.0" y="-353.1721667321942">
+      6.55e+03
+    </text>
+    <path d="M 300 -386.50752 L 288 -386.50752"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-382.008)" x="288.0" y="-382.00800673219425">
+      9.83e+03
+    </text>
+    <path d="M 300 -415.34336 L 288 -415.34336"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-410.844)" x="288.0" y="-410.8438467321942">
+      1.31e+04
+    </text>
+    <path d="M 300 -444.17920000000004 L 288 -444.17920000000004"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-439.68)" x="288.0" y="-439.6796867321942">
+      1.64e+04
+    </text>
+    <path d="M 300 -473.01504 L 288 -473.01504"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-468.516)" x="288.0" y="-468.5155267321942">
+      1.97e+04
+    </text>
+    <path d="M 300 -501.85087999999996 L 288 -501.85087999999996"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-497.351)" x="288.0" y="-497.3513667321942">
+      2.29e+04
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Memory (bytes)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -318.0224 L 376.8 -336.0448 L 415.2 -372.0896 L 453.6 -372.0896 L 492.0 -372.0896 L 530.4 -444.17920000000004 L 568.8 -444.17920000000004 L 607.2 -444.17920000000004 L 645.6 -444.17920000000004 L 684.0 -444.17920000000004" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 334.4 -314.0224 L 334.4 -322.0224 L 342.4 -322.0224 L 342.4 -314.0224 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 334.4 -314.0224 L 334.4 -322.0224 L 342.4 -322.0224 L 342.4 -314.0224 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 372.8 -332.0448 L 372.8 -340.0448 L 380.8 -340.0448 L 380.8 -332.0448 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 372.8 -332.0448 L 372.8 -340.0448 L 380.8 -340.0448 L 380.8 -332.0448 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 411.2 -368.0896 L 411.2 -376.0896 L 419.2 -376.0896 L 419.2 -368.0896 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 411.2 -368.0896 L 411.2 -376.0896 L 419.2 -376.0896 L 419.2 -368.0896 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 449.6 -368.0896 L 449.6 -376.0896 L 457.6 -376.0896 L 457.6 -368.0896 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 449.6 -368.0896 L 449.6 -376.0896 L 457.6 -376.0896 L 457.6 -368.0896 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 488.0 -368.0896 L 488.0 -376.0896 L 496.0 -376.0896 L 496.0 -368.0896 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 488.0 -368.0896 L 488.0 -376.0896 L 496.0 -376.0896 L 496.0 -368.0896 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 526.4 -440.17920000000004 L 526.4 -448.17920000000004 L 534.4 -448.17920000000004 L 534.4 -440.17920000000004 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 526.4 -440.17920000000004 L 526.4 -448.17920000000004 L 534.4 -448.17920000000004 L 534.4 -440.17920000000004 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 564.8 -440.17920000000004 L 564.8 -448.17920000000004 L 572.8 -448.17920000000004 L 572.8 -440.17920000000004 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 564.8 -440.17920000000004 L 564.8 -448.17920000000004 L 572.8 -448.17920000000004 L 572.8 -440.17920000000004 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 603.2 -440.17920000000004 L 603.2 -448.17920000000004 L 611.2 -448.17920000000004 L 611.2 -440.17920000000004 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 603.2 -440.17920000000004 L 603.2 -448.17920000000004 L 611.2 -448.17920000000004 L 611.2 -440.17920000000004 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 641.6 -440.17920000000004 L 641.6 -448.17920000000004 L 649.6 -448.17920000000004 L 649.6 -440.17920000000004 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 641.6 -440.17920000000004 L 641.6 -448.17920000000004 L 649.6 -448.17920000000004 L 649.6 -440.17920000000004 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 680.0 -440.17920000000004 L 680.0 -448.17920000000004 L 688.0 -448.17920000000004 L 688.0 -440.17920000000004 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 680.0 -440.17920000000004 L 680.0 -448.17920000000004 L 688.0 -448.17920000000004 L 688.0 -440.17920000000004 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 338.4 -305.0688 L 376.8 -305.7728 L 415.2 -305.7728 L 453.6 -307.1808 L 492.0 -307.1808 L 530.4 -307.1808 L 568.8 -307.1808 L 607.2 -307.1808 L 645.6 -309.9968 L 684.0 -309.9968" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 330.4 -297.0688 L 330.4 -313.0688 L 346.4 -313.0688 L 346.4 -297.0688 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -305.0688 M 342.4 -305.0688 L 342.4 -305.069 M 342.4 -305.069 A 4 4 0 1 0 334.4 -305.069 A 4 4 0 1 0 342.4 -305.069 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 368.8 -297.7728 L 368.8 -313.7728 L 384.8 -313.7728 L 384.8 -297.7728 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -305.7728 M 380.8 -305.7728 L 380.8 -305.773 M 380.8 -305.773 A 4 4 0 1 0 372.8 -305.773 A 4 4 0 1 0 380.8 -305.773 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 407.2 -297.7728 L 407.2 -313.7728 L 423.2 -313.7728 L 423.2 -297.7728 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -305.7728 M 419.2 -305.7728 L 419.2 -305.773 M 419.2 -305.773 A 4 4 0 1 0 411.2 -305.773 A 4 4 0 1 0 419.2 -305.773 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 445.6 -299.1808 L 445.6 -315.1808 L 461.6 -315.1808 L 461.6 -299.1808 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -307.1808 M 457.6 -307.1808 L 457.6 -307.181 M 457.6 -307.181 A 4 4 0 1 0 449.6 -307.181 A 4 4 0 1 0 457.6 -307.181 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 484.0 -299.1808 L 484.0 -315.1808 L 500.0 -315.1808 L 500.0 -299.1808 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -307.1808 M 496.0 -307.1808 L 496 -307.181 M 496 -307.181 A 4 4 0 1 0 488 -307.181 A 4 4 0 1 0 496 -307.181 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 522.4 -299.1808 L 522.4 -315.1808 L 538.4 -315.1808 L 538.4 -299.1808 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -307.1808 M 534.4 -307.1808 L 534.4 -307.181 M 534.4 -307.181 A 4 4 0 1 0 526.4 -307.181 A 4 4 0 1 0 534.4 -307.181 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 560.8 -299.1808 L 560.8 -315.1808 L 576.8 -315.1808 L 576.8 -299.1808 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -307.1808 M 572.8 -307.1808 L 572.8 -307.181 M 572.8 -307.181 A 4 4 0 1 0 564.8 -307.181 A 4 4 0 1 0 572.8 -307.181 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 599.2 -299.1808 L 599.2 -315.1808 L 615.2 -315.1808 L 615.2 -299.1808 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -307.1808 M 611.2 -307.1808 L 611.2 -307.181 M 611.2 -307.181 A 4 4 0 1 0 603.2 -307.181 A 4 4 0 1 0 611.2 -307.181 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 637.6 -301.9968 L 637.6 -317.9968 L 653.6 -317.9968 L 653.6 -301.9968 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -309.9968 M 649.6 -309.9968 L 649.6 -309.997 M 649.6 -309.997 A 4 4 0 1 0 641.6 -309.997 A 4 4 0 1 0 649.6 -309.997 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 676.0 -301.9968 L 676.0 -317.9968 L 692.0 -317.9968 L 692.0 -301.9968 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -309.9968 M 688.0 -309.9968 L 688 -309.997 M 688 -309.997 A 4 4 0 1 0 680 -309.997 A 4 4 0 1 0 688 -309.997 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 338.4 -301.1968 L 376.8 -301.1968 L 415.2 -301.1968 L 453.6 -301.1968 L 492.0 -301.1968 L 530.4 -301.1968 L 568.8 -301.1968 L 607.2 -301.1968 L 645.6 -301.1968 L 684.0 -301.1968" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip27);">
+          <path d="M 332.15 -296.1968 L 332.15 -306.1968 L 344.65 -306.1968 L 344.65 -296.1968 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -296.1968 L 332.15 -306.1968 L 344.65 -306.1968 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip28);">
+            <path d="M 370.55 -296.1968 L 370.55 -306.1968 L 383.05 -306.1968 L 383.05 -296.1968 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -296.1968 L 370.55 -306.1968 L 383.05 -306.1968 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+              <path d="M 408.95 -296.1968 L 408.95 -306.1968 L 421.45 -306.1968 L 421.45 -296.1968 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -296.1968 L 408.95 -306.1968 L 421.45 -306.1968 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip30);">
+                <path d="M 447.35 -296.1968 L 447.35 -306.1968 L 459.85 -306.1968 L 459.85 -296.1968 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -296.1968 L 447.35 -306.1968 L 459.85 -306.1968 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip31);">
+                  <path d="M 485.75 -296.1968 L 485.75 -306.1968 L 498.25 -306.1968 L 498.25 -296.1968 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -296.1968 L 485.75 -306.1968 L 498.25 -306.1968 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip32);">
+                    <path d="M 524.15 -296.1968 L 524.15 -306.1968 L 536.65 -306.1968 L 536.65 -296.1968 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -296.1968 L 524.15 -306.1968 L 536.65 -306.1968 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip33);">
+                      <path d="M 562.55 -296.1968 L 562.55 -306.1968 L 575.05 -306.1968 L 575.05 -296.1968 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -296.1968 L 562.55 -306.1968 L 575.05 -306.1968 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip34);">
+                        <path d="M 600.95 -296.1968 L 600.95 -306.1968 L 613.45 -306.1968 L 613.45 -296.1968 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -296.1968 L 600.95 -306.1968 L 613.45 -306.1968 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip35);">
+                          <path d="M 639.35 -296.1968 L 639.35 -306.1968 L 651.85 -306.1968 L 651.85 -296.1968 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -296.1968 L 639.35 -306.1968 L 651.85 -306.1968 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip36);">
+                            <path d="M 677.75 -296.1968 L 677.75 -306.1968 L 690.25 -306.1968 L 690.25 -296.1968 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -296.1968 L 677.75 -306.1968 L 690.25 -306.1968 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip37);">
+        <path d="M 338.4 -300.352 L 376.8 -300.352 L 415.2 -300.352 L 453.6 -300.352 L 492.0 -300.352 L 530.4 -300.352 L 568.8 -300.352 L 607.2 -300.352 L 645.6 -300.352 L 684.0 -300.352" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip38);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip39);">
+          <path d="M 330.4 -292.352 L 330.4 -308.352 L 346.4 -308.352 L 346.4 -292.352 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -300.352 M 342.4 -300.352 L 342.4 -300.352 M 342.4 -300.352 A 4 4 0 1 0 334.4 -300.352 A 4 4 0 1 0 342.4 -300.352 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip40);">
+            <path d="M 368.8 -292.352 L 368.8 -308.352 L 384.8 -308.352 L 384.8 -292.352 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -300.352 M 380.8 -300.352 L 380.8 -300.352 M 380.8 -300.352 A 4 4 0 1 0 372.8 -300.352 A 4 4 0 1 0 380.8 -300.352 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip41);">
+              <path d="M 407.2 -292.352 L 407.2 -308.352 L 423.2 -308.352 L 423.2 -292.352 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -300.352 M 419.2 -300.352 L 419.2 -300.352 M 419.2 -300.352 A 4 4 0 1 0 411.2 -300.352 A 4 4 0 1 0 419.2 -300.352 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip42);">
+                <path d="M 445.6 -292.352 L 445.6 -308.352 L 461.6 -308.352 L 461.6 -292.352 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -300.352 M 457.6 -300.352 L 457.6 -300.352 M 457.6 -300.352 A 4 4 0 1 0 449.6 -300.352 A 4 4 0 1 0 457.6 -300.352 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip43);">
+                  <path d="M 484.0 -292.352 L 484.0 -308.352 L 500.0 -308.352 L 500.0 -292.352 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -300.352 M 496.0 -300.352 L 496 -300.352 M 496 -300.352 A 4 4 0 1 0 488 -300.352 A 4 4 0 1 0 496 -300.352 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip44);">
+                    <path d="M 522.4 -292.352 L 522.4 -308.352 L 538.4 -308.352 L 538.4 -292.352 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -300.352 M 534.4 -300.352 L 534.4 -300.352 M 534.4 -300.352 A 4 4 0 1 0 526.4 -300.352 A 4 4 0 1 0 534.4 -300.352 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip45);">
+                      <path d="M 560.8 -292.352 L 560.8 -308.352 L 576.8 -308.352 L 576.8 -292.352 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -300.352 M 572.8 -300.352 L 572.8 -300.352 M 572.8 -300.352 A 4 4 0 1 0 564.8 -300.352 A 4 4 0 1 0 572.8 -300.352 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip46);">
+                        <path d="M 599.2 -292.352 L 599.2 -308.352 L 615.2 -308.352 L 615.2 -292.352 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -300.352 M 611.2 -300.352 L 611.2 -300.352 M 611.2 -300.352 A 4 4 0 1 0 603.2 -300.352 A 4 4 0 1 0 611.2 -300.352 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip47);">
+                          <path d="M 637.6 -292.352 L 637.6 -308.352 L 653.6 -308.352 L 653.6 -292.352 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -300.352 M 649.6 -300.352 L 649.6 -300.352 M 649.6 -300.352 A 4 4 0 1 0 641.6 -300.352 A 4 4 0 1 0 649.6 -300.352 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip48);">
+                            <path d="M 676.0 -292.352 L 676.0 -308.352 L 692.0 -308.352 L 692.0 -292.352 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -300.352 M 688.0 -300.352 L 688 -300.352 M 688 -300.352 A 4 4 0 1 0 680 -300.352 A 4 4 0 1 0 688 -300.352 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip49);">
+        <path d="M 338.4 -300.352 L 376.8 -300.352 L 415.2 -300.352 L 453.6 -300.352 L 492.0 -300.352 L 530.4 -300.352 L 568.8 -300.352 L 607.2 -300.352 L 645.6 -300.352 L 684.0 -300.352" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip50);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip51);">
+          <path d="M 332.15 -295.352 L 332.15 -305.352 L 344.65 -305.352 L 344.65 -295.352 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 332.15 -295.352 L 344.65 -295.352 L 338.4 -305.352 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip52);">
+            <path d="M 370.55 -295.352 L 370.55 -305.352 L 383.05 -305.352 L 383.05 -295.352 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 370.55 -295.352 L 383.05 -295.352 L 376.8 -305.352 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip53);">
+              <path d="M 408.95 -295.352 L 408.95 -305.352 L 421.45 -305.352 L 421.45 -295.352 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.95 -295.352 L 421.45 -295.352 L 415.2 -305.352 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip54);">
+                <path d="M 447.35 -295.352 L 447.35 -305.352 L 459.85 -305.352 L 459.85 -295.352 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 447.35 -295.352 L 459.85 -295.352 L 453.6 -305.352 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip55);">
+                  <path d="M 485.75 -295.352 L 485.75 -305.352 L 498.25 -305.352 L 498.25 -295.352 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 485.75 -295.352 L 498.25 -295.352 L 492.0 -305.352 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip56);">
+                    <path d="M 524.15 -295.352 L 524.15 -305.352 L 536.65 -305.352 L 536.65 -295.352 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 524.15 -295.352 L 536.65 -295.352 L 530.4 -305.352 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip57);">
+                      <path d="M 562.55 -295.352 L 562.55 -305.352 L 575.05 -305.352 L 575.05 -295.352 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 562.55 -295.352 L 575.05 -295.352 L 568.8 -305.352 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip58);">
+                        <path d="M 600.95 -295.352 L 600.95 -305.352 L 613.45 -305.352 L 613.45 -295.352 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.95 -295.352 L 613.45 -295.352 L 607.2 -305.352 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip59);">
+                          <path d="M 639.35 -295.352 L 639.35 -305.352 L 651.85 -305.352 L 651.85 -295.352 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 639.35 -295.352 L 651.85 -295.352 L 645.6 -305.352 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip60);">
+                            <path d="M 677.75 -295.352 L 677.75 -305.352 L 690.25 -305.352 L 690.25 -295.352 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 677.75 -295.352 L 690.25 -295.352 L 684.0 -305.352 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip61);">
+        <path d="M 338.4 -300.352 L 376.8 -300.352 L 415.2 -300.352 L 453.6 -300.352 L 492.0 -300.352 L 530.4 -300.352 L 568.8 -300.352 L 607.2 -300.352 L 645.6 -300.352 L 684.0 -300.352" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip62);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip63);">
+          <path d="M 331.25714285714287 -293.20914285714287 L 331.25714285714287 -307.49485714285714 L 345.54285714285714 -307.49485714285714 L 345.54285714285714 -293.20914285714287 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 331.25714285714287 -300.352 L 338.4 -307.49485714285714 L 345.54285714285714 -300.352 L 338.4 -293.20914285714287 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip64);">
+            <path d="M 369.65714285714284 -293.20914285714287 L 369.65714285714284 -307.49485714285714 L 383.9428571428571 -307.49485714285714 L 383.9428571428571 -293.20914285714287 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 369.65714285714284 -300.352 L 376.8 -307.49485714285714 L 383.9428571428571 -300.352 L 376.8 -293.20914285714287 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip65);">
+              <path d="M 408.0571428571429 -293.20914285714287 L 408.0571428571429 -307.49485714285714 L 422.34285714285716 -307.49485714285714 L 422.34285714285716 -293.20914285714287 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.0571428571429 -300.352 L 415.2 -307.49485714285714 L 422.34285714285716 -300.352 L 415.2 -293.20914285714287 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip66);">
+                <path d="M 446.45714285714286 -293.20914285714287 L 446.45714285714286 -307.49485714285714 L 460.74285714285713 -307.49485714285714 L 460.74285714285713 -293.20914285714287 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 446.45714285714286 -300.352 L 453.6 -307.49485714285714 L 460.74285714285713 -300.352 L 453.6 -293.20914285714287 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip67);">
+                  <path d="M 484.8571428571429 -293.20914285714287 L 484.8571428571429 -307.49485714285714 L 499.1428571428571 -307.49485714285714 L 499.1428571428571 -293.20914285714287 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 484.8571428571429 -300.352 L 492.0 -307.49485714285714 L 499.1428571428571 -300.352 L 492.0 -293.20914285714287 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip68);">
+                    <path d="M 523.2571428571429 -293.20914285714287 L 523.2571428571429 -307.49485714285714 L 537.5428571428572 -307.49485714285714 L 537.5428571428572 -293.20914285714287 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 523.2571428571429 -300.352 L 530.4 -307.49485714285714 L 537.5428571428572 -300.352 L 530.4 -293.20914285714287 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip69);">
+                      <path d="M 561.6571428571428 -293.20914285714287 L 561.6571428571428 -307.49485714285714 L 575.9428571428572 -307.49485714285714 L 575.9428571428572 -293.20914285714287 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 561.6571428571428 -300.352 L 568.8 -307.49485714285714 L 575.9428571428572 -300.352 L 568.8 -293.20914285714287 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip70);">
+                        <path d="M 600.0571428571428 -293.20914285714287 L 600.0571428571428 -307.49485714285714 L 614.3428571428572 -307.49485714285714 L 614.3428571428572 -293.20914285714287 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.0571428571428 -300.352 L 607.2 -307.49485714285714 L 614.3428571428572 -300.352 L 607.2 -293.20914285714287 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip71);">
+                          <path d="M 638.4571428571428 -293.20914285714287 L 638.4571428571428 -307.49485714285714 L 652.7428571428572 -307.49485714285714 L 652.7428571428572 -293.20914285714287 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 638.4571428571428 -300.352 L 645.6 -307.49485714285714 L 652.7428571428572 -300.352 L 645.6 -293.20914285714287 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip72);">
+                            <path d="M 676.8571428571429 -293.20914285714287 L 676.8571428571429 -307.49485714285714 L 691.1428571428571 -307.49485714285714 L 691.1428571428571 -293.20914285714287 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 676.8571428571429 -300.352 L 684.0 -307.49485714285714 L 691.1428571428571 -300.352 L 684.0 -293.20914285714287 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip73);">
+        <path d="M 338.4 -300.2816 L 376.8 -300.2816 L 415.2 -300.2816 L 453.6 -300.2816 L 492.0 -300.2816 L 530.4 -300.2816 L 568.8 -300.2816 L 607.2 -300.2816 L 645.6 -300.2816 L 684.0 -300.2816" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip74);">
+        <path d="M 331.25714285714287 -300.2816 L 345.54285714285714 -300.2816" style="stroke-width:1;"/>
+        <path d="M 338.4 -293.13874285714286 L 338.4 -307.42445714285714" style="stroke-width:1;"/>
+        <path d="M 369.65714285714284 -300.2816 L 383.9428571428571 -300.2816" style="stroke-width:1;"/>
+        <path d="M 376.8 -293.13874285714286 L 376.8 -307.42445714285714" style="stroke-width:1;"/>
+        <path d="M 408.0571428571429 -300.2816 L 422.34285714285716 -300.2816" style="stroke-width:1;"/>
+        <path d="M 415.2 -293.13874285714286 L 415.2 -307.42445714285714" style="stroke-width:1;"/>
+        <path d="M 446.45714285714286 -300.2816 L 460.74285714285713 -300.2816" style="stroke-width:1;"/>
+        <path d="M 453.6 -293.13874285714286 L 453.6 -307.42445714285714" style="stroke-width:1;"/>
+        <path d="M 484.8571428571429 -300.2816 L 499.1428571428571 -300.2816" style="stroke-width:1;"/>
+        <path d="M 492.0 -293.13874285714286 L 492.0 -307.42445714285714" style="stroke-width:1;"/>
+        <path d="M 523.2571428571429 -300.2816 L 537.5428571428572 -300.2816" style="stroke-width:1;"/>
+        <path d="M 530.4 -293.13874285714286 L 530.4 -307.42445714285714" style="stroke-width:1;"/>
+        <path d="M 561.6571428571428 -300.2816 L 575.9428571428572 -300.2816" style="stroke-width:1;"/>
+        <path d="M 568.8 -293.13874285714286 L 568.8 -307.42445714285714" style="stroke-width:1;"/>
+        <path d="M 600.0571428571428 -300.2816 L 614.3428571428572 -300.2816" style="stroke-width:1;"/>
+        <path d="M 607.2 -293.13874285714286 L 607.2 -307.42445714285714" style="stroke-width:1;"/>
+        <path d="M 638.4571428571428 -300.2816 L 652.7428571428572 -300.2816" style="stroke-width:1;"/>
+        <path d="M 645.6 -293.13874285714286 L 645.6 -307.42445714285714" style="stroke-width:1;"/>
+        <path d="M 676.8571428571429 -300.2816 L 691.1428571428571 -300.2816" style="stroke-width:1;"/>
+        <path d="M 684.0 -293.13874285714286 L 684.0 -307.42445714285714" style="stroke-width:1;"/>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip75);">
+      <path d="M 290 -54 L 290 -182 L 324 -182 L 324 -54 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -172.66666666666669 L 314 -172.66666666666669" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip76);">
+      <path d="M 303.0 -168.66666666666669 L 303.0 -176.66666666666669 L 311.0 -176.66666666666669 L 311.0 -168.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 303.0 -168.66666666666669 L 303.0 -176.66666666666669 L 311.0 -176.66666666666669 L 311.0 -168.66666666666669 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-168.0">
+        n_pq_vector
+      </text>
+      <path d="M 300 -154.66666666666666 L 314 -154.66666666666666" style="stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip77);">
+        <path d="M 299.0 -146.66666666666666 L 299.0 -162.66666666666666 L 315.0 -162.66666666666666 L 315.0 -146.66666666666666 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 307.0 -154.66666666666666 M 311.0 -154.66666666666666 L 311 -154.667 M 311 -154.667 A 4 4 0 1 0 303 -154.667 A 4 4 0 1 0 311 -154.667 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-150.0">
+          n_pq_deque
+        </text>
+        <path d="M 300 -136.66666666666666 L 314 -136.66666666666666" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip78);">
+          <path d="M 300.75 -131.66666666666666 L 300.75 -141.66666666666666 L 313.25 -141.66666666666666 L 313.25 -131.66666666666666 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 307.0 -131.66666666666666 L 300.75 -141.66666666666666 L 313.25 -141.66666666666666 Z"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-132.0">
+            binary_heap
+          </text>
+          <path d="M 300 -118.66666666666666 L 314 -118.66666666666666" style="stroke-width:2;"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip79);">
+            <path d="M 299.0 -110.66666666666666 L 299.0 -126.66666666666666 L 315.0 -126.66666666666666 L 315.0 -110.66666666666666 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 307.0 -118.66666666666666 M 311.0 -118.66666666666666 L 311 -118.667 M 311 -118.667 A 4 4 0 1 0 303 -118.667 A 4 4 0 1 0 311 -118.667 Z"/>
+            <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-114.0">
+              thin_heap
+            </text>
+            <path d="M 300 -100.66666666666666 L 314 -100.66666666666666" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip80);">
+              <path d="M 300.75 -95.66666666666666 L 300.75 -105.66666666666666 L 313.25 -105.66666666666666 L 313.25 -95.66666666666666 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 300.75 -95.66666666666666 L 313.25 -95.66666666666666 L 307.0 -105.66666666666666 Z"/>
+              <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-96.0">
+                binomial_heap
+              </text>
+              <path d="M 300 -82.66666666666666 L 314 -82.66666666666666" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip81);">
+                <path d="M 299.85714285714283 -75.52380952380952 L 299.85714285714283 -89.8095238095238 L 314.14285714285717 -89.8095238095238 L 314.14285714285717 -75.52380952380952 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 299.85714285714283 -82.66666666666666 L 307.0 -89.8095238095238 L 314.14285714285717 -82.66666666666666 L 307.0 -75.52380952380952 Z"/>
+                <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-78.0">
+                  rc_binomial_heap
+                </text>
+                <path d="M 300 -64.66666666666666 L 314 -64.66666666666666" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+                <path d="M 299.85714285714283 -64.66666666666666 L 314.14285714285717 -64.66666666666666" style="stroke-width:1;"/>
+                <path d="M 307.0 -57.52380952380952 L 307.0 -71.8095238095238" style="stroke-width:1;"/>
+                <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-60.0">
+                  pairing_heap
+                </text>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_pop_timing_test_local.pdf b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_pop_timing_test_local.pdf
new file mode 100644 (file)
index 0000000..16e0325
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_pop_timing_test_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_pop_timing_test_local.png b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_pop_timing_test_local.png
new file mode 100644 (file)
index 0000000..7820531
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_pop_timing_test_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_pop_timing_test_local.svg b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_pop_timing_test_local.svg
new file mode 100644 (file)
index 0000000..81ebb40
--- /dev/null
@@ -0,0 +1,825 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 496.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 338.4 -319.02358828362946 L 332.15 -329.02358828362946 L 344.65 -329.02358828362946 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 376.8 -338.8708644403897 L 370.55 -348.8708644403897 L 383.05 -348.8708644403897 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 415.2 -361.666619745818 L 408.95 -371.666619745818 L 421.45 -371.666619745818 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 453.6 -380.4837920726053 L 447.35 -390.4837920726053 L 459.85 -390.4837920726053 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 492.0 -398.22599602697716 L 485.75 -408.22599602697716 L 498.25 -408.22599602697716 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 530.4 -419.73116993030493 L 524.15 -429.73116993030493 L 536.65 -429.73116993030493 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 568.8 -446.15208865225145 L 562.55 -456.15208865225145 L 575.05 -456.15208865225145 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 607.2 -465.9679712422119 L 600.95 -475.9679712422119 L 613.45 -475.9679712422119 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 645.6 -487.8315969686786 L 639.35 -497.8315969686786 L 651.85 -497.8315969686786 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 684.0 -515.0 L 677.75 -525.0 L 690.25 -525.0 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 331.25714285714287 -301.34638143482783 L 338.4 -308.48923857768494 L 345.54285714285714 -301.34638143482783 L 338.4 -294.20352429197067 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 369.65714285714284 -301.53403057714405 L 376.8 -308.67688772000116 L 383.9428571428571 -301.53403057714405 L 376.8 -294.3911734342869 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 408.0571428571429 -301.65685258466425 L 415.2 -308.7997097275214 L 422.34285714285716 -301.65685258466425 L 415.2 -294.51399544180714 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 446.45714285714286 -301.709954551293 L 453.6 -308.85281169415015 L 460.74285714285713 -301.709954551293 L 453.6 -294.56709740843587 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 484.8571428571429 -301.8004500882405 L 492.0 -308.94330723109766 L 499.1428571428571 -301.8004500882405 L 492.0 -294.6575929453834 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 523.2571428571429 -301.8685017410567 L 530.4 -309.0113588839139 L 537.5428571428572 -301.8685017410567 L 530.4 -294.7256445981996 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 561.6571428571428 -301.8433172101567 L 568.8 -308.9861743530139 L 575.9428571428572 -301.8433172101567 L 568.8 -294.70046006729956 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 600.0571428571428 -301.85208108626455 L 607.2 -308.9949382291217 L 614.3428571428572 -301.85208108626455 L 607.2 -294.70922394340744 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 638.4571428571428 -301.8905817540069 L 645.6 -309.033438896864 L 652.7428571428572 -301.8905817540069 L 645.6 -294.74772461114975 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 676.8571428571429 -301.9354850061496 L 684.0 -309.0783421490067 L 691.1428571428571 -301.9354850061496 L 684.0 -294.7926278632924 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 338.4 -301.2731620370452 M 342.4 -301.2731620370452 L 342.4 -301.273 M 342.4 -301.273 A 4 4 0 1 0 334.4 -301.273 A 4 4 0 1 0 342.4 -301.273 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 376.8 -301.4949221671098 M 380.8 -301.4949221671098 L 380.8 -301.495 M 380.8 -301.495 A 4 4 0 1 0 372.8 -301.495 A 4 4 0 1 0 380.8 -301.495 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 415.2 -301.63795450906423 M 419.2 -301.63795450906423 L 419.2 -301.638 M 419.2 -301.638 A 4 4 0 1 0 411.2 -301.638 A 4 4 0 1 0 419.2 -301.638 Z"/>
+    </clipPath>
+    <clipPath id="clip30">
+      <path d="M 453.6 -301.66493517004994 M 457.6 -301.66493517004994 L 457.6 -301.665 M 457.6 -301.665 A 4 4 0 1 0 449.6 -301.665 A 4 4 0 1 0 457.6 -301.665 Z"/>
+    </clipPath>
+    <clipPath id="clip31">
+      <path d="M 492.0 -301.7576294179645 M 496.0 -301.7576294179645 L 496 -301.758 M 496 -301.758 A 4 4 0 1 0 488 -301.758 A 4 4 0 1 0 496 -301.758 Z"/>
+    </clipPath>
+    <clipPath id="clip32">
+      <path d="M 530.4 -301.8388655946426 M 534.4 -301.8388655946426 L 534.4 -301.839 M 534.4 -301.839 A 4 4 0 1 0 526.4 -301.839 A 4 4 0 1 0 534.4 -301.839 Z"/>
+    </clipPath>
+    <clipPath id="clip33">
+      <path d="M 568.8 -301.83923333679377 M 572.8 -301.83923333679377 L 572.8 -301.839 M 572.8 -301.839 A 4 4 0 1 0 564.8 -301.839 A 4 4 0 1 0 572.8 -301.839 Z"/>
+    </clipPath>
+    <clipPath id="clip34">
+      <path d="M 607.2 -301.8618359306956 M 611.2 -301.8618359306956 L 611.2 -301.862 M 611.2 -301.862 A 4 4 0 1 0 603.2 -301.862 A 4 4 0 1 0 611.2 -301.862 Z"/>
+    </clipPath>
+    <clipPath id="clip35">
+      <path d="M 645.6 -301.9368204908038 M 649.6 -301.9368204908038 L 649.6 -301.937 M 649.6 -301.937 A 4 4 0 1 0 641.6 -301.937 A 4 4 0 1 0 649.6 -301.937 Z"/>
+    </clipPath>
+    <clipPath id="clip36">
+      <path d="M 684.0 -302.0126024707346 M 688.0 -302.0126024707346 L 688 -302.013 M 688 -302.013 A 4 4 0 1 0 680 -302.013 A 4 4 0 1 0 688 -302.013 Z"/>
+    </clipPath>
+    <clipPath id="clip37">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip38">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip39">
+      <path d="M 332.15 -296.21855426308167 L 344.65 -296.21855426308167 L 338.4 -306.21855426308167 Z"/>
+    </clipPath>
+    <clipPath id="clip40">
+      <path d="M 370.55 -296.3938666239687 L 383.05 -296.3938666239687 L 376.8 -306.3938666239687 Z"/>
+    </clipPath>
+    <clipPath id="clip41">
+      <path d="M 408.95 -296.5214034729639 L 421.45 -296.5214034729639 L 415.2 -306.5214034729639 Z"/>
+    </clipPath>
+    <clipPath id="clip42">
+      <path d="M 447.35 -296.5967751300734 L 459.85 -296.5967751300734 L 453.6 -306.5967751300734 Z"/>
+    </clipPath>
+    <clipPath id="clip43">
+      <path d="M 485.75 -296.64746548238446 L 498.25 -296.64746548238446 L 492.0 -306.64746548238446 Z"/>
+    </clipPath>
+    <clipPath id="clip44">
+      <path d="M 524.15 -296.6999480938112 L 536.65 -296.6999480938112 L 530.4 -306.6999480938112 Z"/>
+    </clipPath>
+    <clipPath id="clip45">
+      <path d="M 562.55 -296.70047067476287 L 575.05 -296.70047067476287 L 568.8 -306.70047067476287 Z"/>
+    </clipPath>
+    <clipPath id="clip46">
+      <path d="M 600.95 -296.737020373619 L 613.45 -296.737020373619 L 607.2 -306.737020373619 Z"/>
+    </clipPath>
+    <clipPath id="clip47">
+      <path d="M 639.35 -296.7630836147118 L 651.85 -296.7630836147118 L 645.6 -306.7630836147118 Z"/>
+    </clipPath>
+    <clipPath id="clip48">
+      <path d="M 677.75 -296.8078707377541 L 690.25 -296.8078707377541 L 684.0 -306.8078707377541 Z"/>
+    </clipPath>
+    <clipPath id="clip49">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip50">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip51">
+      <path d="M 338.4 -301.145958091471 M 342.4 -301.145958091471 L 342.4 -301.146 M 342.4 -301.146 A 4 4 0 1 0 334.4 -301.146 A 4 4 0 1 0 342.4 -301.146 Z"/>
+    </clipPath>
+    <clipPath id="clip52">
+      <path d="M 376.8 -301.301416247165 M 380.8 -301.301416247165 L 380.8 -301.301 M 380.8 -301.301 A 4 4 0 1 0 372.8 -301.301 A 4 4 0 1 0 380.8 -301.301 Z"/>
+    </clipPath>
+    <clipPath id="clip53">
+      <path d="M 415.2 -301.37377628960485 M 419.2 -301.37377628960485 L 419.2 -301.374 M 419.2 -301.374 A 4 4 0 1 0 411.2 -301.374 A 4 4 0 1 0 419.2 -301.374 Z"/>
+    </clipPath>
+    <clipPath id="clip54">
+      <path d="M 453.6 -301.4568163383087 M 457.6 -301.4568163383087 L 457.6 -301.457 M 457.6 -301.457 A 4 4 0 1 0 449.6 -301.457 A 4 4 0 1 0 457.6 -301.457 Z"/>
+    </clipPath>
+    <clipPath id="clip55">
+      <path d="M 492.0 -301.46844860319567 M 496.0 -301.46844860319567 L 496 -301.468 M 496 -301.468 A 4 4 0 1 0 488 -301.468 A 4 4 0 1 0 496 -301.468 Z"/>
+    </clipPath>
+    <clipPath id="clip56">
+      <path d="M 530.4 -301.521113150213 M 534.4 -301.521113150213 L 534.4 -301.521 M 534.4 -301.521 A 4 4 0 1 0 526.4 -301.521 A 4 4 0 1 0 534.4 -301.521 Z"/>
+    </clipPath>
+    <clipPath id="clip57">
+      <path d="M 568.8 -301.56170027079196 M 572.8 -301.56170027079196 L 572.8 -301.562 M 572.8 -301.562 A 4 4 0 1 0 564.8 -301.562 A 4 4 0 1 0 572.8 -301.562 Z"/>
+    </clipPath>
+    <clipPath id="clip58">
+      <path d="M 607.2 -301.61290546211467 M 611.2 -301.61290546211467 L 611.2 -301.613 M 611.2 -301.613 A 4 4 0 1 0 603.2 -301.613 A 4 4 0 1 0 611.2 -301.613 Z"/>
+    </clipPath>
+    <clipPath id="clip59">
+      <path d="M 645.6 -301.609247395453 M 649.6 -301.609247395453 L 649.6 -301.609 M 649.6 -301.609 A 4 4 0 1 0 641.6 -301.609 A 4 4 0 1 0 649.6 -301.609 Z"/>
+    </clipPath>
+    <clipPath id="clip60">
+      <path d="M 684.0 -301.6830319548574 M 688.0 -301.6830319548574 L 688 -301.683 M 688 -301.683 A 4 4 0 1 0 680 -301.683 A 4 4 0 1 0 688 -301.683 Z"/>
+    </clipPath>
+    <clipPath id="clip61">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip62">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip63">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip64">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip65">
+      <path d="M 334.4 -296.99423155086896 L 334.4 -304.99423155086896 L 342.4 -304.99423155086896 L 342.4 -296.99423155086896 Z"/>
+    </clipPath>
+    <clipPath id="clip66">
+      <path d="M 372.8 -297.0555283610137 L 372.8 -305.0555283610137 L 380.8 -305.0555283610137 L 380.8 -297.0555283610137 Z"/>
+    </clipPath>
+    <clipPath id="clip67">
+      <path d="M 411.2 -297.08683289550316 L 411.2 -305.08683289550316 L 419.2 -305.08683289550316 L 419.2 -297.08683289550316 Z"/>
+    </clipPath>
+    <clipPath id="clip68">
+      <path d="M 449.6 -297.1250471114646 L 449.6 -305.1250471114646 L 457.6 -305.1250471114646 L 457.6 -297.1250471114646 Z"/>
+    </clipPath>
+    <clipPath id="clip69">
+      <path d="M 488.0 -297.16545229645294 L 488.0 -305.16545229645294 L 496.0 -305.16545229645294 L 496.0 -297.16545229645294 Z"/>
+    </clipPath>
+    <clipPath id="clip70">
+      <path d="M 526.4 -297.18212843526595 L 526.4 -305.18212843526595 L 534.4 -305.18212843526595 L 534.4 -297.18212843526595 Z"/>
+    </clipPath>
+    <clipPath id="clip71">
+      <path d="M 564.8 -297.1972948957741 L 564.8 -305.1972948957741 L 572.8 -305.1972948957741 L 572.8 -297.1972948957741 Z"/>
+    </clipPath>
+    <clipPath id="clip72">
+      <path d="M 603.2 -297.20967812884345 L 603.2 -305.20967812884345 L 611.2 -305.20967812884345 L 611.2 -297.20967812884345 Z"/>
+    </clipPath>
+    <clipPath id="clip73">
+      <path d="M 641.6 -297.24566653704784 L 641.6 -305.24566653704784 L 649.6 -305.24566653704784 L 649.6 -297.24566653704784 Z"/>
+    </clipPath>
+    <clipPath id="clip74">
+      <path d="M 680.0 -297.24731169930305 L 680.0 -305.24731169930305 L 688.0 -305.24731169930305 L 688.0 -297.24731169930305 Z"/>
+    </clipPath>
+    <clipPath id="clip75">
+      <path d="M 290 -54 L 290 -182 L 324 -182 L 324 -54 Z"/>
+    </clipPath>
+    <clipPath id="clip76">
+      <path d="M 307.0 -167.66666666666669 L 300.75 -177.66666666666669 L 313.25 -177.66666666666669 Z"/>
+    </clipPath>
+    <clipPath id="clip77">
+      <path d="M 299.85714285714283 -154.66666666666666 L 307.0 -161.8095238095238 L 314.14285714285717 -154.66666666666666 L 307.0 -147.52380952380952 Z"/>
+    </clipPath>
+    <clipPath id="clip78">
+      <path d="M 307.0 -136.66666666666666 M 311.0 -136.66666666666666 L 311 -136.667 M 311 -136.667 A 4 4 0 1 0 303 -136.667 A 4 4 0 1 0 311 -136.667 Z"/>
+    </clipPath>
+    <clipPath id="clip79">
+      <path d="M 300.75 -113.66666666666666 L 313.25 -113.66666666666666 L 307.0 -123.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip80">
+      <path d="M 307.0 -100.66666666666666 M 311.0 -100.66666666666666 L 311 -100.667 M 311 -100.667 A 4 4 0 1 0 303 -100.667 A 4 4 0 1 0 311 -100.667 Z"/>
+    </clipPath>
+    <clipPath id="clip81">
+      <path d="M 303.0 -60.66666666666666 L 303.0 -68.66666666666666 L 311.0 -68.66666666666666 L 311.0 -60.66666666666666 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      1.14e-05
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.50048673219425">
+      2.27e-05
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      3.41e-05
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.50048673219425">
+      4.55e-05
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      5.68e-05
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -324.02358828362946 L 376.8 -343.8708644403897 L 415.2 -366.666619745818 L 453.6 -385.4837920726053 L 492.0 -403.22599602697716 L 530.4 -424.73116993030493 L 568.8 -451.15208865225145 L 607.2 -470.9679712422119 L 645.6 -492.8315969686786 L 684.0 -520.0" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 332.15 -319.02358828362946 L 332.15 -329.02358828362946 L 344.65 -329.02358828362946 L 344.65 -319.02358828362946 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -319.02358828362946 L 332.15 -329.02358828362946 L 344.65 -329.02358828362946 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 370.55 -338.8708644403897 L 370.55 -348.8708644403897 L 383.05 -348.8708644403897 L 383.05 -338.8708644403897 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -338.8708644403897 L 370.55 -348.8708644403897 L 383.05 -348.8708644403897 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 408.95 -361.666619745818 L 408.95 -371.666619745818 L 421.45 -371.666619745818 L 421.45 -361.666619745818 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -361.666619745818 L 408.95 -371.666619745818 L 421.45 -371.666619745818 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 447.35 -380.4837920726053 L 447.35 -390.4837920726053 L 459.85 -390.4837920726053 L 459.85 -380.4837920726053 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -380.4837920726053 L 447.35 -390.4837920726053 L 459.85 -390.4837920726053 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 485.75 -398.22599602697716 L 485.75 -408.22599602697716 L 498.25 -408.22599602697716 L 498.25 -398.22599602697716 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -398.22599602697716 L 485.75 -408.22599602697716 L 498.25 -408.22599602697716 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 524.15 -419.73116993030493 L 524.15 -429.73116993030493 L 536.65 -429.73116993030493 L 536.65 -419.73116993030493 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -419.73116993030493 L 524.15 -429.73116993030493 L 536.65 -429.73116993030493 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 562.55 -446.15208865225145 L 562.55 -456.15208865225145 L 575.05 -456.15208865225145 L 575.05 -446.15208865225145 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -446.15208865225145 L 562.55 -456.15208865225145 L 575.05 -456.15208865225145 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 600.95 -465.9679712422119 L 600.95 -475.9679712422119 L 613.45 -475.9679712422119 L 613.45 -465.9679712422119 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -465.9679712422119 L 600.95 -475.9679712422119 L 613.45 -475.9679712422119 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 639.35 -487.8315969686786 L 639.35 -497.8315969686786 L 651.85 -497.8315969686786 L 651.85 -487.8315969686786 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -487.8315969686786 L 639.35 -497.8315969686786 L 651.85 -497.8315969686786 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 677.75 -515.0 L 677.75 -525.0 L 690.25 -525.0 L 690.25 -515.0 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -515.0 L 677.75 -525.0 L 690.25 -525.0 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 338.4 -301.34638143482783 L 376.8 -301.53403057714405 L 415.2 -301.65685258466425 L 453.6 -301.709954551293 L 492.0 -301.8004500882405 L 530.4 -301.8685017410567 L 568.8 -301.8433172101567 L 607.2 -301.85208108626455 L 645.6 -301.8905817540069 L 684.0 -301.9354850061496" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 331.25714285714287 -294.20352429197067 L 331.25714285714287 -308.48923857768494 L 345.54285714285714 -308.48923857768494 L 345.54285714285714 -294.20352429197067 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 331.25714285714287 -301.34638143482783 L 338.4 -308.48923857768494 L 345.54285714285714 -301.34638143482783 L 338.4 -294.20352429197067 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 369.65714285714284 -294.3911734342869 L 369.65714285714284 -308.67688772000116 L 383.9428571428571 -308.67688772000116 L 383.9428571428571 -294.3911734342869 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 369.65714285714284 -301.53403057714405 L 376.8 -308.67688772000116 L 383.9428571428571 -301.53403057714405 L 376.8 -294.3911734342869 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 408.0571428571429 -294.51399544180714 L 408.0571428571429 -308.7997097275214 L 422.34285714285716 -308.7997097275214 L 422.34285714285716 -294.51399544180714 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.0571428571429 -301.65685258466425 L 415.2 -308.7997097275214 L 422.34285714285716 -301.65685258466425 L 415.2 -294.51399544180714 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 446.45714285714286 -294.56709740843587 L 446.45714285714286 -308.85281169415015 L 460.74285714285713 -308.85281169415015 L 460.74285714285713 -294.56709740843587 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 446.45714285714286 -301.709954551293 L 453.6 -308.85281169415015 L 460.74285714285713 -301.709954551293 L 453.6 -294.56709740843587 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 484.8571428571429 -294.6575929453834 L 484.8571428571429 -308.94330723109766 L 499.1428571428571 -308.94330723109766 L 499.1428571428571 -294.6575929453834 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 484.8571428571429 -301.8004500882405 L 492.0 -308.94330723109766 L 499.1428571428571 -301.8004500882405 L 492.0 -294.6575929453834 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 523.2571428571429 -294.7256445981996 L 523.2571428571429 -309.0113588839139 L 537.5428571428572 -309.0113588839139 L 537.5428571428572 -294.7256445981996 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 523.2571428571429 -301.8685017410567 L 530.4 -309.0113588839139 L 537.5428571428572 -301.8685017410567 L 530.4 -294.7256445981996 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 561.6571428571428 -294.70046006729956 L 561.6571428571428 -308.9861743530139 L 575.9428571428572 -308.9861743530139 L 575.9428571428572 -294.70046006729956 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 561.6571428571428 -301.8433172101567 L 568.8 -308.9861743530139 L 575.9428571428572 -301.8433172101567 L 568.8 -294.70046006729956 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 600.0571428571428 -294.70922394340744 L 600.0571428571428 -308.9949382291217 L 614.3428571428572 -308.9949382291217 L 614.3428571428572 -294.70922394340744 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.0571428571428 -301.85208108626455 L 607.2 -308.9949382291217 L 614.3428571428572 -301.85208108626455 L 607.2 -294.70922394340744 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 638.4571428571428 -294.74772461114975 L 638.4571428571428 -309.033438896864 L 652.7428571428572 -309.033438896864 L 652.7428571428572 -294.74772461114975 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 638.4571428571428 -301.8905817540069 L 645.6 -309.033438896864 L 652.7428571428572 -301.8905817540069 L 645.6 -294.74772461114975 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 676.8571428571429 -294.7926278632924 L 676.8571428571429 -309.0783421490067 L 691.1428571428571 -309.0783421490067 L 691.1428571428571 -294.7926278632924 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 676.8571428571429 -301.9354850061496 L 684.0 -309.0783421490067 L 691.1428571428571 -301.9354850061496 L 684.0 -294.7926278632924 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 338.4 -301.2731620370452 L 376.8 -301.4949221671098 L 415.2 -301.63795450906423 L 453.6 -301.66493517004994 L 492.0 -301.7576294179645 L 530.4 -301.8388655946426 L 568.8 -301.83923333679377 L 607.2 -301.8618359306956 L 645.6 -301.9368204908038 L 684.0 -302.0126024707346" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip27);">
+          <path d="M 330.4 -293.2731620370452 L 330.4 -309.27316203704515 L 346.4 -309.27316203704515 L 346.4 -293.2731620370452 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -301.2731620370452 M 342.4 -301.2731620370452 L 342.4 -301.273 M 342.4 -301.273 A 4 4 0 1 0 334.4 -301.273 A 4 4 0 1 0 342.4 -301.273 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip28);">
+            <path d="M 368.8 -293.4949221671098 L 368.8 -309.4949221671098 L 384.8 -309.4949221671098 L 384.8 -293.4949221671098 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -301.4949221671098 M 380.8 -301.4949221671098 L 380.8 -301.495 M 380.8 -301.495 A 4 4 0 1 0 372.8 -301.495 A 4 4 0 1 0 380.8 -301.495 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+              <path d="M 407.2 -293.63795450906423 L 407.2 -309.63795450906423 L 423.2 -309.63795450906423 L 423.2 -293.63795450906423 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -301.63795450906423 M 419.2 -301.63795450906423 L 419.2 -301.638 M 419.2 -301.638 A 4 4 0 1 0 411.2 -301.638 A 4 4 0 1 0 419.2 -301.638 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip30);">
+                <path d="M 445.6 -293.66493517004994 L 445.6 -309.66493517004994 L 461.6 -309.66493517004994 L 461.6 -293.66493517004994 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -301.66493517004994 M 457.6 -301.66493517004994 L 457.6 -301.665 M 457.6 -301.665 A 4 4 0 1 0 449.6 -301.665 A 4 4 0 1 0 457.6 -301.665 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip31);">
+                  <path d="M 484.0 -293.7576294179645 L 484.0 -309.7576294179645 L 500.0 -309.7576294179645 L 500.0 -293.7576294179645 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -301.7576294179645 M 496.0 -301.7576294179645 L 496 -301.758 M 496 -301.758 A 4 4 0 1 0 488 -301.758 A 4 4 0 1 0 496 -301.758 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip32);">
+                    <path d="M 522.4 -293.8388655946426 L 522.4 -309.8388655946426 L 538.4 -309.8388655946426 L 538.4 -293.8388655946426 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -301.8388655946426 M 534.4 -301.8388655946426 L 534.4 -301.839 M 534.4 -301.839 A 4 4 0 1 0 526.4 -301.839 A 4 4 0 1 0 534.4 -301.839 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip33);">
+                      <path d="M 560.8 -293.83923333679377 L 560.8 -309.83923333679377 L 576.8 -309.83923333679377 L 576.8 -293.83923333679377 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -301.83923333679377 M 572.8 -301.83923333679377 L 572.8 -301.839 M 572.8 -301.839 A 4 4 0 1 0 564.8 -301.839 A 4 4 0 1 0 572.8 -301.839 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip34);">
+                        <path d="M 599.2 -293.8618359306956 L 599.2 -309.8618359306956 L 615.2 -309.8618359306956 L 615.2 -293.8618359306956 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -301.8618359306956 M 611.2 -301.8618359306956 L 611.2 -301.862 M 611.2 -301.862 A 4 4 0 1 0 603.2 -301.862 A 4 4 0 1 0 611.2 -301.862 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip35);">
+                          <path d="M 637.6 -293.9368204908038 L 637.6 -309.9368204908038 L 653.6 -309.9368204908038 L 653.6 -293.9368204908038 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -301.9368204908038 M 649.6 -301.9368204908038 L 649.6 -301.937 M 649.6 -301.937 A 4 4 0 1 0 641.6 -301.937 A 4 4 0 1 0 649.6 -301.937 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip36);">
+                            <path d="M 676.0 -294.0126024707346 L 676.0 -310.0126024707346 L 692.0 -310.0126024707346 L 692.0 -294.0126024707346 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -302.0126024707346 M 688.0 -302.0126024707346 L 688 -302.013 M 688 -302.013 A 4 4 0 1 0 680 -302.013 A 4 4 0 1 0 688 -302.013 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip37);">
+        <path d="M 338.4 -301.21855426308167 L 376.8 -301.3938666239687 L 415.2 -301.5214034729639 L 453.6 -301.5967751300734 L 492.0 -301.64746548238446 L 530.4 -301.6999480938112 L 568.8 -301.70047067476287 L 607.2 -301.737020373619 L 645.6 -301.7630836147118 L 684.0 -301.8078707377541" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip38);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip39);">
+          <path d="M 332.15 -296.21855426308167 L 332.15 -306.21855426308167 L 344.65 -306.21855426308167 L 344.65 -296.21855426308167 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 332.15 -296.21855426308167 L 344.65 -296.21855426308167 L 338.4 -306.21855426308167 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip40);">
+            <path d="M 370.55 -296.3938666239687 L 370.55 -306.3938666239687 L 383.05 -306.3938666239687 L 383.05 -296.3938666239687 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 370.55 -296.3938666239687 L 383.05 -296.3938666239687 L 376.8 -306.3938666239687 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip41);">
+              <path d="M 408.95 -296.5214034729639 L 408.95 -306.5214034729639 L 421.45 -306.5214034729639 L 421.45 -296.5214034729639 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.95 -296.5214034729639 L 421.45 -296.5214034729639 L 415.2 -306.5214034729639 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip42);">
+                <path d="M 447.35 -296.5967751300734 L 447.35 -306.5967751300734 L 459.85 -306.5967751300734 L 459.85 -296.5967751300734 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 447.35 -296.5967751300734 L 459.85 -296.5967751300734 L 453.6 -306.5967751300734 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip43);">
+                  <path d="M 485.75 -296.64746548238446 L 485.75 -306.64746548238446 L 498.25 -306.64746548238446 L 498.25 -296.64746548238446 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 485.75 -296.64746548238446 L 498.25 -296.64746548238446 L 492.0 -306.64746548238446 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip44);">
+                    <path d="M 524.15 -296.6999480938112 L 524.15 -306.6999480938112 L 536.65 -306.6999480938112 L 536.65 -296.6999480938112 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 524.15 -296.6999480938112 L 536.65 -296.6999480938112 L 530.4 -306.6999480938112 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip45);">
+                      <path d="M 562.55 -296.70047067476287 L 562.55 -306.70047067476287 L 575.05 -306.70047067476287 L 575.05 -296.70047067476287 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 562.55 -296.70047067476287 L 575.05 -296.70047067476287 L 568.8 -306.70047067476287 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip46);">
+                        <path d="M 600.95 -296.737020373619 L 600.95 -306.737020373619 L 613.45 -306.737020373619 L 613.45 -296.737020373619 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.95 -296.737020373619 L 613.45 -296.737020373619 L 607.2 -306.737020373619 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip47);">
+                          <path d="M 639.35 -296.7630836147118 L 639.35 -306.7630836147118 L 651.85 -306.7630836147118 L 651.85 -296.7630836147118 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 639.35 -296.7630836147118 L 651.85 -296.7630836147118 L 645.6 -306.7630836147118 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip48);">
+                            <path d="M 677.75 -296.8078707377541 L 677.75 -306.8078707377541 L 690.25 -306.8078707377541 L 690.25 -296.8078707377541 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 677.75 -296.8078707377541 L 690.25 -296.8078707377541 L 684.0 -306.8078707377541 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip49);">
+        <path d="M 338.4 -301.145958091471 L 376.8 -301.301416247165 L 415.2 -301.37377628960485 L 453.6 -301.4568163383087 L 492.0 -301.46844860319567 L 530.4 -301.521113150213 L 568.8 -301.56170027079196 L 607.2 -301.61290546211467 L 645.6 -301.609247395453 L 684.0 -301.6830319548574" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip50);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip51);">
+          <path d="M 330.4 -293.145958091471 L 330.4 -309.145958091471 L 346.4 -309.145958091471 L 346.4 -293.145958091471 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -301.145958091471 M 342.4 -301.145958091471 L 342.4 -301.146 M 342.4 -301.146 A 4 4 0 1 0 334.4 -301.146 A 4 4 0 1 0 342.4 -301.146 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip52);">
+            <path d="M 368.8 -293.301416247165 L 368.8 -309.301416247165 L 384.8 -309.301416247165 L 384.8 -293.301416247165 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -301.301416247165 M 380.8 -301.301416247165 L 380.8 -301.301 M 380.8 -301.301 A 4 4 0 1 0 372.8 -301.301 A 4 4 0 1 0 380.8 -301.301 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip53);">
+              <path d="M 407.2 -293.37377628960485 L 407.2 -309.37377628960485 L 423.2 -309.37377628960485 L 423.2 -293.37377628960485 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -301.37377628960485 M 419.2 -301.37377628960485 L 419.2 -301.374 M 419.2 -301.374 A 4 4 0 1 0 411.2 -301.374 A 4 4 0 1 0 419.2 -301.374 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip54);">
+                <path d="M 445.6 -293.4568163383087 L 445.6 -309.4568163383087 L 461.6 -309.4568163383087 L 461.6 -293.4568163383087 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -301.4568163383087 M 457.6 -301.4568163383087 L 457.6 -301.457 M 457.6 -301.457 A 4 4 0 1 0 449.6 -301.457 A 4 4 0 1 0 457.6 -301.457 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip55);">
+                  <path d="M 484.0 -293.46844860319567 L 484.0 -309.46844860319567 L 500.0 -309.46844860319567 L 500.0 -293.46844860319567 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -301.46844860319567 M 496.0 -301.46844860319567 L 496 -301.468 M 496 -301.468 A 4 4 0 1 0 488 -301.468 A 4 4 0 1 0 496 -301.468 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip56);">
+                    <path d="M 522.4 -293.521113150213 L 522.4 -309.521113150213 L 538.4 -309.521113150213 L 538.4 -293.521113150213 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -301.521113150213 M 534.4 -301.521113150213 L 534.4 -301.521 M 534.4 -301.521 A 4 4 0 1 0 526.4 -301.521 A 4 4 0 1 0 534.4 -301.521 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip57);">
+                      <path d="M 560.8 -293.56170027079196 L 560.8 -309.56170027079196 L 576.8 -309.56170027079196 L 576.8 -293.56170027079196 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -301.56170027079196 M 572.8 -301.56170027079196 L 572.8 -301.562 M 572.8 -301.562 A 4 4 0 1 0 564.8 -301.562 A 4 4 0 1 0 572.8 -301.562 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip58);">
+                        <path d="M 599.2 -293.61290546211467 L 599.2 -309.61290546211467 L 615.2 -309.61290546211467 L 615.2 -293.61290546211467 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -301.61290546211467 M 611.2 -301.61290546211467 L 611.2 -301.613 M 611.2 -301.613 A 4 4 0 1 0 603.2 -301.613 A 4 4 0 1 0 611.2 -301.613 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip59);">
+                          <path d="M 637.6 -293.609247395453 L 637.6 -309.609247395453 L 653.6 -309.609247395453 L 653.6 -293.609247395453 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -301.609247395453 M 649.6 -301.609247395453 L 649.6 -301.609 M 649.6 -301.609 A 4 4 0 1 0 641.6 -301.609 A 4 4 0 1 0 649.6 -301.609 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip60);">
+                            <path d="M 676.0 -293.6830319548574 L 676.0 -309.6830319548574 L 692.0 -309.6830319548574 L 692.0 -293.6830319548574 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -301.6830319548574 M 688.0 -301.6830319548574 L 688 -301.683 M 688 -301.683 A 4 4 0 1 0 680 -301.683 A 4 4 0 1 0 688 -301.683 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip61);">
+        <path d="M 338.4 -300.95331152686896 L 376.8 -301.1261735637382 L 415.2 -301.23934524301774 L 453.6 -301.3144227064063 L 492.0 -301.2903220471097 L 530.4 -301.3784640342898 L 568.8 -301.430160838804 L 607.2 -301.4448937506708 L 645.6 -301.4848963547779 L 684.0 -301.51435830754156" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip62);">
+        <path d="M 331.25714285714287 -300.95331152686896 L 345.54285714285714 -300.95331152686896" style="stroke-width:1;"/>
+        <path d="M 338.4 -293.8104543840118 L 338.4 -308.09616866972607" style="stroke-width:1;"/>
+        <path d="M 369.65714285714284 -301.1261735637382 L 383.9428571428571 -301.1261735637382" style="stroke-width:1;"/>
+        <path d="M 376.8 -293.983316420881 L 376.8 -308.2690307065953" style="stroke-width:1;"/>
+        <path d="M 408.0571428571429 -301.23934524301774 L 422.34285714285716 -301.23934524301774" style="stroke-width:1;"/>
+        <path d="M 415.2 -294.09648810016057 L 415.2 -308.3822023858749" style="stroke-width:1;"/>
+        <path d="M 446.45714285714286 -301.3144227064063 L 460.74285714285713 -301.3144227064063" style="stroke-width:1;"/>
+        <path d="M 453.6 -294.1715655635491 L 453.6 -308.45727984926344" style="stroke-width:1;"/>
+        <path d="M 484.8571428571429 -301.2903220471097 L 499.1428571428571 -301.2903220471097" style="stroke-width:1;"/>
+        <path d="M 492.0 -294.14746490425256 L 492.0 -308.43317918996684" style="stroke-width:1;"/>
+        <path d="M 523.2571428571429 -301.3784640342898 L 537.5428571428572 -301.3784640342898" style="stroke-width:1;"/>
+        <path d="M 530.4 -294.2356068914326 L 530.4 -308.5213211771469" style="stroke-width:1;"/>
+        <path d="M 561.6571428571428 -301.430160838804 L 575.9428571428572 -301.430160838804" style="stroke-width:1;"/>
+        <path d="M 568.8 -294.2873036959469 L 568.8 -308.57301798166117" style="stroke-width:1;"/>
+        <path d="M 600.0571428571428 -301.4448937506708 L 614.3428571428572 -301.4448937506708" style="stroke-width:1;"/>
+        <path d="M 607.2 -294.3020366078137 L 607.2 -308.587750893528" style="stroke-width:1;"/>
+        <path d="M 638.4571428571428 -301.4848963547779 L 652.7428571428572 -301.4848963547779" style="stroke-width:1;"/>
+        <path d="M 645.6 -294.3420392119208 L 645.6 -308.62775349763507" style="stroke-width:1;"/>
+        <path d="M 676.8571428571429 -301.51435830754156 L 691.1428571428571 -301.51435830754156" style="stroke-width:1;"/>
+        <path d="M 684.0 -294.3715011646844 L 684.0 -308.65721545039867" style="stroke-width:1;"/>
+      </g>
+      <g style="clip-path:url(#clip63);">
+        <path d="M 338.4 -300.99423155086896 L 376.8 -301.0555283610137 L 415.2 -301.08683289550316 L 453.6 -301.1250471114646 L 492.0 -301.16545229645294 L 530.4 -301.18212843526595 L 568.8 -301.1972948957741 L 607.2 -301.20967812884345 L 645.6 -301.24566653704784 L 684.0 -301.24731169930305" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip64);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip65);">
+          <path d="M 334.4 -296.99423155086896 L 334.4 -304.99423155086896 L 342.4 -304.99423155086896 L 342.4 -296.99423155086896 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 334.4 -296.99423155086896 L 334.4 -304.99423155086896 L 342.4 -304.99423155086896 L 342.4 -296.99423155086896 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip66);">
+            <path d="M 372.8 -297.0555283610137 L 372.8 -305.0555283610137 L 380.8 -305.0555283610137 L 380.8 -297.0555283610137 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 372.8 -297.0555283610137 L 372.8 -305.0555283610137 L 380.8 -305.0555283610137 L 380.8 -297.0555283610137 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip67);">
+              <path d="M 411.2 -297.08683289550316 L 411.2 -305.08683289550316 L 419.2 -305.08683289550316 L 419.2 -297.08683289550316 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 411.2 -297.08683289550316 L 411.2 -305.08683289550316 L 419.2 -305.08683289550316 L 419.2 -297.08683289550316 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip68);">
+                <path d="M 449.6 -297.1250471114646 L 449.6 -305.1250471114646 L 457.6 -305.1250471114646 L 457.6 -297.1250471114646 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 449.6 -297.1250471114646 L 449.6 -305.1250471114646 L 457.6 -305.1250471114646 L 457.6 -297.1250471114646 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip69);">
+                  <path d="M 488.0 -297.16545229645294 L 488.0 -305.16545229645294 L 496.0 -305.16545229645294 L 496.0 -297.16545229645294 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 488.0 -297.16545229645294 L 488.0 -305.16545229645294 L 496.0 -305.16545229645294 L 496.0 -297.16545229645294 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip70);">
+                    <path d="M 526.4 -297.18212843526595 L 526.4 -305.18212843526595 L 534.4 -305.18212843526595 L 534.4 -297.18212843526595 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 526.4 -297.18212843526595 L 526.4 -305.18212843526595 L 534.4 -305.18212843526595 L 534.4 -297.18212843526595 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip71);">
+                      <path d="M 564.8 -297.1972948957741 L 564.8 -305.1972948957741 L 572.8 -305.1972948957741 L 572.8 -297.1972948957741 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 564.8 -297.1972948957741 L 564.8 -305.1972948957741 L 572.8 -305.1972948957741 L 572.8 -297.1972948957741 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip72);">
+                        <path d="M 603.2 -297.20967812884345 L 603.2 -305.20967812884345 L 611.2 -305.20967812884345 L 611.2 -297.20967812884345 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 603.2 -297.20967812884345 L 603.2 -305.20967812884345 L 611.2 -305.20967812884345 L 611.2 -297.20967812884345 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip73);">
+                          <path d="M 641.6 -297.24566653704784 L 641.6 -305.24566653704784 L 649.6 -305.24566653704784 L 649.6 -297.24566653704784 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 641.6 -297.24566653704784 L 641.6 -305.24566653704784 L 649.6 -305.24566653704784 L 649.6 -297.24566653704784 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip74);">
+                            <path d="M 680.0 -297.24731169930305 L 680.0 -305.24731169930305 L 688.0 -305.24731169930305 L 688.0 -297.24731169930305 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 680.0 -297.24731169930305 L 680.0 -305.24731169930305 L 688.0 -305.24731169930305 L 688.0 -297.24731169930305 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip75);">
+      <path d="M 290 -54 L 290 -182 L 324 -182 L 324 -54 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -172.66666666666669 L 314 -172.66666666666669" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip76);">
+      <path d="M 300.75 -167.66666666666669 L 300.75 -177.66666666666669 L 313.25 -177.66666666666669 L 313.25 -167.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -167.66666666666669 L 300.75 -177.66666666666669 L 313.25 -177.66666666666669 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-168.0">
+        binary_heap
+      </text>
+      <path d="M 300 -154.66666666666666 L 314 -154.66666666666666" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip77);">
+        <path d="M 299.85714285714283 -147.52380952380952 L 299.85714285714283 -161.8095238095238 L 314.14285714285717 -161.8095238095238 L 314.14285714285717 -147.52380952380952 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 299.85714285714283 -154.66666666666666 L 307.0 -161.8095238095238 L 314.14285714285717 -154.66666666666666 L 307.0 -147.52380952380952 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-150.0">
+          rc_binomial_heap
+        </text>
+        <path d="M 300 -136.66666666666666 L 314 -136.66666666666666" style="stroke-width:2;"/>
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip78);">
+          <path d="M 299.0 -128.66666666666666 L 299.0 -144.66666666666666 L 315.0 -144.66666666666666 L 315.0 -128.66666666666666 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 307.0 -136.66666666666666 M 311.0 -136.66666666666666 L 311 -136.667 M 311 -136.667 A 4 4 0 1 0 303 -136.667 A 4 4 0 1 0 311 -136.667 Z"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-132.0">
+            thin_heap
+          </text>
+          <path d="M 300 -118.66666666666666 L 314 -118.66666666666666" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip79);">
+            <path d="M 300.75 -113.66666666666666 L 300.75 -123.66666666666666 L 313.25 -123.66666666666666 L 313.25 -113.66666666666666 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 300.75 -113.66666666666666 L 313.25 -113.66666666666666 L 307.0 -123.66666666666666 Z"/>
+            <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-114.0">
+              binomial_heap
+            </text>
+            <path d="M 300 -100.66666666666666 L 314 -100.66666666666666" style="stroke-width:2;"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip80);">
+              <path d="M 299.0 -92.66666666666666 L 299.0 -108.66666666666666 L 315.0 -108.66666666666666 L 315.0 -92.66666666666666 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 307.0 -100.66666666666666 M 311.0 -100.66666666666666 L 311 -100.667 M 311 -100.667 A 4 4 0 1 0 303 -100.667 A 4 4 0 1 0 311 -100.667 Z"/>
+              <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-96.0">
+                n_pq_deque
+              </text>
+              <path d="M 300 -82.66666666666666 L 314 -82.66666666666666" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+              <path d="M 299.85714285714283 -82.66666666666666 L 314.14285714285717 -82.66666666666666" style="stroke-width:1;"/>
+              <path d="M 307.0 -75.52380952380952 L 307.0 -89.8095238095238" style="stroke-width:1;"/>
+              <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-78.0">
+                pairing_heap
+              </text>
+              <path d="M 300 -64.66666666666666 L 314 -64.66666666666666" style="stroke-width:2;"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip81);">
+                <path d="M 303.0 -60.66666666666666 L 303.0 -68.66666666666666 L 311.0 -68.66666666666666 L 311.0 -60.66666666666666 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 303.0 -60.66666666666666 L 303.0 -68.66666666666666 L 311.0 -68.66666666666666 L 311.0 -60.66666666666666 Z"/>
+                <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-60.0">
+                  n_pq_vector
+                </text>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_timing_test_local.pdf b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_timing_test_local.pdf
new file mode 100644 (file)
index 0000000..1217db0
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_timing_test_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_timing_test_local.png b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_timing_test_local.png
new file mode 100644 (file)
index 0000000..09bd6b0
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_timing_test_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_timing_test_local.svg b/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_timing_test_local.svg
new file mode 100644 (file)
index 0000000..169e2b4
--- /dev/null
@@ -0,0 +1,825 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 496.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 338.4 -318.16773343074505 L 332.15 -328.16773343074505 L 344.65 -328.16773343074505 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 376.8 -337.0586693772533 L 370.55 -347.0586693772533 L 383.05 -347.0586693772533 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 415.2 -361.86261949257675 L 408.95 -371.86261949257675 L 421.45 -371.86261949257675 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 453.6 -380.73511427346216 L 447.35 -390.73511427346216 L 459.85 -390.73511427346216 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 492.0 -399.82346775090133 L 485.75 -409.82346775090133 L 498.25 -409.82346775090133 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 530.4 -421.17639636682566 L 524.15 -431.17639636682566 L 536.65 -431.17639636682566 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 568.8 -447.52086322302165 L 562.55 -457.52086322302165 L 575.05 -457.52086322302165 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 607.2 -468.08800406587994 L 600.95 -478.08800406587994 L 613.45 -478.08800406587994 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 645.6 -490.55555555555554 L 639.35 -500.55555555555554 L 651.85 -500.55555555555554 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 684.0 -515.0 L 677.75 -525.0 L 690.25 -525.0 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 331.25714285714287 -300.4027472925016 L 338.4 -307.5456044353587 L 345.54285714285714 -300.4027472925016 L 338.4 -293.25989014964443 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 369.65714285714284 -300.41168834606566 L 376.8 -307.5545454889228 L 383.9428571428571 -300.41168834606566 L 376.8 -293.26883120320855 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 408.0571428571429 -300.4143128151101 L 415.2 -307.55716995796723 L 422.34285714285716 -300.4143128151101 L 415.2 -293.27145567225296 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 446.45714285714286 -300.4191036358214 L 453.6 -307.56196077867855 L 460.74285714285713 -300.4191036358214 L 453.6 -293.2762464929642 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 484.8571428571429 -300.4206915172403 L 492.0 -307.5635486600974 L 499.1428571428571 -300.4206915172403 L 492.0 -293.27783437438313 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 523.2571428571429 -300.416048225854 L 530.4 -307.5589053687111 L 537.5428571428572 -300.416048225854 L 530.4 -293.27319108299685 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 561.6571428571428 -300.4108303465704 L 568.8 -307.55368748942755 L 575.9428571428572 -300.4108303465704 L 568.8 -293.26797320371327 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 600.0571428571428 -300.4126434043274 L 607.2 -307.5555005471846 L 614.3428571428572 -300.4126434043274 L 607.2 -293.26978626147024 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 638.4571428571428 -300.41230175746955 L 645.6 -307.5551589003267 L 652.7428571428572 -300.41230175746955 L 645.6 -293.26944461461244 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 676.8571428571429 -300.4164131668158 L 684.0 -307.5592703096729 L 691.1428571428571 -300.4164131668158 L 684.0 -293.27355602395863 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 338.4 -300.3679350306264 M 342.4 -300.3679350306264 L 342.4 -300.368 M 342.4 -300.368 A 4 4 0 1 0 334.4 -300.368 A 4 4 0 1 0 342.4 -300.368 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 376.8 -300.36275092779357 M 380.8 -300.36275092779357 L 380.8 -300.363 M 380.8 -300.363 A 4 4 0 1 0 372.8 -300.363 A 4 4 0 1 0 380.8 -300.363 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 415.2 -300.3657911965934 M 419.2 -300.3657911965934 L 419.2 -300.366 M 419.2 -300.366 A 4 4 0 1 0 411.2 -300.366 A 4 4 0 1 0 419.2 -300.366 Z"/>
+    </clipPath>
+    <clipPath id="clip30">
+      <path d="M 453.6 -300.3609735876626 M 457.6 -300.3609735876626 L 457.6 -300.361 M 457.6 -300.361 A 4 4 0 1 0 449.6 -300.361 A 4 4 0 1 0 457.6 -300.361 Z"/>
+    </clipPath>
+    <clipPath id="clip31">
+      <path d="M 492.0 -300.3548728618395 M 496.0 -300.3548728618395 L 496 -300.355 M 496 -300.355 A 4 4 0 1 0 488 -300.355 A 4 4 0 1 0 496 -300.355 Z"/>
+    </clipPath>
+    <clipPath id="clip32">
+      <path d="M 530.4 -300.3528784983068 M 534.4 -300.3528784983068 L 534.4 -300.353 M 534.4 -300.353 A 4 4 0 1 0 526.4 -300.353 A 4 4 0 1 0 534.4 -300.353 Z"/>
+    </clipPath>
+    <clipPath id="clip33">
+      <path d="M 568.8 -300.3554109556406 M 572.8 -300.3554109556406 L 572.8 -300.355 M 572.8 -300.355 A 4 4 0 1 0 564.8 -300.355 A 4 4 0 1 0 572.8 -300.355 Z"/>
+    </clipPath>
+    <clipPath id="clip34">
+      <path d="M 607.2 -300.3563928021219 M 611.2 -300.3563928021219 L 611.2 -300.356 M 611.2 -300.356 A 4 4 0 1 0 603.2 -300.356 A 4 4 0 1 0 611.2 -300.356 Z"/>
+    </clipPath>
+    <clipPath id="clip35">
+      <path d="M 645.6 -300.35528244983385 M 649.6 -300.35528244983385 L 649.6 -300.355 M 649.6 -300.355 A 4 4 0 1 0 641.6 -300.355 A 4 4 0 1 0 649.6 -300.355 Z"/>
+    </clipPath>
+    <clipPath id="clip36">
+      <path d="M 684.0 -300.35782034245864 M 688.0 -300.35782034245864 L 688 -300.358 M 688 -300.358 A 4 4 0 1 0 680 -300.358 A 4 4 0 1 0 688 -300.358 Z"/>
+    </clipPath>
+    <clipPath id="clip37">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip38">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip39">
+      <path d="M 332.15 -295.3071230546335 L 344.65 -295.3071230546335 L 338.4 -305.3071230546335 Z"/>
+    </clipPath>
+    <clipPath id="clip40">
+      <path d="M 370.55 -295.3156382143305 L 383.05 -295.3156382143305 L 376.8 -305.3156382143305 Z"/>
+    </clipPath>
+    <clipPath id="clip41">
+      <path d="M 408.95 -295.3187052713498 L 421.45 -295.3187052713498 L 415.2 -305.3187052713498 Z"/>
+    </clipPath>
+    <clipPath id="clip42">
+      <path d="M 447.35 -295.32374145662266 L 459.85 -295.32374145662266 L 453.6 -305.32374145662266 Z"/>
+    </clipPath>
+    <clipPath id="clip43">
+      <path d="M 485.75 -295.3164057550554 L 498.25 -295.3164057550554 L 492.0 -305.3164057550554 Z"/>
+    </clipPath>
+    <clipPath id="clip44">
+      <path d="M 524.15 -295.31882174186956 L 536.65 -295.31882174186956 L 530.4 -305.31882174186956 Z"/>
+    </clipPath>
+    <clipPath id="clip45">
+      <path d="M 562.55 -295.3207601995528 L 575.05 -295.3207601995528 L 568.8 -305.3207601995528 Z"/>
+    </clipPath>
+    <clipPath id="clip46">
+      <path d="M 600.95 -295.3191455299144 L 613.45 -295.3191455299144 L 607.2 -305.3191455299144 Z"/>
+    </clipPath>
+    <clipPath id="clip47">
+      <path d="M 639.35 -295.3245854796556 L 651.85 -295.3245854796556 L 645.6 -305.3245854796556 Z"/>
+    </clipPath>
+    <clipPath id="clip48">
+      <path d="M 677.75 -295.3206068467019 L 690.25 -295.3206068467019 L 684.0 -305.3206068467019 Z"/>
+    </clipPath>
+    <clipPath id="clip49">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip50">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip51">
+      <path d="M 334.4 -296.3438396095061 L 334.4 -304.3438396095061 L 342.4 -304.3438396095061 L 342.4 -296.3438396095061 Z"/>
+    </clipPath>
+    <clipPath id="clip52">
+      <path d="M 372.8 -296.3338794388944 L 372.8 -304.3338794388944 L 380.8 -304.3338794388944 L 380.8 -296.3338794388944 Z"/>
+    </clipPath>
+    <clipPath id="clip53">
+      <path d="M 411.2 -296.3238121154046 L 411.2 -304.3238121154046 L 419.2 -304.3238121154046 L 419.2 -296.3238121154046 Z"/>
+    </clipPath>
+    <clipPath id="clip54">
+      <path d="M 449.6 -296.3146878148895 L 449.6 -304.3146878148895 L 457.6 -304.3146878148895 L 457.6 -296.3146878148895 Z"/>
+    </clipPath>
+    <clipPath id="clip55">
+      <path d="M 488.0 -296.30504172644606 L 488.0 -304.30504172644606 L 496.0 -304.30504172644606 L 496.0 -296.30504172644606 Z"/>
+    </clipPath>
+    <clipPath id="clip56">
+      <path d="M 526.4 -296.3073451250911 L 526.4 -304.3073451250911 L 534.4 -304.3073451250911 L 534.4 -296.3073451250911 Z"/>
+    </clipPath>
+    <clipPath id="clip57">
+      <path d="M 564.8 -296.3064995491179 L 564.8 -304.3064995491179 L 572.8 -304.3064995491179 L 572.8 -296.3064995491179 Z"/>
+    </clipPath>
+    <clipPath id="clip58">
+      <path d="M 603.2 -296.3029930100041 L 603.2 -304.3029930100041 L 611.2 -304.3029930100041 L 611.2 -296.3029930100041 Z"/>
+    </clipPath>
+    <clipPath id="clip59">
+      <path d="M 641.6 -296.3028559630259 L 641.6 -304.3028559630259 L 649.6 -304.3028559630259 L 649.6 -296.3028559630259 Z"/>
+    </clipPath>
+    <clipPath id="clip60">
+      <path d="M 680.0 -296.29986344713916 L 680.0 -304.29986344713916 L 688.0 -304.29986344713916 L 688.0 -296.29986344713916 Z"/>
+    </clipPath>
+    <clipPath id="clip61">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip62">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip63">
+      <path d="M 338.4 -300.25016353519794 M 342.4 -300.25016353519794 L 342.4 -300.25 M 342.4 -300.25 A 4 4 0 1 0 334.4 -300.25 A 4 4 0 1 0 342.4 -300.25 Z"/>
+    </clipPath>
+    <clipPath id="clip64">
+      <path d="M 376.8 -300.2512482639716 M 380.8 -300.2512482639716 L 380.8 -300.251 M 380.8 -300.251 A 4 4 0 1 0 372.8 -300.251 A 4 4 0 1 0 380.8 -300.251 Z"/>
+    </clipPath>
+    <clipPath id="clip65">
+      <path d="M 415.2 -300.24567087901715 M 419.2 -300.24567087901715 L 419.2 -300.246 M 419.2 -300.246 A 4 4 0 1 0 411.2 -300.246 A 4 4 0 1 0 419.2 -300.246 Z"/>
+    </clipPath>
+    <clipPath id="clip66">
+      <path d="M 453.6 -300.242859280671 M 457.6 -300.242859280671 L 457.6 -300.243 M 457.6 -300.243 A 4 4 0 1 0 449.6 -300.243 A 4 4 0 1 0 457.6 -300.243 Z"/>
+    </clipPath>
+    <clipPath id="clip67">
+      <path d="M 492.0 -300.24525158514615 M 496.0 -300.24525158514615 L 496 -300.245 M 496 -300.245 A 4 4 0 1 0 488 -300.245 A 4 4 0 1 0 496 -300.245 Z"/>
+    </clipPath>
+    <clipPath id="clip68">
+      <path d="M 530.4 -300.2462559492612 M 534.4 -300.2462559492612 L 534.4 -300.246 M 534.4 -300.246 A 4 4 0 1 0 526.4 -300.246 A 4 4 0 1 0 534.4 -300.246 Z"/>
+    </clipPath>
+    <clipPath id="clip69">
+      <path d="M 568.8 -300.2437681389599 M 572.8 -300.2437681389599 L 572.8 -300.244 M 572.8 -300.244 A 4 4 0 1 0 564.8 -300.244 A 4 4 0 1 0 572.8 -300.244 Z"/>
+    </clipPath>
+    <clipPath id="clip70">
+      <path d="M 607.2 -300.2443268092195 M 611.2 -300.2443268092195 L 611.2 -300.244 M 611.2 -300.244 A 4 4 0 1 0 603.2 -300.244 A 4 4 0 1 0 611.2 -300.244 Z"/>
+    </clipPath>
+    <clipPath id="clip71">
+      <path d="M 645.6 -300.2448517030284 M 649.6 -300.2448517030284 L 649.6 -300.245 M 649.6 -300.245 A 4 4 0 1 0 641.6 -300.245 A 4 4 0 1 0 649.6 -300.245 Z"/>
+    </clipPath>
+    <clipPath id="clip72">
+      <path d="M 684.0 -300.2464985961773 M 688.0 -300.2464985961773 L 688 -300.246 M 688 -300.246 A 4 4 0 1 0 680 -300.246 A 4 4 0 1 0 688 -300.246 Z"/>
+    </clipPath>
+    <clipPath id="clip73">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip74">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip75">
+      <path d="M 290 -54 L 290 -182 L 324 -182 L 324 -54 Z"/>
+    </clipPath>
+    <clipPath id="clip76">
+      <path d="M 307.0 -167.66666666666669 L 300.75 -177.66666666666669 L 313.25 -177.66666666666669 Z"/>
+    </clipPath>
+    <clipPath id="clip77">
+      <path d="M 299.85714285714283 -154.66666666666666 L 307.0 -161.8095238095238 L 314.14285714285717 -154.66666666666666 L 307.0 -147.52380952380952 Z"/>
+    </clipPath>
+    <clipPath id="clip78">
+      <path d="M 307.0 -136.66666666666666 M 311.0 -136.66666666666666 L 311 -136.667 M 311 -136.667 A 4 4 0 1 0 303 -136.667 A 4 4 0 1 0 311 -136.667 Z"/>
+    </clipPath>
+    <clipPath id="clip79">
+      <path d="M 300.75 -113.66666666666666 L 313.25 -113.66666666666666 L 307.0 -123.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip80">
+      <path d="M 303.0 -96.66666666666666 L 303.0 -104.66666666666666 L 311.0 -104.66666666666666 L 311.0 -96.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip81">
+      <path d="M 307.0 -82.66666666666666 M 311.0 -82.66666666666666 L 311 -82.6667 M 311 -82.6667 A 4 4 0 1 0 303 -82.6667 A 4 4 0 1 0 311 -82.6667 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      1.13e-05
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.50048673219425">
+      2.27e-05
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      3.40e-05
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.50048673219425">
+      4.53e-05
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      5.67e-05
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -323.16773343074505 L 376.8 -342.0586693772533 L 415.2 -366.86261949257675 L 453.6 -385.73511427346216 L 492.0 -404.82346775090133 L 530.4 -426.17639636682566 L 568.8 -452.52086322302165 L 607.2 -473.08800406587994 L 645.6 -495.55555555555554 L 684.0 -520.0" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 332.15 -318.16773343074505 L 332.15 -328.16773343074505 L 344.65 -328.16773343074505 L 344.65 -318.16773343074505 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -318.16773343074505 L 332.15 -328.16773343074505 L 344.65 -328.16773343074505 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 370.55 -337.0586693772533 L 370.55 -347.0586693772533 L 383.05 -347.0586693772533 L 383.05 -337.0586693772533 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -337.0586693772533 L 370.55 -347.0586693772533 L 383.05 -347.0586693772533 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 408.95 -361.86261949257675 L 408.95 -371.86261949257675 L 421.45 -371.86261949257675 L 421.45 -361.86261949257675 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -361.86261949257675 L 408.95 -371.86261949257675 L 421.45 -371.86261949257675 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 447.35 -380.73511427346216 L 447.35 -390.73511427346216 L 459.85 -390.73511427346216 L 459.85 -380.73511427346216 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -380.73511427346216 L 447.35 -390.73511427346216 L 459.85 -390.73511427346216 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 485.75 -399.82346775090133 L 485.75 -409.82346775090133 L 498.25 -409.82346775090133 L 498.25 -399.82346775090133 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -399.82346775090133 L 485.75 -409.82346775090133 L 498.25 -409.82346775090133 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 524.15 -421.17639636682566 L 524.15 -431.17639636682566 L 536.65 -431.17639636682566 L 536.65 -421.17639636682566 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -421.17639636682566 L 524.15 -431.17639636682566 L 536.65 -431.17639636682566 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 562.55 -447.52086322302165 L 562.55 -457.52086322302165 L 575.05 -457.52086322302165 L 575.05 -447.52086322302165 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -447.52086322302165 L 562.55 -457.52086322302165 L 575.05 -457.52086322302165 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 600.95 -468.08800406587994 L 600.95 -478.08800406587994 L 613.45 -478.08800406587994 L 613.45 -468.08800406587994 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -468.08800406587994 L 600.95 -478.08800406587994 L 613.45 -478.08800406587994 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 639.35 -490.55555555555554 L 639.35 -500.55555555555554 L 651.85 -500.55555555555554 L 651.85 -490.55555555555554 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -490.55555555555554 L 639.35 -500.55555555555554 L 651.85 -500.55555555555554 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 677.75 -515.0 L 677.75 -525.0 L 690.25 -525.0 L 690.25 -515.0 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -515.0 L 677.75 -525.0 L 690.25 -525.0 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 338.4 -300.4027472925016 L 376.8 -300.41168834606566 L 415.2 -300.4143128151101 L 453.6 -300.4191036358214 L 492.0 -300.4206915172403 L 530.4 -300.416048225854 L 568.8 -300.4108303465704 L 607.2 -300.4126434043274 L 645.6 -300.41230175746955 L 684.0 -300.4164131668158" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 331.25714285714287 -293.25989014964443 L 331.25714285714287 -307.5456044353587 L 345.54285714285714 -307.5456044353587 L 345.54285714285714 -293.25989014964443 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 331.25714285714287 -300.4027472925016 L 338.4 -307.5456044353587 L 345.54285714285714 -300.4027472925016 L 338.4 -293.25989014964443 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 369.65714285714284 -293.26883120320855 L 369.65714285714284 -307.5545454889228 L 383.9428571428571 -307.5545454889228 L 383.9428571428571 -293.26883120320855 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 369.65714285714284 -300.41168834606566 L 376.8 -307.5545454889228 L 383.9428571428571 -300.41168834606566 L 376.8 -293.26883120320855 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 408.0571428571429 -293.27145567225296 L 408.0571428571429 -307.55716995796723 L 422.34285714285716 -307.55716995796723 L 422.34285714285716 -293.27145567225296 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.0571428571429 -300.4143128151101 L 415.2 -307.55716995796723 L 422.34285714285716 -300.4143128151101 L 415.2 -293.27145567225296 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 446.45714285714286 -293.2762464929642 L 446.45714285714286 -307.56196077867855 L 460.74285714285713 -307.56196077867855 L 460.74285714285713 -293.2762464929642 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 446.45714285714286 -300.4191036358214 L 453.6 -307.56196077867855 L 460.74285714285713 -300.4191036358214 L 453.6 -293.2762464929642 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 484.8571428571429 -293.27783437438313 L 484.8571428571429 -307.5635486600974 L 499.1428571428571 -307.5635486600974 L 499.1428571428571 -293.27783437438313 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 484.8571428571429 -300.4206915172403 L 492.0 -307.5635486600974 L 499.1428571428571 -300.4206915172403 L 492.0 -293.27783437438313 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 523.2571428571429 -293.27319108299685 L 523.2571428571429 -307.5589053687111 L 537.5428571428572 -307.5589053687111 L 537.5428571428572 -293.27319108299685 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 523.2571428571429 -300.416048225854 L 530.4 -307.5589053687111 L 537.5428571428572 -300.416048225854 L 530.4 -293.27319108299685 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 561.6571428571428 -293.26797320371327 L 561.6571428571428 -307.55368748942755 L 575.9428571428572 -307.55368748942755 L 575.9428571428572 -293.26797320371327 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 561.6571428571428 -300.4108303465704 L 568.8 -307.55368748942755 L 575.9428571428572 -300.4108303465704 L 568.8 -293.26797320371327 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 600.0571428571428 -293.26978626147024 L 600.0571428571428 -307.5555005471846 L 614.3428571428572 -307.5555005471846 L 614.3428571428572 -293.26978626147024 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.0571428571428 -300.4126434043274 L 607.2 -307.5555005471846 L 614.3428571428572 -300.4126434043274 L 607.2 -293.26978626147024 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 638.4571428571428 -293.26944461461244 L 638.4571428571428 -307.5551589003267 L 652.7428571428572 -307.5551589003267 L 652.7428571428572 -293.26944461461244 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 638.4571428571428 -300.41230175746955 L 645.6 -307.5551589003267 L 652.7428571428572 -300.41230175746955 L 645.6 -293.26944461461244 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 676.8571428571429 -293.27355602395863 L 676.8571428571429 -307.5592703096729 L 691.1428571428571 -307.5592703096729 L 691.1428571428571 -293.27355602395863 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 676.8571428571429 -300.4164131668158 L 684.0 -307.5592703096729 L 691.1428571428571 -300.4164131668158 L 684.0 -293.27355602395863 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 338.4 -300.3679350306264 L 376.8 -300.36275092779357 L 415.2 -300.3657911965934 L 453.6 -300.3609735876626 L 492.0 -300.3548728618395 L 530.4 -300.3528784983068 L 568.8 -300.3554109556406 L 607.2 -300.3563928021219 L 645.6 -300.35528244983385 L 684.0 -300.35782034245864" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip27);">
+          <path d="M 330.4 -292.3679350306264 L 330.4 -308.3679350306264 L 346.4 -308.3679350306264 L 346.4 -292.3679350306264 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -300.3679350306264 M 342.4 -300.3679350306264 L 342.4 -300.368 M 342.4 -300.368 A 4 4 0 1 0 334.4 -300.368 A 4 4 0 1 0 342.4 -300.368 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip28);">
+            <path d="M 368.8 -292.36275092779357 L 368.8 -308.36275092779357 L 384.8 -308.36275092779357 L 384.8 -292.36275092779357 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -300.36275092779357 M 380.8 -300.36275092779357 L 380.8 -300.363 M 380.8 -300.363 A 4 4 0 1 0 372.8 -300.363 A 4 4 0 1 0 380.8 -300.363 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+              <path d="M 407.2 -292.3657911965934 L 407.2 -308.3657911965934 L 423.2 -308.3657911965934 L 423.2 -292.3657911965934 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -300.3657911965934 M 419.2 -300.3657911965934 L 419.2 -300.366 M 419.2 -300.366 A 4 4 0 1 0 411.2 -300.366 A 4 4 0 1 0 419.2 -300.366 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip30);">
+                <path d="M 445.6 -292.3609735876626 L 445.6 -308.3609735876626 L 461.6 -308.3609735876626 L 461.6 -292.3609735876626 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -300.3609735876626 M 457.6 -300.3609735876626 L 457.6 -300.361 M 457.6 -300.361 A 4 4 0 1 0 449.6 -300.361 A 4 4 0 1 0 457.6 -300.361 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip31);">
+                  <path d="M 484.0 -292.3548728618395 L 484.0 -308.3548728618395 L 500.0 -308.3548728618395 L 500.0 -292.3548728618395 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -300.3548728618395 M 496.0 -300.3548728618395 L 496 -300.355 M 496 -300.355 A 4 4 0 1 0 488 -300.355 A 4 4 0 1 0 496 -300.355 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip32);">
+                    <path d="M 522.4 -292.3528784983068 L 522.4 -308.3528784983068 L 538.4 -308.3528784983068 L 538.4 -292.3528784983068 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -300.3528784983068 M 534.4 -300.3528784983068 L 534.4 -300.353 M 534.4 -300.353 A 4 4 0 1 0 526.4 -300.353 A 4 4 0 1 0 534.4 -300.353 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip33);">
+                      <path d="M 560.8 -292.3554109556406 L 560.8 -308.3554109556406 L 576.8 -308.3554109556406 L 576.8 -292.3554109556406 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -300.3554109556406 M 572.8 -300.3554109556406 L 572.8 -300.355 M 572.8 -300.355 A 4 4 0 1 0 564.8 -300.355 A 4 4 0 1 0 572.8 -300.355 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip34);">
+                        <path d="M 599.2 -292.3563928021219 L 599.2 -308.3563928021219 L 615.2 -308.3563928021219 L 615.2 -292.3563928021219 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -300.3563928021219 M 611.2 -300.3563928021219 L 611.2 -300.356 M 611.2 -300.356 A 4 4 0 1 0 603.2 -300.356 A 4 4 0 1 0 611.2 -300.356 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip35);">
+                          <path d="M 637.6 -292.35528244983385 L 637.6 -308.35528244983385 L 653.6 -308.35528244983385 L 653.6 -292.35528244983385 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -300.35528244983385 M 649.6 -300.35528244983385 L 649.6 -300.355 M 649.6 -300.355 A 4 4 0 1 0 641.6 -300.355 A 4 4 0 1 0 649.6 -300.355 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip36);">
+                            <path d="M 676.0 -292.35782034245864 L 676.0 -308.35782034245864 L 692.0 -308.35782034245864 L 692.0 -292.35782034245864 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -300.35782034245864 M 688.0 -300.35782034245864 L 688 -300.358 M 688 -300.358 A 4 4 0 1 0 680 -300.358 A 4 4 0 1 0 688 -300.358 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip37);">
+        <path d="M 338.4 -300.3071230546335 L 376.8 -300.3156382143305 L 415.2 -300.3187052713498 L 453.6 -300.32374145662266 L 492.0 -300.3164057550554 L 530.4 -300.31882174186956 L 568.8 -300.3207601995528 L 607.2 -300.3191455299144 L 645.6 -300.3245854796556 L 684.0 -300.3206068467019" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip38);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip39);">
+          <path d="M 332.15 -295.3071230546335 L 332.15 -305.3071230546335 L 344.65 -305.3071230546335 L 344.65 -295.3071230546335 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 332.15 -295.3071230546335 L 344.65 -295.3071230546335 L 338.4 -305.3071230546335 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip40);">
+            <path d="M 370.55 -295.3156382143305 L 370.55 -305.3156382143305 L 383.05 -305.3156382143305 L 383.05 -295.3156382143305 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 370.55 -295.3156382143305 L 383.05 -295.3156382143305 L 376.8 -305.3156382143305 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip41);">
+              <path d="M 408.95 -295.3187052713498 L 408.95 -305.3187052713498 L 421.45 -305.3187052713498 L 421.45 -295.3187052713498 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.95 -295.3187052713498 L 421.45 -295.3187052713498 L 415.2 -305.3187052713498 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip42);">
+                <path d="M 447.35 -295.32374145662266 L 447.35 -305.32374145662266 L 459.85 -305.32374145662266 L 459.85 -295.32374145662266 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 447.35 -295.32374145662266 L 459.85 -295.32374145662266 L 453.6 -305.32374145662266 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip43);">
+                  <path d="M 485.75 -295.3164057550554 L 485.75 -305.3164057550554 L 498.25 -305.3164057550554 L 498.25 -295.3164057550554 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 485.75 -295.3164057550554 L 498.25 -295.3164057550554 L 492.0 -305.3164057550554 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip44);">
+                    <path d="M 524.15 -295.31882174186956 L 524.15 -305.31882174186956 L 536.65 -305.31882174186956 L 536.65 -295.31882174186956 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 524.15 -295.31882174186956 L 536.65 -295.31882174186956 L 530.4 -305.31882174186956 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip45);">
+                      <path d="M 562.55 -295.3207601995528 L 562.55 -305.3207601995528 L 575.05 -305.3207601995528 L 575.05 -295.3207601995528 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 562.55 -295.3207601995528 L 575.05 -295.3207601995528 L 568.8 -305.3207601995528 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip46);">
+                        <path d="M 600.95 -295.3191455299144 L 600.95 -305.3191455299144 L 613.45 -305.3191455299144 L 613.45 -295.3191455299144 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.95 -295.3191455299144 L 613.45 -295.3191455299144 L 607.2 -305.3191455299144 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip47);">
+                          <path d="M 639.35 -295.3245854796556 L 639.35 -305.3245854796556 L 651.85 -305.3245854796556 L 651.85 -295.3245854796556 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 639.35 -295.3245854796556 L 651.85 -295.3245854796556 L 645.6 -305.3245854796556 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip48);">
+                            <path d="M 677.75 -295.3206068467019 L 677.75 -305.3206068467019 L 690.25 -305.3206068467019 L 690.25 -295.3206068467019 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 677.75 -295.3206068467019 L 690.25 -295.3206068467019 L 684.0 -305.3206068467019 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip49);">
+        <path d="M 338.4 -300.3438396095061 L 376.8 -300.3338794388944 L 415.2 -300.3238121154046 L 453.6 -300.3146878148895 L 492.0 -300.30504172644606 L 530.4 -300.3073451250911 L 568.8 -300.3064995491179 L 607.2 -300.3029930100041 L 645.6 -300.3028559630259 L 684.0 -300.29986344713916" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip50);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip51);">
+          <path d="M 334.4 -296.3438396095061 L 334.4 -304.3438396095061 L 342.4 -304.3438396095061 L 342.4 -296.3438396095061 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 334.4 -296.3438396095061 L 334.4 -304.3438396095061 L 342.4 -304.3438396095061 L 342.4 -296.3438396095061 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip52);">
+            <path d="M 372.8 -296.3338794388944 L 372.8 -304.3338794388944 L 380.8 -304.3338794388944 L 380.8 -296.3338794388944 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 372.8 -296.3338794388944 L 372.8 -304.3338794388944 L 380.8 -304.3338794388944 L 380.8 -296.3338794388944 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip53);">
+              <path d="M 411.2 -296.3238121154046 L 411.2 -304.3238121154046 L 419.2 -304.3238121154046 L 419.2 -296.3238121154046 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 411.2 -296.3238121154046 L 411.2 -304.3238121154046 L 419.2 -304.3238121154046 L 419.2 -296.3238121154046 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip54);">
+                <path d="M 449.6 -296.3146878148895 L 449.6 -304.3146878148895 L 457.6 -304.3146878148895 L 457.6 -296.3146878148895 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 449.6 -296.3146878148895 L 449.6 -304.3146878148895 L 457.6 -304.3146878148895 L 457.6 -296.3146878148895 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip55);">
+                  <path d="M 488.0 -296.30504172644606 L 488.0 -304.30504172644606 L 496.0 -304.30504172644606 L 496.0 -296.30504172644606 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 488.0 -296.30504172644606 L 488.0 -304.30504172644606 L 496.0 -304.30504172644606 L 496.0 -296.30504172644606 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip56);">
+                    <path d="M 526.4 -296.3073451250911 L 526.4 -304.3073451250911 L 534.4 -304.3073451250911 L 534.4 -296.3073451250911 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 526.4 -296.3073451250911 L 526.4 -304.3073451250911 L 534.4 -304.3073451250911 L 534.4 -296.3073451250911 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip57);">
+                      <path d="M 564.8 -296.3064995491179 L 564.8 -304.3064995491179 L 572.8 -304.3064995491179 L 572.8 -296.3064995491179 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 564.8 -296.3064995491179 L 564.8 -304.3064995491179 L 572.8 -304.3064995491179 L 572.8 -296.3064995491179 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip58);">
+                        <path d="M 603.2 -296.3029930100041 L 603.2 -304.3029930100041 L 611.2 -304.3029930100041 L 611.2 -296.3029930100041 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 603.2 -296.3029930100041 L 603.2 -304.3029930100041 L 611.2 -304.3029930100041 L 611.2 -296.3029930100041 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip59);">
+                          <path d="M 641.6 -296.3028559630259 L 641.6 -304.3028559630259 L 649.6 -304.3028559630259 L 649.6 -296.3028559630259 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 641.6 -296.3028559630259 L 641.6 -304.3028559630259 L 649.6 -304.3028559630259 L 649.6 -296.3028559630259 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip60);">
+                            <path d="M 680.0 -296.29986344713916 L 680.0 -304.29986344713916 L 688.0 -304.29986344713916 L 688.0 -296.29986344713916 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 680.0 -296.29986344713916 L 680.0 -304.29986344713916 L 688.0 -304.29986344713916 L 688.0 -296.29986344713916 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip61);">
+        <path d="M 338.4 -300.25016353519794 L 376.8 -300.2512482639716 L 415.2 -300.24567087901715 L 453.6 -300.242859280671 L 492.0 -300.24525158514615 L 530.4 -300.2462559492612 L 568.8 -300.2437681389599 L 607.2 -300.2443268092195 L 645.6 -300.2448517030284 L 684.0 -300.2464985961773" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip62);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip63);">
+          <path d="M 330.4 -292.25016353519794 L 330.4 -308.25016353519794 L 346.4 -308.25016353519794 L 346.4 -292.25016353519794 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -300.25016353519794 M 342.4 -300.25016353519794 L 342.4 -300.25 M 342.4 -300.25 A 4 4 0 1 0 334.4 -300.25 A 4 4 0 1 0 342.4 -300.25 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip64);">
+            <path d="M 368.8 -292.2512482639716 L 368.8 -308.2512482639716 L 384.8 -308.2512482639716 L 384.8 -292.2512482639716 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -300.2512482639716 M 380.8 -300.2512482639716 L 380.8 -300.251 M 380.8 -300.251 A 4 4 0 1 0 372.8 -300.251 A 4 4 0 1 0 380.8 -300.251 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip65);">
+              <path d="M 407.2 -292.24567087901715 L 407.2 -308.24567087901715 L 423.2 -308.24567087901715 L 423.2 -292.24567087901715 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -300.24567087901715 M 419.2 -300.24567087901715 L 419.2 -300.246 M 419.2 -300.246 A 4 4 0 1 0 411.2 -300.246 A 4 4 0 1 0 419.2 -300.246 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip66);">
+                <path d="M 445.6 -292.242859280671 L 445.6 -308.242859280671 L 461.6 -308.242859280671 L 461.6 -292.242859280671 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -300.242859280671 M 457.6 -300.242859280671 L 457.6 -300.243 M 457.6 -300.243 A 4 4 0 1 0 449.6 -300.243 A 4 4 0 1 0 457.6 -300.243 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip67);">
+                  <path d="M 484.0 -292.24525158514615 L 484.0 -308.24525158514615 L 500.0 -308.24525158514615 L 500.0 -292.24525158514615 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -300.24525158514615 M 496.0 -300.24525158514615 L 496 -300.245 M 496 -300.245 A 4 4 0 1 0 488 -300.245 A 4 4 0 1 0 496 -300.245 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip68);">
+                    <path d="M 522.4 -292.2462559492612 L 522.4 -308.2462559492612 L 538.4 -308.2462559492612 L 538.4 -292.2462559492612 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -300.2462559492612 M 534.4 -300.2462559492612 L 534.4 -300.246 M 534.4 -300.246 A 4 4 0 1 0 526.4 -300.246 A 4 4 0 1 0 534.4 -300.246 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip69);">
+                      <path d="M 560.8 -292.2437681389599 L 560.8 -308.2437681389599 L 576.8 -308.2437681389599 L 576.8 -292.2437681389599 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -300.2437681389599 M 572.8 -300.2437681389599 L 572.8 -300.244 M 572.8 -300.244 A 4 4 0 1 0 564.8 -300.244 A 4 4 0 1 0 572.8 -300.244 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip70);">
+                        <path d="M 599.2 -292.2443268092195 L 599.2 -308.2443268092195 L 615.2 -308.2443268092195 L 615.2 -292.2443268092195 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -300.2443268092195 M 611.2 -300.2443268092195 L 611.2 -300.244 M 611.2 -300.244 A 4 4 0 1 0 603.2 -300.244 A 4 4 0 1 0 611.2 -300.244 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip71);">
+                          <path d="M 637.6 -292.2448517030284 L 637.6 -308.2448517030284 L 653.6 -308.2448517030284 L 653.6 -292.2448517030284 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -300.2448517030284 M 649.6 -300.2448517030284 L 649.6 -300.245 M 649.6 -300.245 A 4 4 0 1 0 641.6 -300.245 A 4 4 0 1 0 649.6 -300.245 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip72);">
+                            <path d="M 676.0 -292.2464985961773 L 676.0 -308.2464985961773 L 692.0 -308.2464985961773 L 692.0 -292.2464985961773 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -300.2464985961773 M 688.0 -300.2464985961773 L 688 -300.246 M 688 -300.246 A 4 4 0 1 0 680 -300.246 A 4 4 0 1 0 688 -300.246 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip73);">
+        <path d="M 338.4 -300.23584076715247 L 376.8 -300.2364266138667 L 415.2 -300.23523706162524 L 453.6 -300.23551154381676 L 492.0 -300.23574914367697 L 530.4 -300.2377640836682 L 568.8 -300.23631868451844 L 607.2 -300.23606206114 L 645.6 -300.2364860138318 L 684.0 -300.236227837513" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip74);">
+        <path d="M 331.25714285714287 -300.23584076715247 L 345.54285714285714 -300.23584076715247" style="stroke-width:1;"/>
+        <path d="M 338.4 -293.09298362429536 L 338.4 -307.37869791000963" style="stroke-width:1;"/>
+        <path d="M 369.65714285714284 -300.2364266138667 L 383.9428571428571 -300.2364266138667" style="stroke-width:1;"/>
+        <path d="M 376.8 -293.0935694710096 L 376.8 -307.37928375672385" style="stroke-width:1;"/>
+        <path d="M 408.0571428571429 -300.23523706162524 L 422.34285714285716 -300.23523706162524" style="stroke-width:1;"/>
+        <path d="M 415.2 -293.09237991876813 L 415.2 -307.3780942044824" style="stroke-width:1;"/>
+        <path d="M 446.45714285714286 -300.23551154381676 L 460.74285714285713 -300.23551154381676" style="stroke-width:1;"/>
+        <path d="M 453.6 -293.0926544009596 L 453.6 -307.37836868667387" style="stroke-width:1;"/>
+        <path d="M 484.8571428571429 -300.23574914367697 L 499.1428571428571 -300.23574914367697" style="stroke-width:1;"/>
+        <path d="M 492.0 -293.09289200081986 L 492.0 -307.37860628653414" style="stroke-width:1;"/>
+        <path d="M 523.2571428571429 -300.2377640836682 L 537.5428571428572 -300.2377640836682" style="stroke-width:1;"/>
+        <path d="M 530.4 -293.09490694081103 L 530.4 -307.3806212265253" style="stroke-width:1;"/>
+        <path d="M 561.6571428571428 -300.23631868451844 L 575.9428571428572 -300.23631868451844" style="stroke-width:1;"/>
+        <path d="M 568.8 -293.09346154166127 L 568.8 -307.37917582737555" style="stroke-width:1;"/>
+        <path d="M 600.0571428571428 -300.23606206114 L 614.3428571428572 -300.23606206114" style="stroke-width:1;"/>
+        <path d="M 607.2 -293.0932049182828 L 607.2 -307.3789192039971" style="stroke-width:1;"/>
+        <path d="M 638.4571428571428 -300.2364860138318 L 652.7428571428572 -300.2364860138318" style="stroke-width:1;"/>
+        <path d="M 645.6 -293.0936288709746 L 645.6 -307.3793431566889" style="stroke-width:1;"/>
+        <path d="M 676.8571428571429 -300.236227837513 L 691.1428571428571 -300.236227837513" style="stroke-width:1;"/>
+        <path d="M 684.0 -293.0933706946559 L 684.0 -307.3790849803702" style="stroke-width:1;"/>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip75);">
+      <path d="M 290 -54 L 290 -182 L 324 -182 L 324 -54 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -172.66666666666669 L 314 -172.66666666666669" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip76);">
+      <path d="M 300.75 -167.66666666666669 L 300.75 -177.66666666666669 L 313.25 -177.66666666666669 L 313.25 -167.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -167.66666666666669 L 300.75 -177.66666666666669 L 313.25 -177.66666666666669 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-168.0">
+        binary_heap
+      </text>
+      <path d="M 300 -154.66666666666666 L 314 -154.66666666666666" style="stroke:rgb(126,126,126);stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip77);">
+        <path d="M 299.85714285714283 -147.52380952380952 L 299.85714285714283 -161.8095238095238 L 314.14285714285717 -161.8095238095238 L 314.14285714285717 -147.52380952380952 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 299.85714285714283 -154.66666666666666 L 307.0 -161.8095238095238 L 314.14285714285717 -154.66666666666666 L 307.0 -147.52380952380952 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-150.0">
+          rc_binomial_heap
+        </text>
+        <path d="M 300 -136.66666666666666 L 314 -136.66666666666666" style="stroke-width:2;"/>
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip78);">
+          <path d="M 299.0 -128.66666666666666 L 299.0 -144.66666666666666 L 315.0 -144.66666666666666 L 315.0 -128.66666666666666 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 307.0 -136.66666666666666 M 311.0 -136.66666666666666 L 311 -136.667 M 311 -136.667 A 4 4 0 1 0 303 -136.667 A 4 4 0 1 0 311 -136.667 Z"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-132.0">
+            n_pq_deque
+          </text>
+          <path d="M 300 -118.66666666666666 L 314 -118.66666666666666" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip79);">
+            <path d="M 300.75 -113.66666666666666 L 300.75 -123.66666666666666 L 313.25 -123.66666666666666 L 313.25 -113.66666666666666 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 300.75 -113.66666666666666 L 313.25 -113.66666666666666 L 307.0 -123.66666666666666 Z"/>
+            <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-114.0">
+              binomial_heap
+            </text>
+            <path d="M 300 -100.66666666666666 L 314 -100.66666666666666" style="stroke-width:2;"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip80);">
+              <path d="M 303.0 -96.66666666666666 L 303.0 -104.66666666666666 L 311.0 -104.66666666666666 L 311.0 -96.66666666666666 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 303.0 -96.66666666666666 L 303.0 -104.66666666666666 L 311.0 -104.66666666666666 L 311.0 -96.66666666666666 Z"/>
+              <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-96.0">
+                n_pq_vector
+              </text>
+              <path d="M 300 -82.66666666666666 L 314 -82.66666666666666" style="stroke-width:2;"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip81);">
+                <path d="M 299.0 -74.66666666666666 L 299.0 -90.66666666666666 L 315.0 -90.66666666666666 L 315.0 -74.66666666666666 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 307.0 -82.66666666666666 M 311.0 -82.66666666666666 L 311 -82.6667 M 311 -82.6667 A 4 4 0 1 0 303 -82.6667 A 4 4 0 1 0 311 -82.6667 Z"/>
+                <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-78.0">
+                  thin_heap
+                </text>
+                <path d="M 300 -64.66666666666666 L 314 -64.66666666666666" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+                <path d="M 299.85714285714283 -64.66666666666666 L 314.14285714285717 -64.66666666666666" style="stroke-width:1;"/>
+                <path d="M 307.0 -57.52380952380952 L 307.0 -71.8095238095238" style="stroke-width:1;"/>
+                <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-60.0">
+                  pairing_heap
+                </text>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_rationale_null_node_updator.png b/libstdc++-v3/doc/xml/images/pbds_rationale_null_node_updator.png
new file mode 100644 (file)
index 0000000..4387489
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_rationale_null_node_updator.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_resize_policy_cd.png b/libstdc++-v3/doc/xml/images/pbds_resize_policy_cd.png
new file mode 100644 (file)
index 0000000..338e33c
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_resize_policy_cd.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_restoring_node_invariants.png b/libstdc++-v3/doc/xml/images/pbds_restoring_node_invariants.png
new file mode 100644 (file)
index 0000000..33ba84b
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_restoring_node_invariants.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_simple_list.png b/libstdc++-v3/doc/xml/images/pbds_simple_list.png
new file mode 100644 (file)
index 0000000..9a05d3f
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_simple_list.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_hash_local.pdf b/libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_hash_local.pdf
new file mode 100644 (file)
index 0000000..7f16147
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_hash_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_hash_local.png b/libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_hash_local.png
new file mode 100644 (file)
index 0000000..1909c1b
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_hash_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_hash_local.svg b/libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_hash_local.svg
new file mode 100644 (file)
index 0000000..578056d
--- /dev/null
@@ -0,0 +1,483 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 436.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 338.4 -496.38583390432836 L 332.15 -506.38583390432836 L 344.65 -506.38583390432836 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 376.8 -501.14870645437264 L 370.55 -511.14870645437264 L 383.05 -511.14870645437264 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 415.2 -503.9233937620248 L 408.95 -513.9233937620247 L 421.45 -513.9233937620247 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 453.6 -498.9791190031008 L 447.35 -508.9791190031008 L 459.85 -508.9791190031008 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 492.0 -502.67912790675166 L 485.75 -512.6791279067517 L 498.25 -512.6791279067517 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 530.4 -507.3547059666074 L 524.15 -517.3547059666074 L 536.65 -517.3547059666074 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 568.8 -512.2585271812977 L 562.55 -522.2585271812977 L 575.05 -522.2585271812977 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 607.2 -515.0 L 600.95 -525.0 L 613.45 -525.0 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 645.6 -495.34426159700524 L 639.35 -505.34426159700524 L 651.85 -505.34426159700524 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 684.0 -502.64250680355065 L 677.75 -512.6425068035506 L 690.25 -512.6425068035506 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 331.25714285714287 -455.5362126966062 L 338.4 -462.6790698394633 L 345.54285714285714 -455.5362126966062 L 338.4 -448.393355553749 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 369.65714285714284 -468.721513156112 L 376.8 -475.8643702989691 L 383.9428571428571 -468.721513156112 L 376.8 -461.57865601325483 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 408.0571428571429 -461.8588887469466 L 415.2 -469.0017458898038 L 422.34285714285716 -461.8588887469466 L 415.2 -454.7160316040895 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 446.45714285714286 -471.6609954281688 L 453.6 -478.80385257102597 L 460.74285714285713 -471.6609954281688 L 453.6 -464.5181382853117 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 484.8571428571429 -461.42454542991084 L 492.0 -468.56740257276795 L 499.1428571428571 -461.42454542991084 L 492.0 -454.2816882870537 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 523.2571428571429 -464.7826154280914 L 530.4 -471.9254725709485 L 537.5428571428572 -464.7826154280914 L 530.4 -457.6397582852343 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 561.6571428571428 -466.54724161024455 L 568.8 -473.6900987531017 L 575.9428571428572 -466.54724161024455 L 568.8 -459.40438446738744 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 600.0571428571428 -468.4081046449959 L 607.2 -475.55096178785305 L 614.3428571428572 -468.4081046449959 L 607.2 -461.2652475021388 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 638.4571428571428 -471.27051226961805 L 645.6 -478.41336941247516 L 652.7428571428572 -471.27051226961805 L 645.6 -464.1276551267609 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 676.8571428571429 -476.00017033071254 L 684.0 -483.1430274735697 L 691.1428571428571 -476.00017033071254 L 684.0 -468.8573131878554 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 331.25714285714287 -450.31046643517175 L 338.4 -457.45332357802886 L 345.54285714285714 -450.31046643517175 L 338.4 -443.1676092923146 Z"/>
+    </clipPath>
+    <clipPath id="clip30">
+      <path d="M 369.65714285714284 -461.6353296867076 L 376.8 -468.7781868295648 L 383.9428571428571 -461.6353296867076 L 376.8 -454.49247254385045 Z"/>
+    </clipPath>
+    <clipPath id="clip31">
+      <path d="M 408.0571428571429 -455.21599095698764 L 415.2 -462.35884809984475 L 422.34285714285716 -455.21599095698764 L 415.2 -448.0731338141305 Z"/>
+    </clipPath>
+    <clipPath id="clip32">
+      <path d="M 446.45714285714286 -459.3839834934055 L 453.6 -466.5268406362626 L 460.74285714285713 -459.3839834934055 L 453.6 -452.24112635054837 Z"/>
+    </clipPath>
+    <clipPath id="clip33">
+      <path d="M 484.8571428571429 -455.7793597887899 L 492.0 -462.9222169316471 L 499.1428571428571 -455.7793597887899 L 492.0 -448.63650264593275 Z"/>
+    </clipPath>
+    <clipPath id="clip34">
+      <path d="M 523.2571428571429 -461.76605850859977 L 530.4 -468.90891565145694 L 537.5428571428572 -461.76605850859977 L 530.4 -454.6232013657426 Z"/>
+    </clipPath>
+    <clipPath id="clip35">
+      <path d="M 561.6571428571428 -461.75498701228315 L 568.8 -468.8978441551403 L 575.9428571428572 -461.75498701228315 L 568.8 -454.612129869426 Z"/>
+    </clipPath>
+    <clipPath id="clip36">
+      <path d="M 600.0571428571428 -463.8381316269293 L 607.2 -470.98098876978645 L 614.3428571428572 -463.8381316269293 L 607.2 -456.6952744840721 Z"/>
+    </clipPath>
+    <clipPath id="clip37">
+      <path d="M 638.4571428571428 -464.7826154280914 L 645.6 -471.9254725709485 L 652.7428571428572 -464.7826154280914 L 645.6 -457.6397582852343 Z"/>
+    </clipPath>
+    <clipPath id="clip38">
+      <path d="M 676.8571428571429 -468.12535566214126 L 684.0 -475.2682128049984 L 691.1428571428571 -468.12535566214126 L 684.0 -460.98249851928415 Z"/>
+    </clipPath>
+    <clipPath id="clip39">
+      <path d="M 290 -114 L 290 -188 L 324 -188 L 324 -114 Z"/>
+    </clipPath>
+    <clipPath id="clip40">
+      <path d="M 307.0 -173.66666666666669 L 300.75 -183.66666666666669 L 313.25 -183.66666666666669 Z"/>
+    </clipPath>
+    <clipPath id="clip41">
+      <path d="M 299.85714285714283 -160.66666666666666 L 307.0 -167.8095238095238 L 314.14285714285717 -160.66666666666666 L 307.0 -153.52380952380952 Z"/>
+    </clipPath>
+    <clipPath id="clip42">
+      <path d="M 299.85714285714283 -124.66666666666666 L 307.0 -131.8095238095238 L 314.14285714285717 -124.66666666666666 L 307.0 -117.52380952380952 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      1.03e-08
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      2.07e-08
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.50048673219425">
+      3.10e-08
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      4.13e-08
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      5.17e-08
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -501.38583390432836 L 376.8 -506.14870645437264 L 415.2 -508.9233937620248 L 453.6 -503.9791190031008 L 492.0 -507.67912790675166 L 530.4 -512.3547059666074 L 568.8 -517.2585271812977 L 607.2 -520.0 L 645.6 -500.34426159700524 L 684.0 -507.64250680355065" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 332.15 -496.38583390432836 L 332.15 -506.38583390432836 L 344.65 -506.38583390432836 L 344.65 -496.38583390432836 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -496.38583390432836 L 332.15 -506.38583390432836 L 344.65 -506.38583390432836 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 370.55 -501.14870645437264 L 370.55 -511.14870645437264 L 383.05 -511.14870645437264 L 383.05 -501.14870645437264 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -501.14870645437264 L 370.55 -511.14870645437264 L 383.05 -511.14870645437264 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 408.95 -503.9233937620248 L 408.95 -513.9233937620247 L 421.45 -513.9233937620247 L 421.45 -503.9233937620248 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -503.9233937620248 L 408.95 -513.9233937620247 L 421.45 -513.9233937620247 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 447.35 -498.9791190031008 L 447.35 -508.9791190031008 L 459.85 -508.9791190031008 L 459.85 -498.9791190031008 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -498.9791190031008 L 447.35 -508.9791190031008 L 459.85 -508.9791190031008 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 485.75 -502.67912790675166 L 485.75 -512.6791279067517 L 498.25 -512.6791279067517 L 498.25 -502.67912790675166 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -502.67912790675166 L 485.75 -512.6791279067517 L 498.25 -512.6791279067517 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 524.15 -507.3547059666074 L 524.15 -517.3547059666074 L 536.65 -517.3547059666074 L 536.65 -507.3547059666074 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -507.3547059666074 L 524.15 -517.3547059666074 L 536.65 -517.3547059666074 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 562.55 -512.2585271812977 L 562.55 -522.2585271812977 L 575.05 -522.2585271812977 L 575.05 -512.2585271812977 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -512.2585271812977 L 562.55 -522.2585271812977 L 575.05 -522.2585271812977 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 600.95 -515.0 L 600.95 -525.0 L 613.45 -525.0 L 613.45 -515.0 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -515.0 L 600.95 -525.0 L 613.45 -525.0 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 639.35 -495.34426159700524 L 639.35 -505.34426159700524 L 651.85 -505.34426159700524 L 651.85 -495.34426159700524 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -495.34426159700524 L 639.35 -505.34426159700524 L 651.85 -505.34426159700524 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 677.75 -502.64250680355065 L 677.75 -512.6425068035506 L 690.25 -512.6425068035506 L 690.25 -502.64250680355065 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -502.64250680355065 L 677.75 -512.6425068035506 L 690.25 -512.6425068035506 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 338.4 -455.5362126966062 L 376.8 -468.721513156112 L 415.2 -461.8588887469466 L 453.6 -471.6609954281688 L 492.0 -461.42454542991084 L 530.4 -464.7826154280914 L 568.8 -466.54724161024455 L 607.2 -468.4081046449959 L 645.6 -471.27051226961805 L 684.0 -476.00017033071254" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 331.25714285714287 -448.393355553749 L 331.25714285714287 -462.6790698394633 L 345.54285714285714 -462.6790698394633 L 345.54285714285714 -448.393355553749 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 331.25714285714287 -455.5362126966062 L 338.4 -462.6790698394633 L 345.54285714285714 -455.5362126966062 L 338.4 -448.393355553749 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 369.65714285714284 -461.57865601325483 L 369.65714285714284 -475.8643702989691 L 383.9428571428571 -475.8643702989691 L 383.9428571428571 -461.57865601325483 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 369.65714285714284 -468.721513156112 L 376.8 -475.8643702989691 L 383.9428571428571 -468.721513156112 L 376.8 -461.57865601325483 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 408.0571428571429 -454.7160316040895 L 408.0571428571429 -469.0017458898038 L 422.34285714285716 -469.0017458898038 L 422.34285714285716 -454.7160316040895 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.0571428571429 -461.8588887469466 L 415.2 -469.0017458898038 L 422.34285714285716 -461.8588887469466 L 415.2 -454.7160316040895 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 446.45714285714286 -464.5181382853117 L 446.45714285714286 -478.80385257102597 L 460.74285714285713 -478.80385257102597 L 460.74285714285713 -464.5181382853117 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 446.45714285714286 -471.6609954281688 L 453.6 -478.80385257102597 L 460.74285714285713 -471.6609954281688 L 453.6 -464.5181382853117 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 484.8571428571429 -454.2816882870537 L 484.8571428571429 -468.56740257276795 L 499.1428571428571 -468.56740257276795 L 499.1428571428571 -454.2816882870537 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 484.8571428571429 -461.42454542991084 L 492.0 -468.56740257276795 L 499.1428571428571 -461.42454542991084 L 492.0 -454.2816882870537 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 523.2571428571429 -457.6397582852343 L 523.2571428571429 -471.9254725709485 L 537.5428571428572 -471.9254725709485 L 537.5428571428572 -457.6397582852343 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 523.2571428571429 -464.7826154280914 L 530.4 -471.9254725709485 L 537.5428571428572 -464.7826154280914 L 530.4 -457.6397582852343 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 561.6571428571428 -459.40438446738744 L 561.6571428571428 -473.6900987531017 L 575.9428571428572 -473.6900987531017 L 575.9428571428572 -459.40438446738744 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 561.6571428571428 -466.54724161024455 L 568.8 -473.6900987531017 L 575.9428571428572 -466.54724161024455 L 568.8 -459.40438446738744 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 600.0571428571428 -461.2652475021388 L 600.0571428571428 -475.55096178785305 L 614.3428571428572 -475.55096178785305 L 614.3428571428572 -461.2652475021388 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.0571428571428 -468.4081046449959 L 607.2 -475.55096178785305 L 614.3428571428572 -468.4081046449959 L 607.2 -461.2652475021388 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 638.4571428571428 -464.1276551267609 L 638.4571428571428 -478.41336941247516 L 652.7428571428572 -478.41336941247516 L 652.7428571428572 -464.1276551267609 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 638.4571428571428 -471.27051226961805 L 645.6 -478.41336941247516 L 652.7428571428572 -471.27051226961805 L 645.6 -464.1276551267609 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 676.8571428571429 -468.8573131878554 L 676.8571428571429 -483.1430274735697 L 691.1428571428571 -483.1430274735697 L 691.1428571428571 -468.8573131878554 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 676.8571428571429 -476.00017033071254 L 684.0 -483.1430274735697 L 691.1428571428571 -476.00017033071254 L 684.0 -468.8573131878554 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 338.4 -450.6179133713481 L 376.8 -459.85665122076796 L 415.2 -456.44024295353455 L 453.6 -462.55767049523655 L 492.0 -459.1502045904127 L 530.4 -463.2419741329586 L 568.8 -461.3444899950062 L 607.2 -464.93165480158405 L 645.6 -463.6831306784969 L 684.0 -468.5511824435489" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <path d="M 333.4 -445.6179133713481 L 343.4 -455.6179133713481" style="stroke-width:0.7;"/>
+        <path d="M 343.4 -445.6179133713481 L 333.4 -455.6179133713481" style="stroke-width:0.7;"/>
+        <path d="M 371.8 -454.85665122076796 L 381.8 -464.85665122076796" style="stroke-width:0.7;"/>
+        <path d="M 381.8 -454.85665122076796 L 371.8 -464.85665122076796" style="stroke-width:0.7;"/>
+        <path d="M 410.2 -451.44024295353455 L 420.2 -461.44024295353455" style="stroke-width:0.7;"/>
+        <path d="M 420.2 -451.44024295353455 L 410.2 -461.44024295353455" style="stroke-width:0.7;"/>
+        <path d="M 448.6 -457.55767049523655 L 458.6 -467.55767049523655" style="stroke-width:0.7;"/>
+        <path d="M 458.6 -457.55767049523655 L 448.6 -467.55767049523655" style="stroke-width:0.7;"/>
+        <path d="M 487.0 -454.1502045904127 L 497.0 -464.1502045904127" style="stroke-width:0.7;"/>
+        <path d="M 497.0 -454.1502045904127 L 487.0 -464.1502045904127" style="stroke-width:0.7;"/>
+        <path d="M 525.4 -458.2419741329586 L 535.4 -468.2419741329586" style="stroke-width:0.7;"/>
+        <path d="M 535.4 -458.2419741329586 L 525.4 -468.2419741329586" style="stroke-width:0.7;"/>
+        <path d="M 563.8 -456.3444899950062 L 573.8 -466.3444899950062" style="stroke-width:0.7;"/>
+        <path d="M 573.8 -456.3444899950062 L 563.8 -466.3444899950062" style="stroke-width:0.7;"/>
+        <path d="M 602.2 -459.93165480158405 L 612.2 -469.93165480158405" style="stroke-width:0.7;"/>
+        <path d="M 612.2 -459.93165480158405 L 602.2 -469.93165480158405" style="stroke-width:0.7;"/>
+        <path d="M 640.6 -458.6831306784969 L 650.6 -468.6831306784969" style="stroke-width:0.7;"/>
+        <path d="M 650.6 -458.6831306784969 L 640.6 -468.6831306784969" style="stroke-width:0.7;"/>
+        <path d="M 679.0 -463.5511824435489 L 689.0 -473.5511824435489" style="stroke-width:0.7;"/>
+        <path d="M 689.0 -463.5511824435489 L 679.0 -473.5511824435489" style="stroke-width:0.7;"/>
+      </g>
+      <g style="clip-path:url(#clip27);">
+        <path d="M 338.4 -450.31046643517175 L 376.8 -461.6353296867076 L 415.2 -455.21599095698764 L 453.6 -459.3839834934055 L 492.0 -455.7793597887899 L 530.4 -461.76605850859977 L 568.8 -461.75498701228315 L 607.2 -463.8381316269293 L 645.6 -464.7826154280914 L 684.0 -468.12535566214126" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip28);">
+        <g style="fill:rgb(179,179,179);clip-path:url(#clip29);">
+          <path d="M 331.25714285714287 -443.1676092923146 L 331.25714285714287 -457.45332357802886 L 345.54285714285714 -457.45332357802886 L 345.54285714285714 -443.1676092923146 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 331.25714285714287 -450.31046643517175 L 338.4 -457.45332357802886 L 345.54285714285714 -450.31046643517175 L 338.4 -443.1676092923146 Z"/>
+          <g style="fill:rgb(179,179,179);clip-path:url(#clip30);">
+            <path d="M 369.65714285714284 -454.49247254385045 L 369.65714285714284 -468.7781868295648 L 383.9428571428571 -468.7781868295648 L 383.9428571428571 -454.49247254385045 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 369.65714285714284 -461.6353296867076 L 376.8 -468.7781868295648 L 383.9428571428571 -461.6353296867076 L 376.8 -454.49247254385045 Z"/>
+            <g style="fill:rgb(179,179,179);clip-path:url(#clip31);">
+              <path d="M 408.0571428571429 -448.0731338141305 L 408.0571428571429 -462.35884809984475 L 422.34285714285716 -462.35884809984475 L 422.34285714285716 -448.0731338141305 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.0571428571429 -455.21599095698764 L 415.2 -462.35884809984475 L 422.34285714285716 -455.21599095698764 L 415.2 -448.0731338141305 Z"/>
+              <g style="fill:rgb(179,179,179);clip-path:url(#clip32);">
+                <path d="M 446.45714285714286 -452.24112635054837 L 446.45714285714286 -466.5268406362626 L 460.74285714285713 -466.5268406362626 L 460.74285714285713 -452.24112635054837 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 446.45714285714286 -459.3839834934055 L 453.6 -466.5268406362626 L 460.74285714285713 -459.3839834934055 L 453.6 -452.24112635054837 Z"/>
+                <g style="fill:rgb(179,179,179);clip-path:url(#clip33);">
+                  <path d="M 484.8571428571429 -448.63650264593275 L 484.8571428571429 -462.9222169316471 L 499.1428571428571 -462.9222169316471 L 499.1428571428571 -448.63650264593275 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 484.8571428571429 -455.7793597887899 L 492.0 -462.9222169316471 L 499.1428571428571 -455.7793597887899 L 492.0 -448.63650264593275 Z"/>
+                  <g style="fill:rgb(179,179,179);clip-path:url(#clip34);">
+                    <path d="M 523.2571428571429 -454.6232013657426 L 523.2571428571429 -468.90891565145694 L 537.5428571428572 -468.90891565145694 L 537.5428571428572 -454.6232013657426 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 523.2571428571429 -461.76605850859977 L 530.4 -468.90891565145694 L 537.5428571428572 -461.76605850859977 L 530.4 -454.6232013657426 Z"/>
+                    <g style="fill:rgb(179,179,179);clip-path:url(#clip35);">
+                      <path d="M 561.6571428571428 -454.612129869426 L 561.6571428571428 -468.8978441551403 L 575.9428571428572 -468.8978441551403 L 575.9428571428572 -454.612129869426 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 561.6571428571428 -461.75498701228315 L 568.8 -468.8978441551403 L 575.9428571428572 -461.75498701228315 L 568.8 -454.612129869426 Z"/>
+                      <g style="fill:rgb(179,179,179);clip-path:url(#clip36);">
+                        <path d="M 600.0571428571428 -456.6952744840721 L 600.0571428571428 -470.98098876978645 L 614.3428571428572 -470.98098876978645 L 614.3428571428572 -456.6952744840721 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.0571428571428 -463.8381316269293 L 607.2 -470.98098876978645 L 614.3428571428572 -463.8381316269293 L 607.2 -456.6952744840721 Z"/>
+                        <g style="fill:rgb(179,179,179);clip-path:url(#clip37);">
+                          <path d="M 638.4571428571428 -457.6397582852343 L 638.4571428571428 -471.9254725709485 L 652.7428571428572 -471.9254725709485 L 652.7428571428572 -457.6397582852343 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 638.4571428571428 -464.7826154280914 L 645.6 -471.9254725709485 L 652.7428571428572 -464.7826154280914 L 645.6 -457.6397582852343 Z"/>
+                          <g style="fill:rgb(179,179,179);clip-path:url(#clip38);">
+                            <path d="M 676.8571428571429 -460.98249851928415 L 676.8571428571429 -475.2682128049984 L 691.1428571428571 -475.2682128049984 L 691.1428571428571 -460.98249851928415 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 676.8571428571429 -468.12535566214126 L 684.0 -475.2682128049984 L 691.1428571428571 -468.12535566214126 L 684.0 -460.98249851928415 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip39);">
+      <path d="M 290 -114 L 290 -188 L 324 -188 L 324 -114 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -178.66666666666669 L 314 -178.66666666666669" style="stroke:rgb(0,138,0);stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip40);">
+      <path d="M 300.75 -173.66666666666669 L 300.75 -183.66666666666669 L 313.25 -183.66666666666669 L 313.25 -173.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -173.66666666666669 L 300.75 -183.66666666666669 L 313.25 -183.66666666666669 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-174.0">
+        cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map
+      </text>
+      <path d="M 300 -160.66666666666666 L 314 -160.66666666666666" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip41);">
+        <path d="M 299.85714285714283 -153.52380952380952 L 299.85714285714283 -167.8095238095238 L 314.14285714285717 -167.8095238095238 L 314.14285714285717 -153.52380952380952 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 299.85714285714283 -160.66666666666666 L 307.0 -167.8095238095238 L 314.14285714285717 -160.66666666666666 L 307.0 -153.52380952380952 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-156.0">
+          cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map
+        </text>
+        <path d="M 300 -142.66666666666666 L 314 -142.66666666666666" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+        <path d="M 302.0 -137.66666666666666 L 312.0 -147.66666666666666" style="stroke-width:0.7;"/>
+        <path d="M 312.0 -137.66666666666666 L 302.0 -147.66666666666666" style="stroke-width:0.7;"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-138.0">
+          cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map
+        </text>
+        <path d="M 300 -124.66666666666666 L 314 -124.66666666666666" style="stroke:rgb(0,0,128);stroke-width:2;"/>
+        <g style="fill:rgb(179,179,179);clip-path:url(#clip42);">
+          <path d="M 299.85714285714283 -117.52380952380952 L 299.85714285714283 -131.8095238095238 L 314.14285714285717 -131.8095238095238 L 314.14285714285717 -117.52380952380952 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 299.85714285714283 -124.66666666666666 L 307.0 -131.8095238095238 L 314.14285714285717 -124.66666666666666 L 307.0 -117.52380952380952 Z"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-120.0">
+            cc_hash_mask_exp_nea_lc_1div8_1div2_sth_map
+          </text>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_tree_like_local.pdf b/libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_tree_like_local.pdf
new file mode 100644 (file)
index 0000000..cc094f7
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_tree_like_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_tree_like_local.png b/libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_tree_like_local.png
new file mode 100644 (file)
index 0000000..937b343
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_tree_like_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_tree_like_local.svg b/libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_tree_like_local.svg
new file mode 100644 (file)
index 0000000..a12fbda
--- /dev/null
@@ -0,0 +1,542 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 456.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 332.15 -468.622253854465 L 344.65 -468.622253854465 L 338.4 -478.622253854465 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 370.55 -482.62170995411145 L 383.05 -482.62170995411145 L 376.8 -492.62170995411145 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 408.95 -489.1856562206765 L 421.45 -489.1856562206765 L 415.2 -499.1856562206765 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 447.35 -505.09425156126355 L 459.85 -505.09425156126355 L 453.6 -515.0942515612635 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 485.75 -501.21560504014326 L 498.25 -501.21560504014326 L 492.0 -511.21560504014326 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 524.15 -502.36798778919206 L 536.65 -502.36798778919206 L 530.4 -512.3679877891921 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 562.55 -506.37276039229425 L 575.05 -506.37276039229425 L 568.8 -516.3727603922943 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 600.95 -506.75006063753943 L 613.45 -506.75006063753943 L 607.2 -516.7500606375395 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 639.35 -507.93855641006166 L 651.85 -507.93855641006166 L 645.6 -517.9385564100617 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 677.75 -515.0 L 690.25 -515.0 L 684.0 -525.0 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 338.4 -403.52687529246896 M 342.4 -403.52687529246896 L 342.4 -403.527 M 342.4 -403.527 A 4 4 0 1 0 334.4 -403.527 A 4 4 0 1 0 342.4 -403.527 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 376.8 -413.02082746353784 M 380.8 -413.02082746353784 L 380.8 -413.021 M 380.8 -413.021 A 4 4 0 1 0 372.8 -413.021 A 4 4 0 1 0 380.8 -413.021 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 415.2 -418.247513860884 M 419.2 -418.247513860884 L 419.2 -418.248 M 419.2 -418.248 A 4 4 0 1 0 411.2 -418.248 A 4 4 0 1 0 419.2 -418.248 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 453.6 -422.1644294068791 M 457.6 -422.1644294068791 L 457.6 -422.164 M 457.6 -422.164 A 4 4 0 1 0 449.6 -422.164 A 4 4 0 1 0 457.6 -422.164 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 492.0 -425.3224324595811 M 496.0 -425.3224324595811 L 496 -425.322 M 496 -425.322 A 4 4 0 1 0 488 -425.322 A 4 4 0 1 0 496 -425.322 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 530.4 -429.79936936959007 M 534.4 -429.79936936959007 L 534.4 -429.799 M 534.4 -429.799 A 4 4 0 1 0 526.4 -429.799 A 4 4 0 1 0 534.4 -429.799 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 568.8 -428.9951808468676 M 572.8 -428.9951808468676 L 572.8 -428.995 M 572.8 -428.995 A 4 4 0 1 0 564.8 -428.995 A 4 4 0 1 0 572.8 -428.995 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 607.2 -431.82062068340343 M 611.2 -431.82062068340343 L 611.2 -431.821 M 611.2 -431.821 A 4 4 0 1 0 603.2 -431.821 A 4 4 0 1 0 611.2 -431.821 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 645.6 -433.77234095202164 M 649.6 -433.77234095202164 L 649.6 -433.772 M 649.6 -433.772 A 4 4 0 1 0 641.6 -433.772 A 4 4 0 1 0 649.6 -433.772 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 684.0 -438.55650806173026 M 688.0 -438.55650806173026 L 688 -438.557 M 688 -438.557 A 4 4 0 1 0 680 -438.557 A 4 4 0 1 0 688 -438.557 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 338.4 -393.9971163481256 L 332.15 -403.9971163481256 L 344.65 -403.9971163481256 Z"/>
+    </clipPath>
+    <clipPath id="clip30">
+      <path d="M 376.8 -403.633364611687 L 370.55 -413.633364611687 L 383.05 -413.633364611687 Z"/>
+    </clipPath>
+    <clipPath id="clip31">
+      <path d="M 415.2 -408.16797455918345 L 408.95 -418.16797455918345 L 421.45 -418.16797455918345 Z"/>
+    </clipPath>
+    <clipPath id="clip32">
+      <path d="M 453.6 -413.2480528612343 L 447.35 -423.2480528612343 L 459.85 -423.2480528612343 Z"/>
+    </clipPath>
+    <clipPath id="clip33">
+      <path d="M 492.0 -415.9101755916141 L 485.75 -425.9101755916141 L 498.25 -425.9101755916141 Z"/>
+    </clipPath>
+    <clipPath id="clip34">
+      <path d="M 530.4 -419.83032513971136 L 524.15 -429.83032513971136 L 536.65 -429.83032513971136 Z"/>
+    </clipPath>
+    <clipPath id="clip35">
+      <path d="M 568.8 -419.63143401043214 L 562.55 -429.63143401043214 L 575.05 -429.63143401043214 Z"/>
+    </clipPath>
+    <clipPath id="clip36">
+      <path d="M 607.2 -422.79321006558655 L 600.95 -432.79321006558655 L 613.45 -432.79321006558655 Z"/>
+    </clipPath>
+    <clipPath id="clip37">
+      <path d="M 645.6 -425.52701984256294 L 639.35 -435.52701984256294 L 651.85 -435.52701984256294 Z"/>
+    </clipPath>
+    <clipPath id="clip38">
+      <path d="M 684.0 -432.30656624926803 L 677.75 -442.30656624926803 L 690.25 -442.30656624926803 Z"/>
+    </clipPath>
+    <clipPath id="clip39">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip40">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip41">
+      <path d="M 290 -94 L 290 -186 L 324 -186 L 324 -94 Z"/>
+    </clipPath>
+    <clipPath id="clip42">
+      <path d="M 300.75 -171.66666666666669 L 313.25 -171.66666666666669 L 307.0 -181.66666666666669 Z"/>
+    </clipPath>
+    <clipPath id="clip43">
+      <path d="M 307.0 -158.66666666666666 M 311.0 -158.66666666666666 L 311 -158.667 M 311 -158.667 A 4 4 0 1 0 303 -158.667 A 4 4 0 1 0 311 -158.667 Z"/>
+    </clipPath>
+    <clipPath id="clip44">
+      <path d="M 307.0 -117.66666666666666 L 300.75 -127.66666666666666 L 313.25 -127.66666666666666 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      8.16e-08
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.50048673219425">
+      1.63e-07
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.50048673219425">
+      2.45e-07
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.50048673219425">
+      3.27e-07
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      4.08e-07
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -473.622253854465 L 376.8 -487.62170995411145 L 415.2 -494.1856562206765 L 453.6 -510.09425156126355 L 492.0 -506.21560504014326 L 530.4 -507.36798778919206 L 568.8 -511.37276039229425 L 607.2 -511.75006063753943 L 645.6 -512.9385564100617 L 684.0 -520.0" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 332.15 -468.622253854465 L 332.15 -478.622253854465 L 344.65 -478.622253854465 L 344.65 -468.622253854465 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 332.15 -468.622253854465 L 344.65 -468.622253854465 L 338.4 -478.622253854465 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 370.55 -482.62170995411145 L 370.55 -492.62170995411145 L 383.05 -492.62170995411145 L 383.05 -482.62170995411145 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 370.55 -482.62170995411145 L 383.05 -482.62170995411145 L 376.8 -492.62170995411145 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 408.95 -489.1856562206765 L 408.95 -499.1856562206765 L 421.45 -499.1856562206765 L 421.45 -489.1856562206765 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.95 -489.1856562206765 L 421.45 -489.1856562206765 L 415.2 -499.1856562206765 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 447.35 -505.09425156126355 L 447.35 -515.0942515612635 L 459.85 -515.0942515612635 L 459.85 -505.09425156126355 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 447.35 -505.09425156126355 L 459.85 -505.09425156126355 L 453.6 -515.0942515612635 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 485.75 -501.21560504014326 L 485.75 -511.21560504014326 L 498.25 -511.21560504014326 L 498.25 -501.21560504014326 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 485.75 -501.21560504014326 L 498.25 -501.21560504014326 L 492.0 -511.21560504014326 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 524.15 -502.36798778919206 L 524.15 -512.3679877891921 L 536.65 -512.3679877891921 L 536.65 -502.36798778919206 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 524.15 -502.36798778919206 L 536.65 -502.36798778919206 L 530.4 -512.3679877891921 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 562.55 -506.37276039229425 L 562.55 -516.3727603922943 L 575.05 -516.3727603922943 L 575.05 -506.37276039229425 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 562.55 -506.37276039229425 L 575.05 -506.37276039229425 L 568.8 -516.3727603922943 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 600.95 -506.75006063753943 L 600.95 -516.7500606375395 L 613.45 -516.7500606375395 L 613.45 -506.75006063753943 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.95 -506.75006063753943 L 613.45 -506.75006063753943 L 607.2 -516.7500606375395 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 639.35 -507.93855641006166 L 639.35 -517.9385564100617 L 651.85 -517.9385564100617 L 651.85 -507.93855641006166 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 639.35 -507.93855641006166 L 651.85 -507.93855641006166 L 645.6 -517.9385564100617 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 677.75 -515.0 L 677.75 -525.0 L 690.25 -525.0 L 690.25 -515.0 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 677.75 -515.0 L 690.25 -515.0 L 684.0 -525.0 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 338.4 -403.52687529246896 L 376.8 -413.02082746353784 L 415.2 -418.247513860884 L 453.6 -422.1644294068791 L 492.0 -425.3224324595811 L 530.4 -429.79936936959007 L 568.8 -428.9951808468676 L 607.2 -431.82062068340343 L 645.6 -433.77234095202164 L 684.0 -438.55650806173026" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 330.4 -395.52687529246896 L 330.4 -411.52687529246896 L 346.4 -411.52687529246896 L 346.4 -395.52687529246896 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -403.52687529246896 M 342.4 -403.52687529246896 L 342.4 -403.527 M 342.4 -403.527 A 4 4 0 1 0 334.4 -403.527 A 4 4 0 1 0 342.4 -403.527 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 368.8 -405.02082746353784 L 368.8 -421.02082746353784 L 384.8 -421.02082746353784 L 384.8 -405.02082746353784 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -413.02082746353784 M 380.8 -413.02082746353784 L 380.8 -413.021 M 380.8 -413.021 A 4 4 0 1 0 372.8 -413.021 A 4 4 0 1 0 380.8 -413.021 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 407.2 -410.247513860884 L 407.2 -426.247513860884 L 423.2 -426.247513860884 L 423.2 -410.247513860884 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -418.247513860884 M 419.2 -418.247513860884 L 419.2 -418.248 M 419.2 -418.248 A 4 4 0 1 0 411.2 -418.248 A 4 4 0 1 0 419.2 -418.248 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 445.6 -414.1644294068791 L 445.6 -430.1644294068791 L 461.6 -430.1644294068791 L 461.6 -414.1644294068791 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -422.1644294068791 M 457.6 -422.1644294068791 L 457.6 -422.164 M 457.6 -422.164 A 4 4 0 1 0 449.6 -422.164 A 4 4 0 1 0 457.6 -422.164 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 484.0 -417.3224324595811 L 484.0 -433.3224324595811 L 500.0 -433.3224324595811 L 500.0 -417.3224324595811 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -425.3224324595811 M 496.0 -425.3224324595811 L 496 -425.322 M 496 -425.322 A 4 4 0 1 0 488 -425.322 A 4 4 0 1 0 496 -425.322 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 522.4 -421.79936936959007 L 522.4 -437.79936936959007 L 538.4 -437.79936936959007 L 538.4 -421.79936936959007 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -429.79936936959007 M 534.4 -429.79936936959007 L 534.4 -429.799 M 534.4 -429.799 A 4 4 0 1 0 526.4 -429.799 A 4 4 0 1 0 534.4 -429.799 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 560.8 -420.9951808468676 L 560.8 -436.9951808468676 L 576.8 -436.9951808468676 L 576.8 -420.9951808468676 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -428.9951808468676 M 572.8 -428.9951808468676 L 572.8 -428.995 M 572.8 -428.995 A 4 4 0 1 0 564.8 -428.995 A 4 4 0 1 0 572.8 -428.995 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 599.2 -423.82062068340343 L 599.2 -439.82062068340343 L 615.2 -439.82062068340343 L 615.2 -423.82062068340343 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -431.82062068340343 M 611.2 -431.82062068340343 L 611.2 -431.821 M 611.2 -431.821 A 4 4 0 1 0 603.2 -431.821 A 4 4 0 1 0 611.2 -431.821 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 637.6 -425.77234095202164 L 637.6 -441.77234095202164 L 653.6 -441.77234095202164 L 653.6 -425.77234095202164 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -433.77234095202164 M 649.6 -433.77234095202164 L 649.6 -433.772 M 649.6 -433.772 A 4 4 0 1 0 641.6 -433.772 A 4 4 0 1 0 649.6 -433.772 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 676.0 -430.55650806173026 L 676.0 -446.55650806173026 L 692.0 -446.55650806173026 L 692.0 -430.55650806173026 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -438.55650806173026 M 688.0 -438.55650806173026 L 688 -438.557 M 688 -438.557 A 4 4 0 1 0 680 -438.557 A 4 4 0 1 0 688 -438.557 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 338.4 -402.5658376677945 L 376.8 -409.8191653824575 L 415.2 -415.3277489630368 L 453.6 -420.7436244833559 L 492.0 -424.83032513971136 L 530.4 -426.7313793753966 L 568.8 -430.35992973395435 L 607.2 -431.82062068340343 L 645.6 -434.12646418220174 L 684.0 -436.1536444998689" style="stroke:rgb(255,68,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <path d="M 333.4 -397.5658376677945 L 343.4 -407.5658376677945" style="stroke-width:1;"/>
+        <path d="M 343.4 -397.5658376677945 L 333.4 -407.5658376677945" style="stroke-width:1;"/>
+        <path d="M 338.4 -395.4958376677945 L 338.4 -409.6358376677945" style="stroke-width:1;"/>
+        <path d="M 331.33 -402.5658376677945 L 345.47 -402.5658376677945" style="stroke-width:1;"/>
+        <path d="M 371.8 -404.8191653824575 L 381.8 -414.8191653824575" style="stroke-width:1;"/>
+        <path d="M 381.8 -404.8191653824575 L 371.8 -414.8191653824575" style="stroke-width:1;"/>
+        <path d="M 376.8 -402.7491653824575 L 376.8 -416.88916538245746" style="stroke-width:1;"/>
+        <path d="M 369.73 -409.8191653824575 L 383.87 -409.8191653824575" style="stroke-width:1;"/>
+        <path d="M 410.2 -410.3277489630368 L 420.2 -420.3277489630368" style="stroke-width:1;"/>
+        <path d="M 420.2 -410.3277489630368 L 410.2 -420.3277489630368" style="stroke-width:1;"/>
+        <path d="M 415.2 -408.2577489630368 L 415.2 -422.3977489630368" style="stroke-width:1;"/>
+        <path d="M 408.13 -415.3277489630368 L 422.27 -415.3277489630368" style="stroke-width:1;"/>
+        <path d="M 448.6 -415.7436244833559 L 458.6 -425.7436244833559" style="stroke-width:1;"/>
+        <path d="M 458.6 -415.7436244833559 L 448.6 -425.7436244833559" style="stroke-width:1;"/>
+        <path d="M 453.6 -413.6736244833559 L 453.6 -427.8136244833559" style="stroke-width:1;"/>
+        <path d="M 446.53 -420.7436244833559 L 460.66999999999996 -420.7436244833559" style="stroke-width:1;"/>
+        <path d="M 487.0 -419.83032513971136 L 497.0 -429.83032513971136" style="stroke-width:1;"/>
+        <path d="M 497.0 -419.83032513971136 L 487.0 -429.83032513971136" style="stroke-width:1;"/>
+        <path d="M 492.0 -417.76032513971137 L 492.0 -431.90032513971136" style="stroke-width:1;"/>
+        <path d="M 484.93 -424.83032513971136 L 499.07 -424.83032513971136" style="stroke-width:1;"/>
+        <path d="M 525.4 -421.7313793753966 L 535.4 -431.7313793753966" style="stroke-width:1;"/>
+        <path d="M 535.4 -421.7313793753966 L 525.4 -431.7313793753966" style="stroke-width:1;"/>
+        <path d="M 530.4 -419.66137937539656 L 530.4 -433.80137937539655" style="stroke-width:1;"/>
+        <path d="M 523.33 -426.7313793753966 L 537.47 -426.7313793753966" style="stroke-width:1;"/>
+        <path d="M 563.8 -425.35992973395435 L 573.8 -435.35992973395435" style="stroke-width:1;"/>
+        <path d="M 573.8 -425.35992973395435 L 563.8 -435.35992973395435" style="stroke-width:1;"/>
+        <path d="M 568.8 -423.2899297339543 L 568.8 -437.4299297339543" style="stroke-width:1;"/>
+        <path d="M 561.73 -430.35992973395435 L 575.87 -430.35992973395435" style="stroke-width:1;"/>
+        <path d="M 602.2 -426.82062068340343 L 612.2 -436.82062068340343" style="stroke-width:1;"/>
+        <path d="M 612.2 -426.82062068340343 L 602.2 -436.82062068340343" style="stroke-width:1;"/>
+        <path d="M 607.2 -424.75062068340344 L 607.2 -438.8906206834034" style="stroke-width:1;"/>
+        <path d="M 600.13 -431.82062068340343 L 614.27 -431.82062068340343" style="stroke-width:1;"/>
+        <path d="M 640.6 -429.12646418220174 L 650.6 -439.12646418220174" style="stroke-width:1;"/>
+        <path d="M 650.6 -429.12646418220174 L 640.6 -439.12646418220174" style="stroke-width:1;"/>
+        <path d="M 645.6 -427.0564641822017 L 645.6 -441.1964641822017" style="stroke-width:1;"/>
+        <path d="M 638.53 -434.12646418220174 L 652.6700000000001 -434.12646418220174" style="stroke-width:1;"/>
+        <path d="M 679.0 -431.1536444998689 L 689.0 -441.1536444998689" style="stroke-width:1;"/>
+        <path d="M 689.0 -431.1536444998689 L 679.0 -441.1536444998689" style="stroke-width:1;"/>
+        <path d="M 684.0 -429.0836444998689 L 684.0 -443.2236444998689" style="stroke-width:1;"/>
+        <path d="M 676.9300000000001 -436.1536444998689 L 691.0699999999999 -436.1536444998689" style="stroke-width:1;"/>
+      </g>
+      <g style="clip-path:url(#clip27);">
+        <path d="M 338.4 -398.9971163481256 L 376.8 -408.633364611687 L 415.2 -413.16797455918345 L 453.6 -418.2480528612343 L 492.0 -420.9101755916141 L 530.4 -424.83032513971136 L 568.8 -424.63143401043214 L 607.2 -427.79321006558655 L 645.6 -430.52701984256294 L 684.0 -437.30656624926803" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip28);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+          <path d="M 332.15 -393.9971163481256 L 332.15 -403.9971163481256 L 344.65 -403.9971163481256 L 344.65 -393.9971163481256 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -393.9971163481256 L 332.15 -403.9971163481256 L 344.65 -403.9971163481256 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip30);">
+            <path d="M 370.55 -403.633364611687 L 370.55 -413.633364611687 L 383.05 -413.633364611687 L 383.05 -403.633364611687 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -403.633364611687 L 370.55 -413.633364611687 L 383.05 -413.633364611687 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip31);">
+              <path d="M 408.95 -408.16797455918345 L 408.95 -418.16797455918345 L 421.45 -418.16797455918345 L 421.45 -408.16797455918345 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -408.16797455918345 L 408.95 -418.16797455918345 L 421.45 -418.16797455918345 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip32);">
+                <path d="M 447.35 -413.2480528612343 L 447.35 -423.2480528612343 L 459.85 -423.2480528612343 L 459.85 -413.2480528612343 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -413.2480528612343 L 447.35 -423.2480528612343 L 459.85 -423.2480528612343 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip33);">
+                  <path d="M 485.75 -415.9101755916141 L 485.75 -425.9101755916141 L 498.25 -425.9101755916141 L 498.25 -415.9101755916141 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -415.9101755916141 L 485.75 -425.9101755916141 L 498.25 -425.9101755916141 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip34);">
+                    <path d="M 524.15 -419.83032513971136 L 524.15 -429.83032513971136 L 536.65 -429.83032513971136 L 536.65 -419.83032513971136 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -419.83032513971136 L 524.15 -429.83032513971136 L 536.65 -429.83032513971136 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip35);">
+                      <path d="M 562.55 -419.63143401043214 L 562.55 -429.63143401043214 L 575.05 -429.63143401043214 L 575.05 -419.63143401043214 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -419.63143401043214 L 562.55 -429.63143401043214 L 575.05 -429.63143401043214 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip36);">
+                        <path d="M 600.95 -422.79321006558655 L 600.95 -432.79321006558655 L 613.45 -432.79321006558655 L 613.45 -422.79321006558655 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -422.79321006558655 L 600.95 -432.79321006558655 L 613.45 -432.79321006558655 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip37);">
+                          <path d="M 639.35 -425.52701984256294 L 639.35 -435.52701984256294 L 651.85 -435.52701984256294 L 651.85 -425.52701984256294 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -425.52701984256294 L 639.35 -435.52701984256294 L 651.85 -435.52701984256294 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip38);">
+                            <path d="M 677.75 -432.30656624926803 L 677.75 -442.30656624926803 L 690.25 -442.30656624926803 L 690.25 -432.30656624926803 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -432.30656624926803 L 677.75 -442.30656624926803 L 690.25 -442.30656624926803 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip39);">
+        <path d="M 338.4 -322.3193038075475 L 376.8 -324.7628079958252 L 415.2 -326.1047571680922 L 453.6 -327.0899959084973 L 492.0 -327.74984013739606 L 530.4 -328.4702680056742 L 568.8 -329.30447884791124 L 607.2 -330.3272859127358 L 645.6 -331.0778978006336 L 684.0 -332.3542506302629" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip40);">
+        <path d="M 331.25714285714287 -322.3193038075475 L 345.54285714285714 -322.3193038075475" style="stroke-width:1;"/>
+        <path d="M 338.4 -315.17644666469033 L 338.4 -329.4621609504046" style="stroke-width:1;"/>
+        <path d="M 369.65714285714284 -324.7628079958252 L 383.9428571428571 -324.7628079958252" style="stroke-width:1;"/>
+        <path d="M 376.8 -317.61995085296803 L 376.8 -331.90566513868237" style="stroke-width:1;"/>
+        <path d="M 408.0571428571429 -326.1047571680922 L 422.34285714285716 -326.1047571680922" style="stroke-width:1;"/>
+        <path d="M 415.2 -318.961900025235 L 415.2 -333.2476143109493" style="stroke-width:1;"/>
+        <path d="M 446.45714285714286 -327.0899959084973 L 460.74285714285713 -327.0899959084973" style="stroke-width:1;"/>
+        <path d="M 453.6 -319.9471387656402 L 453.6 -334.2328530513545" style="stroke-width:1;"/>
+        <path d="M 484.8571428571429 -327.74984013739606 L 499.1428571428571 -327.74984013739606" style="stroke-width:1;"/>
+        <path d="M 492.0 -320.60698299453895 L 492.0 -334.89269728025323" style="stroke-width:1;"/>
+        <path d="M 523.2571428571429 -328.4702680056742 L 537.5428571428572 -328.4702680056742" style="stroke-width:1;"/>
+        <path d="M 530.4 -321.3274108628171 L 530.4 -335.61312514853137" style="stroke-width:1;"/>
+        <path d="M 561.6571428571428 -329.30447884791124 L 575.9428571428572 -329.30447884791124" style="stroke-width:1;"/>
+        <path d="M 568.8 -322.16162170505413 L 568.8 -336.4473359907684" style="stroke-width:1;"/>
+        <path d="M 600.0571428571428 -330.3272859127358 L 614.3428571428572 -330.3272859127358" style="stroke-width:1;"/>
+        <path d="M 607.2 -323.1844287698787 L 607.2 -337.470143055593" style="stroke-width:1;"/>
+        <path d="M 638.4571428571428 -331.0778978006336 L 652.7428571428572 -331.0778978006336" style="stroke-width:1;"/>
+        <path d="M 645.6 -323.9350406577764 L 645.6 -338.2207549434907" style="stroke-width:1;"/>
+        <path d="M 676.8571428571429 -332.3542506302629 L 691.1428571428571 -332.3542506302629" style="stroke-width:1;"/>
+        <path d="M 684.0 -325.21139348740576 L 684.0 -339.49710777312004" style="stroke-width:1;"/>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip41);">
+      <path d="M 290 -94 L 290 -186 L 324 -186 L 324 -94 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -176.66666666666669 L 314 -176.66666666666669" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip42);">
+      <path d="M 300.75 -171.66666666666669 L 300.75 -181.66666666666669 L 313.25 -181.66666666666669 L 313.25 -171.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 300.75 -171.66666666666669 L 313.25 -171.66666666666669 L 307.0 -181.66666666666669 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-172.0">
+        splay_tree_map
+      </text>
+      <path d="M 300 -158.66666666666666 L 314 -158.66666666666666" style="stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip43);">
+        <path d="M 299.0 -150.66666666666666 L 299.0 -166.66666666666666 L 315.0 -166.66666666666666 L 315.0 -150.66666666666666 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 307.0 -158.66666666666666 M 311.0 -158.66666666666666 L 311 -158.667 M 311 -158.667 A 4 4 0 1 0 303 -158.667 A 4 4 0 1 0 311 -158.667 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-154.0">
+          n_map
+        </text>
+        <path d="M 300 -140.66666666666666 L 314 -140.66666666666666" style="stroke:rgb(255,68,0);stroke-width:2;"/>
+        <path d="M 302.0 -135.66666666666666 L 312.0 -145.66666666666666" style="stroke-width:1;"/>
+        <path d="M 312.0 -135.66666666666666 L 302.0 -145.66666666666666" style="stroke-width:1;"/>
+        <path d="M 307.0 -133.59666666666666 L 307.0 -147.73666666666665" style="stroke-width:1;"/>
+        <path d="M 299.93 -140.66666666666666 L 314.07 -140.66666666666666" style="stroke-width:1;"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-136.0">
+          ov_tree_map
+        </text>
+        <path d="M 300 -122.66666666666666 L 314 -122.66666666666666" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip44);">
+          <path d="M 300.75 -117.66666666666666 L 300.75 -127.66666666666666 L 313.25 -127.66666666666666 L 313.25 -117.66666666666666 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 307.0 -117.66666666666666 L 300.75 -127.66666666666666 L 313.25 -127.66666666666666 Z"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-118.0">
+            rb_tree_map
+          </text>
+          <path d="M 300 -104.66666666666666 L 314 -104.66666666666666" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+          <path d="M 299.85714285714283 -104.66666666666666 L 314.14285714285717 -104.66666666666666" style="stroke-width:1;"/>
+          <path d="M 307.0 -97.52380952380952 L 307.0 -111.8095238095238" style="stroke-width:1;"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-100.0">
+            pat_trie_map
+          </text>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_tree_node_invalidations.png b/libstdc++-v3/doc/xml/images/pbds_tree_node_invalidations.png
new file mode 100644 (file)
index 0000000..bbd9184
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_tree_node_invalidations.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_tree_node_invariants.png b/libstdc++-v3/doc/xml/images/pbds_tree_node_invariants.png
new file mode 100644 (file)
index 0000000..b375f51
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_tree_node_invariants.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_tree_node_updator_policy_cd.png b/libstdc++-v3/doc/xml/images/pbds_tree_node_updator_policy_cd.png
new file mode 100644 (file)
index 0000000..5cae578
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_tree_node_updator_policy_cd.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_tree_order_statistics_timing_test_local.pdf b/libstdc++-v3/doc/xml/images/pbds_tree_order_statistics_timing_test_local.pdf
new file mode 100644 (file)
index 0000000..bf8bf8a
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_tree_order_statistics_timing_test_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_tree_order_statistics_timing_test_local.png b/libstdc++-v3/doc/xml/images/pbds_tree_order_statistics_timing_test_local.png
new file mode 100644 (file)
index 0000000..ea82ea0
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_tree_order_statistics_timing_test_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_tree_order_statistics_timing_test_local.svg b/libstdc++-v3/doc/xml/images/pbds_tree_order_statistics_timing_test_local.svg
new file mode 100644 (file)
index 0000000..323dd9a
--- /dev/null
@@ -0,0 +1,446 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 416.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 338.4 -322.06561176470586 M 342.4 -322.06561176470586 L 342.4 -322.066 M 342.4 -322.066 A 4 4 0 1 0 334.4 -322.066 A 4 4 0 1 0 342.4 -322.066 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 376.8 -344.57510588235294 M 380.8 -344.57510588235294 L 380.8 -344.575 M 380.8 -344.575 A 4 4 0 1 0 372.8 -344.575 A 4 4 0 1 0 380.8 -344.575 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 415.2 -365.5832941176471 M 419.2 -365.5832941176471 L 419.2 -365.583 M 419.2 -365.583 A 4 4 0 1 0 411.2 -365.583 A 4 4 0 1 0 419.2 -365.583 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 453.6 -388.23527058823527 M 457.6 -388.23527058823527 L 457.6 -388.235 M 457.6 -388.235 A 4 4 0 1 0 449.6 -388.235 A 4 4 0 1 0 457.6 -388.235 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 492.0 -409.1637411764706 M 496.0 -409.1637411764706 L 496 -409.164 M 496 -409.164 A 4 4 0 1 0 488 -409.164 A 4 4 0 1 0 496 -409.164 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 530.4 -432.1948941176471 M 534.4 -432.1948941176471 L 534.4 -432.195 M 534.4 -432.195 A 4 4 0 1 0 526.4 -432.195 A 4 4 0 1 0 534.4 -432.195 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 568.8 -454.4516470588235 M 572.8 -454.4516470588235 L 572.8 -454.452 M 572.8 -454.452 A 4 4 0 1 0 564.8 -454.452 A 4 4 0 1 0 572.8 -454.452 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 607.2 -477.41938823529415 M 611.2 -477.41938823529415 L 611.2 -477.419 M 611.2 -477.419 A 4 4 0 1 0 603.2 -477.419 A 4 4 0 1 0 611.2 -477.419 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 645.6 -498.4314588235294 M 649.6 -498.4314588235294 L 649.6 -498.431 M 649.6 -498.431 A 4 4 0 1 0 641.6 -498.431 A 4 4 0 1 0 649.6 -498.431 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 684.0 -520.0 M 688.0 -520.0 L 688 -520 M 688 -520 A 4 4 0 1 0 680 -520 A 4 4 0 1 0 688 -520 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 332.15 -298.8908164705882 L 344.65 -298.8908164705882 L 338.4 -308.8908164705882 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 370.55 -302.3455670588235 L 383.05 -302.3455670588235 L 376.8 -312.3455670588235 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 408.95 -305.83665647058825 L 421.45 -305.83665647058825 L 415.2 -315.83665647058825 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 447.35 -313.0193717647059 L 459.85 -313.0193717647059 L 453.6 -323.0193717647059 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 485.75 -323.3473882352941 L 498.25 -323.3473882352941 L 492.0 -333.34738823529415 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 524.15 -332.54545882352943 L 536.65 -332.54545882352943 L 530.4 -342.54545882352943 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 562.55 -341.8346352941177 L 575.05 -341.8346352941177 L 568.8 -351.8346352941177 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 600.95 -350.7190117647059 L 613.45 -350.7190117647059 L 607.2 -360.7190117647059 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 639.35 -358.2678588235294 L 651.85 -358.2678588235294 L 645.6 -368.2678588235294 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 677.75 -367.45376470588235 L 690.25 -367.45376470588235 L 684.0 -377.45376470588235 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 338.4 -296.21275647058826 L 332.15 -306.21275647058826 L 344.65 -306.21275647058826 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 376.8 -296.2785778823529 L 370.55 -306.2785778823529 L 383.05 -306.2785778823529 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 415.2 -296.3372143529412 L 408.95 -306.3372143529412 L 421.45 -306.3372143529412 Z"/>
+    </clipPath>
+    <clipPath id="clip30">
+      <path d="M 453.6 -296.40190211764707 L 447.35 -306.40190211764707 L 459.85 -306.40190211764707 Z"/>
+    </clipPath>
+    <clipPath id="clip31">
+      <path d="M 492.0 -296.4520621176471 L 485.75 -306.4520621176471 L 498.25 -306.4520621176471 Z"/>
+    </clipPath>
+    <clipPath id="clip32">
+      <path d="M 530.4 -296.46631811764706 L 524.15 -306.46631811764706 L 536.65 -306.46631811764706 Z"/>
+    </clipPath>
+    <clipPath id="clip33">
+      <path d="M 568.8 -296.4786277647059 L 562.55 -306.4786277647059 L 575.05 -306.4786277647059 Z"/>
+    </clipPath>
+    <clipPath id="clip34">
+      <path d="M 607.2 -296.51428070588236 L 600.95 -306.51428070588236 L 613.45 -306.51428070588236 Z"/>
+    </clipPath>
+    <clipPath id="clip35">
+      <path d="M 645.6 -296.51739952941176 L 639.35 -306.51739952941176 L 651.85 -306.51739952941176 Z"/>
+    </clipPath>
+    <clipPath id="clip36">
+      <path d="M 684.0 -296.52937011764703 L 677.75 -306.52937011764703 L 690.25 -306.52937011764703 Z"/>
+    </clipPath>
+    <clipPath id="clip37">
+      <path d="M 290 -134 L 290 -190 L 324 -190 L 324 -134 Z"/>
+    </clipPath>
+    <clipPath id="clip38">
+      <path d="M 307.0 -180.66666666666669 M 311.0 -180.66666666666669 L 311 -180.667 M 311 -180.667 A 4 4 0 1 0 303 -180.667 A 4 4 0 1 0 311 -180.667 Z"/>
+    </clipPath>
+    <clipPath id="clip39">
+      <path d="M 300.75 -157.66666666666666 L 313.25 -157.66666666666666 L 307.0 -167.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip40">
+      <path d="M 307.0 -139.66666666666666 L 300.75 -149.66666666666666 L 313.25 -149.66666666666666 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      1.70e-06
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      3.40e-06
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.50048673219425">
+      5.10e-06
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      6.80e-06
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      8.50e-06
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -322.06561176470586 L 376.8 -344.57510588235294 L 415.2 -365.5832941176471 L 453.6 -388.23527058823527 L 492.0 -409.1637411764706 L 530.4 -432.1948941176471 L 568.8 -454.4516470588235 L 607.2 -477.41938823529415 L 645.6 -498.4314588235294 L 684.0 -520.0" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 330.4 -314.06561176470586 L 330.4 -330.06561176470586 L 346.4 -330.06561176470586 L 346.4 -314.06561176470586 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -322.06561176470586 M 342.4 -322.06561176470586 L 342.4 -322.066 M 342.4 -322.066 A 4 4 0 1 0 334.4 -322.066 A 4 4 0 1 0 342.4 -322.066 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 368.8 -336.57510588235294 L 368.8 -352.57510588235294 L 384.8 -352.57510588235294 L 384.8 -336.57510588235294 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -344.57510588235294 M 380.8 -344.57510588235294 L 380.8 -344.575 M 380.8 -344.575 A 4 4 0 1 0 372.8 -344.575 A 4 4 0 1 0 380.8 -344.575 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 407.2 -357.5832941176471 L 407.2 -373.5832941176471 L 423.2 -373.5832941176471 L 423.2 -357.5832941176471 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -365.5832941176471 M 419.2 -365.5832941176471 L 419.2 -365.583 M 419.2 -365.583 A 4 4 0 1 0 411.2 -365.583 A 4 4 0 1 0 419.2 -365.583 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 445.6 -380.23527058823527 L 445.6 -396.23527058823527 L 461.6 -396.23527058823527 L 461.6 -380.23527058823527 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -388.23527058823527 M 457.6 -388.23527058823527 L 457.6 -388.235 M 457.6 -388.235 A 4 4 0 1 0 449.6 -388.235 A 4 4 0 1 0 457.6 -388.235 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 484.0 -401.1637411764706 L 484.0 -417.1637411764706 L 500.0 -417.1637411764706 L 500.0 -401.1637411764706 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -409.1637411764706 M 496.0 -409.1637411764706 L 496 -409.164 M 496 -409.164 A 4 4 0 1 0 488 -409.164 A 4 4 0 1 0 496 -409.164 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 522.4 -424.1948941176471 L 522.4 -440.1948941176471 L 538.4 -440.1948941176471 L 538.4 -424.1948941176471 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -432.1948941176471 M 534.4 -432.1948941176471 L 534.4 -432.195 M 534.4 -432.195 A 4 4 0 1 0 526.4 -432.195 A 4 4 0 1 0 534.4 -432.195 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 560.8 -446.4516470588235 L 560.8 -462.4516470588235 L 576.8 -462.4516470588235 L 576.8 -446.4516470588235 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -454.4516470588235 M 572.8 -454.4516470588235 L 572.8 -454.452 M 572.8 -454.452 A 4 4 0 1 0 564.8 -454.452 A 4 4 0 1 0 572.8 -454.452 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 599.2 -469.41938823529415 L 599.2 -485.41938823529415 L 615.2 -485.41938823529415 L 615.2 -469.41938823529415 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -477.41938823529415 M 611.2 -477.41938823529415 L 611.2 -477.419 M 611.2 -477.419 A 4 4 0 1 0 603.2 -477.419 A 4 4 0 1 0 611.2 -477.419 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 637.6 -490.4314588235294 L 637.6 -506.4314588235294 L 653.6 -506.4314588235294 L 653.6 -490.4314588235294 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -498.4314588235294 M 649.6 -498.4314588235294 L 649.6 -498.431 M 649.6 -498.431 A 4 4 0 1 0 641.6 -498.431 A 4 4 0 1 0 649.6 -498.431 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 676.0 -512.0 L 676.0 -528.0 L 692.0 -528.0 L 692.0 -512.0 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -520.0 M 688.0 -520.0 L 688 -520 M 688 -520 A 4 4 0 1 0 680 -520 A 4 4 0 1 0 688 -520 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 338.4 -303.8908164705882 L 376.8 -307.3455670588235 L 415.2 -310.83665647058825 L 453.6 -318.0193717647059 L 492.0 -328.3473882352941 L 530.4 -337.54545882352943 L 568.8 -346.8346352941177 L 607.2 -355.7190117647059 L 645.6 -363.2678588235294 L 684.0 -372.45376470588235" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 332.15 -298.8908164705882 L 332.15 -308.8908164705882 L 344.65 -308.8908164705882 L 344.65 -298.8908164705882 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 332.15 -298.8908164705882 L 344.65 -298.8908164705882 L 338.4 -308.8908164705882 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 370.55 -302.3455670588235 L 370.55 -312.3455670588235 L 383.05 -312.3455670588235 L 383.05 -302.3455670588235 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 370.55 -302.3455670588235 L 383.05 -302.3455670588235 L 376.8 -312.3455670588235 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 408.95 -305.83665647058825 L 408.95 -315.83665647058825 L 421.45 -315.83665647058825 L 421.45 -305.83665647058825 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.95 -305.83665647058825 L 421.45 -305.83665647058825 L 415.2 -315.83665647058825 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 447.35 -313.0193717647059 L 447.35 -323.0193717647059 L 459.85 -323.0193717647059 L 459.85 -313.0193717647059 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 447.35 -313.0193717647059 L 459.85 -313.0193717647059 L 453.6 -323.0193717647059 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 485.75 -323.3473882352941 L 485.75 -333.34738823529415 L 498.25 -333.34738823529415 L 498.25 -323.3473882352941 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 485.75 -323.3473882352941 L 498.25 -323.3473882352941 L 492.0 -333.34738823529415 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 524.15 -332.54545882352943 L 524.15 -342.54545882352943 L 536.65 -342.54545882352943 L 536.65 -332.54545882352943 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 524.15 -332.54545882352943 L 536.65 -332.54545882352943 L 530.4 -342.54545882352943 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 562.55 -341.8346352941177 L 562.55 -351.8346352941177 L 575.05 -351.8346352941177 L 575.05 -341.8346352941177 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 562.55 -341.8346352941177 L 575.05 -341.8346352941177 L 568.8 -351.8346352941177 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 600.95 -350.7190117647059 L 600.95 -360.7190117647059 L 613.45 -360.7190117647059 L 613.45 -350.7190117647059 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.95 -350.7190117647059 L 613.45 -350.7190117647059 L 607.2 -360.7190117647059 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 639.35 -358.2678588235294 L 639.35 -368.2678588235294 L 651.85 -368.2678588235294 L 651.85 -358.2678588235294 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 639.35 -358.2678588235294 L 651.85 -358.2678588235294 L 645.6 -368.2678588235294 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 677.75 -367.45376470588235 L 677.75 -377.45376470588235 L 690.25 -377.45376470588235 L 690.25 -367.45376470588235 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 677.75 -367.45376470588235 L 690.25 -367.45376470588235 L 684.0 -377.45376470588235 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 338.4 -301.21275647058826 L 376.8 -301.2785778823529 L 415.2 -301.3372143529412 L 453.6 -301.40190211764707 L 492.0 -301.4520621176471 L 530.4 -301.46631811764706 L 568.8 -301.4786277647059 L 607.2 -301.51428070588236 L 645.6 -301.51739952941176 L 684.0 -301.52937011764703" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip27);">
+          <path d="M 332.15 -296.21275647058826 L 332.15 -306.21275647058826 L 344.65 -306.21275647058826 L 344.65 -296.21275647058826 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -296.21275647058826 L 332.15 -306.21275647058826 L 344.65 -306.21275647058826 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip28);">
+            <path d="M 370.55 -296.2785778823529 L 370.55 -306.2785778823529 L 383.05 -306.2785778823529 L 383.05 -296.2785778823529 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -296.2785778823529 L 370.55 -306.2785778823529 L 383.05 -306.2785778823529 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+              <path d="M 408.95 -296.3372143529412 L 408.95 -306.3372143529412 L 421.45 -306.3372143529412 L 421.45 -296.3372143529412 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -296.3372143529412 L 408.95 -306.3372143529412 L 421.45 -306.3372143529412 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip30);">
+                <path d="M 447.35 -296.40190211764707 L 447.35 -306.40190211764707 L 459.85 -306.40190211764707 L 459.85 -296.40190211764707 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -296.40190211764707 L 447.35 -306.40190211764707 L 459.85 -306.40190211764707 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip31);">
+                  <path d="M 485.75 -296.4520621176471 L 485.75 -306.4520621176471 L 498.25 -306.4520621176471 L 498.25 -296.4520621176471 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -296.4520621176471 L 485.75 -306.4520621176471 L 498.25 -306.4520621176471 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip32);">
+                    <path d="M 524.15 -296.46631811764706 L 524.15 -306.46631811764706 L 536.65 -306.46631811764706 L 536.65 -296.46631811764706 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -296.46631811764706 L 524.15 -306.46631811764706 L 536.65 -306.46631811764706 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip33);">
+                      <path d="M 562.55 -296.4786277647059 L 562.55 -306.4786277647059 L 575.05 -306.4786277647059 L 575.05 -296.4786277647059 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -296.4786277647059 L 562.55 -306.4786277647059 L 575.05 -306.4786277647059 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip34);">
+                        <path d="M 600.95 -296.51428070588236 L 600.95 -306.51428070588236 L 613.45 -306.51428070588236 L 613.45 -296.51428070588236 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -296.51428070588236 L 600.95 -306.51428070588236 L 613.45 -306.51428070588236 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip35);">
+                          <path d="M 639.35 -296.51739952941176 L 639.35 -306.51739952941176 L 651.85 -306.51739952941176 L 651.85 -296.51739952941176 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -296.51739952941176 L 639.35 -306.51739952941176 L 651.85 -306.51739952941176 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip36);">
+                            <path d="M 677.75 -296.52937011764703 L 677.75 -306.52937011764703 L 690.25 -306.52937011764703 L 690.25 -296.52937011764703 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -296.52937011764703 L 677.75 -306.52937011764703 L 690.25 -306.52937011764703 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip37);">
+      <path d="M 290 -134 L 290 -190 L 324 -190 L 324 -134 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -180.66666666666669 L 314 -180.66666666666669" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip38);">
+      <path d="M 299.0 -172.66666666666669 L 299.0 -188.66666666666669 L 315.0 -188.66666666666669 L 315.0 -172.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -180.66666666666669 M 311.0 -180.66666666666669 L 311 -180.667 M 311 -180.667 A 4 4 0 1 0 303 -180.667 A 4 4 0 1 0 311 -180.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-176.0">
+        n_set
+      </text>
+      <path d="M 300 -162.66666666666666 L 314 -162.66666666666666" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip39);">
+        <path d="M 300.75 -157.66666666666666 L 300.75 -167.66666666666666 L 313.25 -167.66666666666666 L 313.25 -157.66666666666666 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 300.75 -157.66666666666666 L 313.25 -157.66666666666666 L 307.0 -167.66666666666666 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-158.0">
+          splay_tree_ost_set
+        </text>
+        <path d="M 300 -144.66666666666666 L 314 -144.66666666666666" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip40);">
+          <path d="M 300.75 -139.66666666666666 L 300.75 -149.66666666666666 L 313.25 -149.66666666666666 L 313.25 -139.66666666666666 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 307.0 -139.66666666666666 L 300.75 -149.66666666666666 L 313.25 -149.66666666666666 Z"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-140.0">
+            rb_tree_ost_set
+          </text>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_tree_split_join_timing_test_local.pdf b/libstdc++-v3/doc/xml/images/pbds_tree_split_join_timing_test_local.pdf
new file mode 100644 (file)
index 0000000..08ffc54
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_tree_split_join_timing_test_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_tree_split_join_timing_test_local.png b/libstdc++-v3/doc/xml/images/pbds_tree_split_join_timing_test_local.png
new file mode 100644 (file)
index 0000000..4fa7e32
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_tree_split_join_timing_test_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_tree_split_join_timing_test_local.svg b/libstdc++-v3/doc/xml/images/pbds_tree_split_join_timing_test_local.svg
new file mode 100644 (file)
index 0000000..e103d8c
--- /dev/null
@@ -0,0 +1,505 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 436.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 338.4 -320.7875964323357 M 342.4 -320.7875964323357 L 342.4 -320.788 M 342.4 -320.788 A 4 4 0 1 0 334.4 -320.788 A 4 4 0 1 0 342.4 -320.788 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 376.8 -342.4589692036527 M 380.8 -342.4589692036527 L 380.8 -342.459 M 380.8 -342.459 A 4 4 0 1 0 372.8 -342.459 A 4 4 0 1 0 380.8 -342.459 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 415.2 -366.65452645191004 M 419.2 -366.65452645191004 L 419.2 -366.655 M 419.2 -366.655 A 4 4 0 1 0 411.2 -366.655 A 4 4 0 1 0 419.2 -366.655 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 453.6 -387.27707855415713 M 457.6 -387.27707855415713 L 457.6 -387.277 M 457.6 -387.277 A 4 4 0 1 0 449.6 -387.277 A 4 4 0 1 0 457.6 -387.277 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 492.0 -408.5794885875486 M 496.0 -408.5794885875486 L 496 -408.579 M 496 -408.579 A 4 4 0 1 0 488 -408.579 A 4 4 0 1 0 496 -408.579 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 530.4 -431.02220490155264 M 534.4 -431.02220490155264 L 534.4 -431.022 M 534.4 -431.022 A 4 4 0 1 0 526.4 -431.022 A 4 4 0 1 0 534.4 -431.022 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 568.8 -452.9573173432061 M 572.8 -452.9573173432061 L 572.8 -452.957 M 572.8 -452.957 A 4 4 0 1 0 564.8 -452.957 A 4 4 0 1 0 572.8 -452.957 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 607.2 -472.75971409085673 M 611.2 -472.75971409085673 L 611.2 -472.76 M 611.2 -472.76 A 4 4 0 1 0 603.2 -472.76 A 4 4 0 1 0 611.2 -472.76 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 645.6 -494.29049715242286 M 649.6 -494.29049715242286 L 649.6 -494.29 M 649.6 -494.29 A 4 4 0 1 0 641.6 -494.29 A 4 4 0 1 0 649.6 -494.29 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 684.0 -520.0 M 688.0 -520.0 L 688 -520 M 688 -520 A 4 4 0 1 0 680 -520 A 4 4 0 1 0 688 -520 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 332.15 -296.22444576317724 L 344.65 -296.22444576317724 L 338.4 -306.22444576317724 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 370.55 -297.33312666625335 L 383.05 -297.33312666625335 L 376.8 -307.33312666625335 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 408.95 -298.46445975749094 L 421.45 -298.46445975749094 L 415.2 -308.46445975749094 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 447.35 -299.84986758544943 L 459.85 -299.84986758544943 L 453.6 -309.84986758544943 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 485.75 -301.48649548727667 L 498.25 -301.48649548727667 L 492.0 -311.48649548727667 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 524.15 -302.97635669557053 L 536.65 -302.97635669557053 L 530.4 -312.97635669557053 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 562.55 -304.8998343710973 L 575.05 -304.8998343710973 L 568.8 -314.8998343710973 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 600.95 -307.1955483910968 L 613.45 -307.1955483910968 L 607.2 -317.1955483910968 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 639.35 -308.8781431848578 L 651.85 -308.8781431848578 L 645.6 -318.8781431848578 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 677.75 -310.5510925307565 L 690.25 -310.5510925307565 L 684.0 -320.5510925307565 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 338.4 -296.28165593474046 L 332.15 -306.28165593474046 L 344.65 -306.28165593474046 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 376.8 -297.48556371398456 L 370.55 -307.48556371398456 L 383.05 -307.48556371398456 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 415.2 -298.6490190694667 L 408.95 -308.6490190694667 L 421.45 -308.6490190694667 Z"/>
+    </clipPath>
+    <clipPath id="clip30">
+      <path d="M 453.6 -300.2742672913917 L 447.35 -310.2742672913917 L 459.85 -310.2742672913917 Z"/>
+    </clipPath>
+    <clipPath id="clip31">
+      <path d="M 492.0 -301.72616050946385 L 485.75 -311.72616050946385 L 498.25 -311.72616050946385 Z"/>
+    </clipPath>
+    <clipPath id="clip32">
+      <path d="M 530.4 -303.0200632401265 L 524.15 -313.0200632401265 L 536.65 -313.0200632401265 Z"/>
+    </clipPath>
+    <clipPath id="clip33">
+      <path d="M 568.8 -304.2359547576238 L 562.55 -314.2359547576238 L 575.05 -314.2359547576238 Z"/>
+    </clipPath>
+    <clipPath id="clip34">
+      <path d="M 607.2 -305.4805098181625 L 600.95 -315.4805098181625 L 613.45 -315.4805098181625 Z"/>
+    </clipPath>
+    <clipPath id="clip35">
+      <path d="M 645.6 -306.7510783592996 L 639.35 -316.7510783592996 L 651.85 -316.7510783592996 Z"/>
+    </clipPath>
+    <clipPath id="clip36">
+      <path d="M 684.0 -308.45997891995785 L 677.75 -318.45997891995785 L 690.25 -318.45997891995785 Z"/>
+    </clipPath>
+    <clipPath id="clip37">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip38">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip39">
+      <path d="M 290 -114 L 290 -188 L 324 -188 L 324 -114 Z"/>
+    </clipPath>
+    <clipPath id="clip40">
+      <path d="M 307.0 -178.66666666666669 M 311.0 -178.66666666666669 L 311 -178.667 M 311 -178.667 A 4 4 0 1 0 303 -178.667 A 4 4 0 1 0 311 -178.667 Z"/>
+    </clipPath>
+    <clipPath id="clip41">
+      <path d="M 300.75 -155.66666666666666 L 313.25 -155.66666666666666 L 307.0 -165.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip42">
+      <path d="M 307.0 -137.66666666666666 L 300.75 -147.66666666666666 L 313.25 -147.66666666666666 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      4.52e-05
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      9.03e-05
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      1.35e-04
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      1.81e-04
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      2.26e-04
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -320.7875964323357 L 376.8 -342.4589692036527 L 415.2 -366.65452645191004 L 453.6 -387.27707855415713 L 492.0 -408.5794885875486 L 530.4 -431.02220490155264 L 568.8 -452.9573173432061 L 607.2 -472.75971409085673 L 645.6 -494.29049715242286 L 684.0 -520.0" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 330.4 -312.7875964323357 L 330.4 -328.7875964323357 L 346.4 -328.7875964323357 L 346.4 -312.7875964323357 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -320.7875964323357 M 342.4 -320.7875964323357 L 342.4 -320.788 M 342.4 -320.788 A 4 4 0 1 0 334.4 -320.788 A 4 4 0 1 0 342.4 -320.788 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 368.8 -334.4589692036527 L 368.8 -350.4589692036527 L 384.8 -350.4589692036527 L 384.8 -334.4589692036527 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -342.4589692036527 M 380.8 -342.4589692036527 L 380.8 -342.459 M 380.8 -342.459 A 4 4 0 1 0 372.8 -342.459 A 4 4 0 1 0 380.8 -342.459 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 407.2 -358.65452645191004 L 407.2 -374.65452645191004 L 423.2 -374.65452645191004 L 423.2 -358.65452645191004 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -366.65452645191004 M 419.2 -366.65452645191004 L 419.2 -366.655 M 419.2 -366.655 A 4 4 0 1 0 411.2 -366.655 A 4 4 0 1 0 419.2 -366.655 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 445.6 -379.27707855415713 L 445.6 -395.27707855415713 L 461.6 -395.27707855415713 L 461.6 -379.27707855415713 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -387.27707855415713 M 457.6 -387.27707855415713 L 457.6 -387.277 M 457.6 -387.277 A 4 4 0 1 0 449.6 -387.277 A 4 4 0 1 0 457.6 -387.277 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 484.0 -400.5794885875486 L 484.0 -416.5794885875486 L 500.0 -416.5794885875486 L 500.0 -400.5794885875486 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -408.5794885875486 M 496.0 -408.5794885875486 L 496 -408.579 M 496 -408.579 A 4 4 0 1 0 488 -408.579 A 4 4 0 1 0 496 -408.579 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 522.4 -423.02220490155264 L 522.4 -439.02220490155264 L 538.4 -439.02220490155264 L 538.4 -423.02220490155264 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -431.02220490155264 M 534.4 -431.02220490155264 L 534.4 -431.022 M 534.4 -431.022 A 4 4 0 1 0 526.4 -431.022 A 4 4 0 1 0 534.4 -431.022 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 560.8 -444.9573173432061 L 560.8 -460.9573173432061 L 576.8 -460.9573173432061 L 576.8 -444.9573173432061 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -452.9573173432061 M 572.8 -452.9573173432061 L 572.8 -452.957 M 572.8 -452.957 A 4 4 0 1 0 564.8 -452.957 A 4 4 0 1 0 572.8 -452.957 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 599.2 -464.75971409085673 L 599.2 -480.75971409085673 L 615.2 -480.75971409085673 L 615.2 -464.75971409085673 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -472.75971409085673 M 611.2 -472.75971409085673 L 611.2 -472.76 M 611.2 -472.76 A 4 4 0 1 0 603.2 -472.76 A 4 4 0 1 0 611.2 -472.76 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 637.6 -486.29049715242286 L 637.6 -502.29049715242286 L 653.6 -502.29049715242286 L 653.6 -486.29049715242286 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -494.29049715242286 M 649.6 -494.29049715242286 L 649.6 -494.29 M 649.6 -494.29 A 4 4 0 1 0 641.6 -494.29 A 4 4 0 1 0 649.6 -494.29 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 676.0 -512.0 L 676.0 -528.0 L 692.0 -528.0 L 692.0 -512.0 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -520.0 M 688.0 -520.0 L 688 -520 M 688 -520 A 4 4 0 1 0 680 -520 A 4 4 0 1 0 688 -520 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 338.4 -301.22444576317724 L 376.8 -302.33312666625335 L 415.2 -303.46445975749094 L 453.6 -304.84986758544943 L 492.0 -306.48649548727667 L 530.4 -307.97635669557053 L 568.8 -309.8998343710973 L 607.2 -312.1955483910968 L 645.6 -313.8781431848578 L 684.0 -315.5510925307565" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 332.15 -296.22444576317724 L 332.15 -306.22444576317724 L 344.65 -306.22444576317724 L 344.65 -296.22444576317724 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 332.15 -296.22444576317724 L 344.65 -296.22444576317724 L 338.4 -306.22444576317724 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 370.55 -297.33312666625335 L 370.55 -307.33312666625335 L 383.05 -307.33312666625335 L 383.05 -297.33312666625335 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 370.55 -297.33312666625335 L 383.05 -297.33312666625335 L 376.8 -307.33312666625335 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 408.95 -298.46445975749094 L 408.95 -308.46445975749094 L 421.45 -308.46445975749094 L 421.45 -298.46445975749094 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.95 -298.46445975749094 L 421.45 -298.46445975749094 L 415.2 -308.46445975749094 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 447.35 -299.84986758544943 L 447.35 -309.84986758544943 L 459.85 -309.84986758544943 L 459.85 -299.84986758544943 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 447.35 -299.84986758544943 L 459.85 -299.84986758544943 L 453.6 -309.84986758544943 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 485.75 -301.48649548727667 L 485.75 -311.48649548727667 L 498.25 -311.48649548727667 L 498.25 -301.48649548727667 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 485.75 -301.48649548727667 L 498.25 -301.48649548727667 L 492.0 -311.48649548727667 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 524.15 -302.97635669557053 L 524.15 -312.97635669557053 L 536.65 -312.97635669557053 L 536.65 -302.97635669557053 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 524.15 -302.97635669557053 L 536.65 -302.97635669557053 L 530.4 -312.97635669557053 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 562.55 -304.8998343710973 L 562.55 -314.8998343710973 L 575.05 -314.8998343710973 L 575.05 -304.8998343710973 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 562.55 -304.8998343710973 L 575.05 -304.8998343710973 L 568.8 -314.8998343710973 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 600.95 -307.1955483910968 L 600.95 -317.1955483910968 L 613.45 -317.1955483910968 L 613.45 -307.1955483910968 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.95 -307.1955483910968 L 613.45 -307.1955483910968 L 607.2 -317.1955483910968 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 639.35 -308.8781431848578 L 639.35 -318.8781431848578 L 651.85 -318.8781431848578 L 651.85 -308.8781431848578 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 639.35 -308.8781431848578 L 651.85 -308.8781431848578 L 645.6 -318.8781431848578 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 677.75 -310.5510925307565 L 677.75 -320.5510925307565 L 690.25 -320.5510925307565 L 690.25 -310.5510925307565 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 677.75 -310.5510925307565 L 690.25 -310.5510925307565 L 684.0 -320.5510925307565 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 338.4 -301.28165593474046 L 376.8 -302.48556371398456 L 415.2 -303.6490190694667 L 453.6 -305.2742672913917 L 492.0 -306.72616050946385 L 530.4 -308.0200632401265 L 568.8 -309.2359547576238 L 607.2 -310.4805098181625 L 645.6 -311.7510783592996 L 684.0 -313.45997891995785" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip27);">
+          <path d="M 332.15 -296.28165593474046 L 332.15 -306.28165593474046 L 344.65 -306.28165593474046 L 344.65 -296.28165593474046 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -296.28165593474046 L 332.15 -306.28165593474046 L 344.65 -306.28165593474046 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip28);">
+            <path d="M 370.55 -297.48556371398456 L 370.55 -307.48556371398456 L 383.05 -307.48556371398456 L 383.05 -297.48556371398456 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -297.48556371398456 L 370.55 -307.48556371398456 L 383.05 -307.48556371398456 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+              <path d="M 408.95 -298.6490190694667 L 408.95 -308.6490190694667 L 421.45 -308.6490190694667 L 421.45 -298.6490190694667 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -298.6490190694667 L 408.95 -308.6490190694667 L 421.45 -308.6490190694667 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip30);">
+                <path d="M 447.35 -300.2742672913917 L 447.35 -310.2742672913917 L 459.85 -310.2742672913917 L 459.85 -300.2742672913917 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -300.2742672913917 L 447.35 -310.2742672913917 L 459.85 -310.2742672913917 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip31);">
+                  <path d="M 485.75 -301.72616050946385 L 485.75 -311.72616050946385 L 498.25 -311.72616050946385 L 498.25 -301.72616050946385 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -301.72616050946385 L 485.75 -311.72616050946385 L 498.25 -311.72616050946385 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip32);">
+                    <path d="M 524.15 -303.0200632401265 L 524.15 -313.0200632401265 L 536.65 -313.0200632401265 L 536.65 -303.0200632401265 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -303.0200632401265 L 524.15 -313.0200632401265 L 536.65 -313.0200632401265 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip33);">
+                      <path d="M 562.55 -304.2359547576238 L 562.55 -314.2359547576238 L 575.05 -314.2359547576238 L 575.05 -304.2359547576238 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -304.2359547576238 L 562.55 -314.2359547576238 L 575.05 -314.2359547576238 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip34);">
+                        <path d="M 600.95 -305.4805098181625 L 600.95 -315.4805098181625 L 613.45 -315.4805098181625 L 613.45 -305.4805098181625 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -305.4805098181625 L 600.95 -315.4805098181625 L 613.45 -315.4805098181625 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip35);">
+                          <path d="M 639.35 -306.7510783592996 L 639.35 -316.7510783592996 L 651.85 -316.7510783592996 L 651.85 -306.7510783592996 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -306.7510783592996 L 639.35 -316.7510783592996 L 651.85 -316.7510783592996 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip36);">
+                            <path d="M 677.75 -308.45997891995785 L 677.75 -318.45997891995785 L 690.25 -318.45997891995785 L 690.25 -308.45997891995785 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -308.45997891995785 L 677.75 -318.45997891995785 L 690.25 -318.45997891995785 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip37);">
+        <path d="M 338.4 -300.6159125089679 L 376.8 -300.9717915378688 L 415.2 -301.37134885698345 L 453.6 -301.759904519809 L 492.0 -302.145303490607 L 530.4 -302.5477817241349 L 568.8 -302.97718926866423 L 607.2 -303.2889320921499 L 645.6 -303.6866460590064 L 684.0 -304.115917203263" style="stroke:rgb(255,68,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip38);">
+        <path d="M 333.4 -295.6159125089679 L 343.4 -305.6159125089679" style="stroke-width:1;"/>
+        <path d="M 343.4 -295.6159125089679 L 333.4 -305.6159125089679" style="stroke-width:1;"/>
+        <path d="M 338.4 -293.5459125089679 L 338.4 -307.6859125089679" style="stroke-width:1;"/>
+        <path d="M 331.33 -300.6159125089679 L 345.47 -300.6159125089679" style="stroke-width:1;"/>
+        <path d="M 371.8 -295.9717915378688 L 381.8 -305.9717915378688" style="stroke-width:1;"/>
+        <path d="M 381.8 -295.9717915378688 L 371.8 -305.9717915378688" style="stroke-width:1;"/>
+        <path d="M 376.8 -293.9017915378688 L 376.8 -308.0417915378688" style="stroke-width:1;"/>
+        <path d="M 369.73 -300.9717915378688 L 383.87 -300.9717915378688" style="stroke-width:1;"/>
+        <path d="M 410.2 -296.37134885698345 L 420.2 -306.37134885698345" style="stroke-width:1;"/>
+        <path d="M 420.2 -296.37134885698345 L 410.2 -306.37134885698345" style="stroke-width:1;"/>
+        <path d="M 415.2 -294.30134885698345 L 415.2 -308.44134885698344" style="stroke-width:1;"/>
+        <path d="M 408.13 -301.37134885698345 L 422.27 -301.37134885698345" style="stroke-width:1;"/>
+        <path d="M 448.6 -296.759904519809 L 458.6 -306.759904519809" style="stroke-width:1;"/>
+        <path d="M 458.6 -296.759904519809 L 448.6 -306.759904519809" style="stroke-width:1;"/>
+        <path d="M 453.6 -294.68990451980903 L 453.6 -308.829904519809" style="stroke-width:1;"/>
+        <path d="M 446.53 -301.759904519809 L 460.66999999999996 -301.759904519809" style="stroke-width:1;"/>
+        <path d="M 487.0 -297.145303490607 L 497.0 -307.145303490607" style="stroke-width:1;"/>
+        <path d="M 497.0 -297.145303490607 L 487.0 -307.145303490607" style="stroke-width:1;"/>
+        <path d="M 492.0 -295.075303490607 L 492.0 -309.21530349060697" style="stroke-width:1;"/>
+        <path d="M 484.93 -302.145303490607 L 499.07 -302.145303490607" style="stroke-width:1;"/>
+        <path d="M 525.4 -297.5477817241349 L 535.4 -307.5477817241349" style="stroke-width:1;"/>
+        <path d="M 535.4 -297.5477817241349 L 525.4 -307.5477817241349" style="stroke-width:1;"/>
+        <path d="M 530.4 -295.4777817241349 L 530.4 -309.6177817241349" style="stroke-width:1;"/>
+        <path d="M 523.33 -302.5477817241349 L 537.47 -302.5477817241349" style="stroke-width:1;"/>
+        <path d="M 563.8 -297.97718926866423 L 573.8 -307.97718926866423" style="stroke-width:1;"/>
+        <path d="M 573.8 -297.97718926866423 L 563.8 -307.97718926866423" style="stroke-width:1;"/>
+        <path d="M 568.8 -295.90718926866424 L 568.8 -310.0471892686642" style="stroke-width:1;"/>
+        <path d="M 561.73 -302.97718926866423 L 575.87 -302.97718926866423" style="stroke-width:1;"/>
+        <path d="M 602.2 -298.2889320921499 L 612.2 -308.2889320921499" style="stroke-width:1;"/>
+        <path d="M 612.2 -298.2889320921499 L 602.2 -308.2889320921499" style="stroke-width:1;"/>
+        <path d="M 607.2 -296.2189320921499 L 607.2 -310.35893209214987" style="stroke-width:1;"/>
+        <path d="M 600.13 -303.2889320921499 L 614.27 -303.2889320921499" style="stroke-width:1;"/>
+        <path d="M 640.6 -298.6866460590064 L 650.6 -308.6866460590064" style="stroke-width:1;"/>
+        <path d="M 650.6 -298.6866460590064 L 640.6 -308.6866460590064" style="stroke-width:1;"/>
+        <path d="M 645.6 -296.6166460590064 L 645.6 -310.7566460590064" style="stroke-width:1;"/>
+        <path d="M 638.53 -303.6866460590064 L 652.6700000000001 -303.6866460590064" style="stroke-width:1;"/>
+        <path d="M 679.0 -299.115917203263 L 689.0 -309.115917203263" style="stroke-width:1;"/>
+        <path d="M 689.0 -299.115917203263 L 679.0 -309.115917203263" style="stroke-width:1;"/>
+        <path d="M 684.0 -297.045917203263 L 684.0 -311.185917203263" style="stroke-width:1;"/>
+        <path d="M 676.9300000000001 -304.115917203263 L 691.0699999999999 -304.115917203263" style="stroke-width:1;"/>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip39);">
+      <path d="M 290 -114 L 290 -188 L 324 -188 L 324 -114 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -178.66666666666669 L 314 -178.66666666666669" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip40);">
+      <path d="M 299.0 -170.66666666666669 L 299.0 -186.66666666666669 L 315.0 -186.66666666666669 L 315.0 -170.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -178.66666666666669 M 311.0 -178.66666666666669 L 311 -178.667 M 311 -178.667 A 4 4 0 1 0 303 -178.667 A 4 4 0 1 0 311 -178.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-174.0">
+        n_set
+      </text>
+      <path d="M 300 -160.66666666666666 L 314 -160.66666666666666" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip41);">
+        <path d="M 300.75 -155.66666666666666 L 300.75 -165.66666666666666 L 313.25 -165.66666666666666 L 313.25 -155.66666666666666 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 300.75 -155.66666666666666 L 313.25 -155.66666666666666 L 307.0 -165.66666666666666 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-156.0">
+          splay_tree_set
+        </text>
+        <path d="M 300 -142.66666666666666 L 314 -142.66666666666666" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip42);">
+          <path d="M 300.75 -137.66666666666666 L 300.75 -147.66666666666666 L 313.25 -147.66666666666666 L 313.25 -137.66666666666666 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 307.0 -137.66666666666666 L 300.75 -147.66666666666666 L 313.25 -147.66666666666666 Z"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-138.0">
+            rb_tree_set
+          </text>
+          <path d="M 300 -124.66666666666666 L 314 -124.66666666666666" style="stroke:rgb(255,68,0);stroke-width:2;"/>
+          <path d="M 302.0 -119.66666666666666 L 312.0 -129.66666666666666" style="stroke-width:1;"/>
+          <path d="M 312.0 -119.66666666666666 L 302.0 -129.66666666666666" style="stroke-width:1;"/>
+          <path d="M 307.0 -117.59666666666666 L 307.0 -131.73666666666665" style="stroke-width:1;"/>
+          <path d="M 299.93 -124.66666666666666 L 314.07 -124.66666666666666" style="stroke-width:1;"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-120.0">
+            ov_tree_set
+          </text>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_node_tree_local.pdf b/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_node_tree_local.pdf
new file mode 100644 (file)
index 0000000..b5b73a6
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_node_tree_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_node_tree_local.png b/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_node_tree_local.png
new file mode 100644 (file)
index 0000000..ac13732
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_node_tree_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_node_tree_local.svg b/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_node_tree_local.svg
new file mode 100644 (file)
index 0000000..5a5fb2b
--- /dev/null
@@ -0,0 +1,446 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 416.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 332.15 -455.275456 L 344.65 -455.275456 L 338.4 -465.275456 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 370.55 -477.85695999999996 L 383.05 -477.85695999999996 L 376.8 -487.85695999999996 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 408.95 -485.217984 L 421.45 -485.217984 L 415.2 -495.217984 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 447.35 -495.89344 L 459.85 -495.89344 L 453.6 -505.89344 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 485.75 -495.32179199999996 L 498.25 -495.32179199999996 L 492.0 -505.32179199999996 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 524.15 -500.56968959999995 L 536.65 -500.56968959999995 L 530.4 -510.56968959999995 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 562.55 -504.6759808 L 575.05 -504.6759808 L 568.8 -514.6759807999999 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 600.95 -510.63970559999996 L 613.45 -510.63970559999996 L 607.2 -520.6397056 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 639.35 -510.5456512 L 651.85 -510.5456512 L 645.6 -520.5456512000001 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 677.75 -515.0 L 690.25 -515.0 L 684.0 -525.0 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 338.4 -440.0447488 M 342.4 -440.0447488 L 342.4 -440.045 M 342.4 -440.045 A 4 4 0 1 0 334.4 -440.045 A 4 4 0 1 0 342.4 -440.045 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 376.8 -449.37472 M 380.8 -449.37472 L 380.8 -449.375 M 380.8 -449.375 A 4 4 0 1 0 372.8 -449.375 A 4 4 0 1 0 380.8 -449.375 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 415.2 -452.5714432 M 419.2 -452.5714432 L 419.2 -452.571 M 419.2 -452.571 A 4 4 0 1 0 411.2 -452.571 A 4 4 0 1 0 419.2 -452.571 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 453.6 -455.58005760000003 M 457.6 -455.58005760000003 L 457.6 -455.58 M 457.6 -455.58 A 4 4 0 1 0 449.6 -455.58 A 4 4 0 1 0 457.6 -455.58 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 492.0 -458.12797439999997 M 496.0 -458.12797439999997 L 496 -458.128 M 496 -458.128 A 4 4 0 1 0 488 -458.128 A 4 4 0 1 0 496 -458.128 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 530.4 -456.4445696 M 534.4 -456.4445696 L 534.4 -456.445 M 534.4 -456.445 A 4 4 0 1 0 526.4 -456.445 A 4 4 0 1 0 534.4 -456.445 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 568.8 -461.2571136 M 572.8 -461.2571136 L 572.8 -461.257 M 572.8 -461.257 A 4 4 0 1 0 564.8 -461.257 A 4 4 0 1 0 572.8 -461.257 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 607.2 -464.26685439999994 M 611.2 -464.26685439999994 L 611.2 -464.267 M 611.2 -464.267 A 4 4 0 1 0 603.2 -464.267 A 4 4 0 1 0 611.2 -464.267 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 645.6 -466.06402560000004 M 649.6 -466.06402560000004 L 649.6 -466.064 M 649.6 -466.064 A 4 4 0 1 0 641.6 -466.064 A 4 4 0 1 0 649.6 -466.064 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 684.0 -470.2700032 M 688.0 -470.2700032 L 688 -470.27 M 688 -470.27 A 4 4 0 1 0 680 -470.27 A 4 4 0 1 0 688 -470.27 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 338.4 -418.2630784 L 332.15 -428.2630784 L 344.65 -428.2630784 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 376.8 -424.9741696 L 370.55 -434.9741696 L 383.05 -434.9741696 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 415.2 -431.91391999999996 L 408.95 -441.91391999999996 L 421.45 -441.91391999999996 Z"/>
+    </clipPath>
+    <clipPath id="clip30">
+      <path d="M 453.6 -432.50021119999997 L 447.35 -442.50021119999997 L 459.85 -442.50021119999997 Z"/>
+    </clipPath>
+    <clipPath id="clip31">
+      <path d="M 492.0 -434.94675199999995 L 485.75 -444.94675199999995 L 498.25 -444.94675199999995 Z"/>
+    </clipPath>
+    <clipPath id="clip32">
+      <path d="M 530.4 -436.8605056 L 524.15 -446.8605056 L 536.65 -446.8605056 Z"/>
+    </clipPath>
+    <clipPath id="clip33">
+      <path d="M 568.8 -437.3279616 L 562.55 -447.3279616 L 575.05 -447.3279616 Z"/>
+    </clipPath>
+    <clipPath id="clip34">
+      <path d="M 607.2 -440.6891392 L 600.95 -450.6891392 L 613.45 -450.6891392 Z"/>
+    </clipPath>
+    <clipPath id="clip35">
+      <path d="M 645.6 -441.22530559999996 L 639.35 -451.22530559999996 L 651.85 -451.22530559999996 Z"/>
+    </clipPath>
+    <clipPath id="clip36">
+      <path d="M 684.0 -445.9606912 L 677.75 -455.9606912 L 690.25 -455.9606912 Z"/>
+    </clipPath>
+    <clipPath id="clip37">
+      <path d="M 290 -134 L 290 -190 L 324 -190 L 324 -134 Z"/>
+    </clipPath>
+    <clipPath id="clip38">
+      <path d="M 300.75 -175.66666666666669 L 313.25 -175.66666666666669 L 307.0 -185.66666666666669 Z"/>
+    </clipPath>
+    <clipPath id="clip39">
+      <path d="M 307.0 -162.66666666666666 M 311.0 -162.66666666666666 L 311 -162.667 M 311 -162.667 A 4 4 0 1 0 303 -162.667 A 4 4 0 1 0 311 -162.667 Z"/>
+    </clipPath>
+    <clipPath id="clip40">
+      <path d="M 307.0 -139.66666666666666 L 300.75 -149.66666666666666 L 313.25 -149.66666666666666 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      7.81e-08
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      1.56e-07
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      2.34e-07
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      3.13e-07
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      3.91e-07
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -460.275456 L 376.8 -482.85695999999996 L 415.2 -490.217984 L 453.6 -500.89344 L 492.0 -500.32179199999996 L 530.4 -505.56968959999995 L 568.8 -509.6759808 L 607.2 -515.6397056 L 645.6 -515.5456512000001 L 684.0 -520.0" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip3);">
+          <path d="M 332.15 -455.275456 L 332.15 -465.275456 L 344.65 -465.275456 L 344.65 -455.275456 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 332.15 -455.275456 L 344.65 -455.275456 L 338.4 -465.275456 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip4);">
+            <path d="M 370.55 -477.85695999999996 L 370.55 -487.85695999999996 L 383.05 -487.85695999999996 L 383.05 -477.85695999999996 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 370.55 -477.85695999999996 L 383.05 -477.85695999999996 L 376.8 -487.85695999999996 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+              <path d="M 408.95 -485.217984 L 408.95 -495.217984 L 421.45 -495.217984 L 421.45 -485.217984 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.95 -485.217984 L 421.45 -485.217984 L 415.2 -495.217984 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+                <path d="M 447.35 -495.89344 L 447.35 -505.89344 L 459.85 -505.89344 L 459.85 -495.89344 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 447.35 -495.89344 L 459.85 -495.89344 L 453.6 -505.89344 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+                  <path d="M 485.75 -495.32179199999996 L 485.75 -505.32179199999996 L 498.25 -505.32179199999996 L 498.25 -495.32179199999996 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 485.75 -495.32179199999996 L 498.25 -495.32179199999996 L 492.0 -505.32179199999996 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                    <path d="M 524.15 -500.56968959999995 L 524.15 -510.56968959999995 L 536.65 -510.56968959999995 L 536.65 -500.56968959999995 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 524.15 -500.56968959999995 L 536.65 -500.56968959999995 L 530.4 -510.56968959999995 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                      <path d="M 562.55 -504.6759808 L 562.55 -514.6759807999999 L 575.05 -514.6759807999999 L 575.05 -504.6759808 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 562.55 -504.6759808 L 575.05 -504.6759808 L 568.8 -514.6759807999999 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                        <path d="M 600.95 -510.63970559999996 L 600.95 -520.6397056 L 613.45 -520.6397056 L 613.45 -510.63970559999996 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.95 -510.63970559999996 L 613.45 -510.63970559999996 L 607.2 -520.6397056 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                          <path d="M 639.35 -510.5456512 L 639.35 -520.5456512000001 L 651.85 -520.5456512000001 L 651.85 -510.5456512 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 639.35 -510.5456512 L 651.85 -510.5456512 L 645.6 -520.5456512000001 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                            <path d="M 677.75 -515.0 L 677.75 -525.0 L 690.25 -525.0 L 690.25 -515.0 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 677.75 -515.0 L 690.25 -515.0 L 684.0 -525.0 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip13);">
+        <path d="M 338.4 -440.0447488 L 376.8 -449.37472 L 415.2 -452.5714432 L 453.6 -455.58005760000003 L 492.0 -458.12797439999997 L 530.4 -456.4445696 L 568.8 -461.2571136 L 607.2 -464.26685439999994 L 645.6 -466.06402560000004 L 684.0 -470.2700032" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip14);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+          <path d="M 330.4 -432.0447488 L 330.4 -448.0447488 L 346.4 -448.0447488 L 346.4 -432.0447488 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -440.0447488 M 342.4 -440.0447488 L 342.4 -440.045 M 342.4 -440.045 A 4 4 0 1 0 334.4 -440.045 A 4 4 0 1 0 342.4 -440.045 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+            <path d="M 368.8 -441.37472 L 368.8 -457.37472 L 384.8 -457.37472 L 384.8 -441.37472 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -449.37472 M 380.8 -449.37472 L 380.8 -449.375 M 380.8 -449.375 A 4 4 0 1 0 372.8 -449.375 A 4 4 0 1 0 380.8 -449.375 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+              <path d="M 407.2 -444.5714432 L 407.2 -460.5714432 L 423.2 -460.5714432 L 423.2 -444.5714432 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -452.5714432 M 419.2 -452.5714432 L 419.2 -452.571 M 419.2 -452.571 A 4 4 0 1 0 411.2 -452.571 A 4 4 0 1 0 419.2 -452.571 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+                <path d="M 445.6 -447.58005760000003 L 445.6 -463.58005760000003 L 461.6 -463.58005760000003 L 461.6 -447.58005760000003 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -455.58005760000003 M 457.6 -455.58005760000003 L 457.6 -455.58 M 457.6 -455.58 A 4 4 0 1 0 449.6 -455.58 A 4 4 0 1 0 457.6 -455.58 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+                  <path d="M 484.0 -450.12797439999997 L 484.0 -466.12797439999997 L 500.0 -466.12797439999997 L 500.0 -450.12797439999997 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -458.12797439999997 M 496.0 -458.12797439999997 L 496 -458.128 M 496 -458.128 A 4 4 0 1 0 488 -458.128 A 4 4 0 1 0 496 -458.128 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                    <path d="M 522.4 -448.4445696 L 522.4 -464.4445696 L 538.4 -464.4445696 L 538.4 -448.4445696 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -456.4445696 M 534.4 -456.4445696 L 534.4 -456.445 M 534.4 -456.445 A 4 4 0 1 0 526.4 -456.445 A 4 4 0 1 0 534.4 -456.445 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                      <path d="M 560.8 -453.2571136 L 560.8 -469.2571136 L 576.8 -469.2571136 L 576.8 -453.2571136 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -461.2571136 M 572.8 -461.2571136 L 572.8 -461.257 M 572.8 -461.257 A 4 4 0 1 0 564.8 -461.257 A 4 4 0 1 0 572.8 -461.257 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                        <path d="M 599.2 -456.26685439999994 L 599.2 -472.26685439999994 L 615.2 -472.26685439999994 L 615.2 -456.26685439999994 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -464.26685439999994 M 611.2 -464.26685439999994 L 611.2 -464.267 M 611.2 -464.267 A 4 4 0 1 0 603.2 -464.267 A 4 4 0 1 0 611.2 -464.267 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                          <path d="M 637.6 -458.06402560000004 L 637.6 -474.06402560000004 L 653.6 -474.06402560000004 L 653.6 -458.06402560000004 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -466.06402560000004 M 649.6 -466.06402560000004 L 649.6 -466.064 M 649.6 -466.064 A 4 4 0 1 0 641.6 -466.064 A 4 4 0 1 0 649.6 -466.064 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                            <path d="M 676.0 -462.2700032 L 676.0 -478.2700032 L 692.0 -478.2700032 L 692.0 -462.2700032 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -470.2700032 M 688.0 -470.2700032 L 688 -470.27 M 688 -470.27 A 4 4 0 1 0 680 -470.27 A 4 4 0 1 0 688 -470.27 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip25);">
+        <path d="M 338.4 -423.2630784 L 376.8 -429.9741696 L 415.2 -436.91391999999996 L 453.6 -437.50021119999997 L 492.0 -439.94675199999995 L 530.4 -441.8605056 L 568.8 -442.3279616 L 607.2 -445.6891392 L 645.6 -446.22530559999996 L 684.0 -450.9606912" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip26);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip27);">
+          <path d="M 332.15 -418.2630784 L 332.15 -428.2630784 L 344.65 -428.2630784 L 344.65 -418.2630784 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -418.2630784 L 332.15 -428.2630784 L 344.65 -428.2630784 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip28);">
+            <path d="M 370.55 -424.9741696 L 370.55 -434.9741696 L 383.05 -434.9741696 L 383.05 -424.9741696 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -424.9741696 L 370.55 -434.9741696 L 383.05 -434.9741696 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+              <path d="M 408.95 -431.91391999999996 L 408.95 -441.91391999999996 L 421.45 -441.91391999999996 L 421.45 -431.91391999999996 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -431.91391999999996 L 408.95 -441.91391999999996 L 421.45 -441.91391999999996 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip30);">
+                <path d="M 447.35 -432.50021119999997 L 447.35 -442.50021119999997 L 459.85 -442.50021119999997 L 459.85 -432.50021119999997 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -432.50021119999997 L 447.35 -442.50021119999997 L 459.85 -442.50021119999997 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip31);">
+                  <path d="M 485.75 -434.94675199999995 L 485.75 -444.94675199999995 L 498.25 -444.94675199999995 L 498.25 -434.94675199999995 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -434.94675199999995 L 485.75 -444.94675199999995 L 498.25 -444.94675199999995 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip32);">
+                    <path d="M 524.15 -436.8605056 L 524.15 -446.8605056 L 536.65 -446.8605056 L 536.65 -436.8605056 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -436.8605056 L 524.15 -446.8605056 L 536.65 -446.8605056 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip33);">
+                      <path d="M 562.55 -437.3279616 L 562.55 -447.3279616 L 575.05 -447.3279616 L 575.05 -437.3279616 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -437.3279616 L 562.55 -447.3279616 L 575.05 -447.3279616 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip34);">
+                        <path d="M 600.95 -440.6891392 L 600.95 -450.6891392 L 613.45 -450.6891392 L 613.45 -440.6891392 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -440.6891392 L 600.95 -450.6891392 L 613.45 -450.6891392 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip35);">
+                          <path d="M 639.35 -441.22530559999996 L 639.35 -451.22530559999996 L 651.85 -451.22530559999996 L 651.85 -441.22530559999996 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -441.22530559999996 L 639.35 -451.22530559999996 L 651.85 -451.22530559999996 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip36);">
+                            <path d="M 677.75 -445.9606912 L 677.75 -455.9606912 L 690.25 -455.9606912 L 690.25 -445.9606912 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -445.9606912 L 677.75 -455.9606912 L 690.25 -455.9606912 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip37);">
+      <path d="M 290 -134 L 290 -190 L 324 -190 L 324 -134 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -180.66666666666669 L 314 -180.66666666666669" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip38);">
+      <path d="M 300.75 -175.66666666666669 L 300.75 -185.66666666666669 L 313.25 -185.66666666666669 L 313.25 -175.66666666666669 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 300.75 -175.66666666666669 L 313.25 -175.66666666666669 L 307.0 -185.66666666666669 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-176.0">
+        splay_tree_map
+      </text>
+      <path d="M 300 -162.66666666666666 L 314 -162.66666666666666" style="stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip39);">
+        <path d="M 299.0 -154.66666666666666 L 299.0 -170.66666666666666 L 315.0 -170.66666666666666 L 315.0 -154.66666666666666 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 307.0 -162.66666666666666 M 311.0 -162.66666666666666 L 311 -162.667 M 311 -162.667 A 4 4 0 1 0 303 -162.667 A 4 4 0 1 0 311 -162.667 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-158.0">
+          n_map
+        </text>
+        <path d="M 300 -144.66666666666666 L 314 -144.66666666666666" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip40);">
+          <path d="M 300.75 -139.66666666666666 L 300.75 -149.66666666666666 L 313.25 -149.66666666666666 L 313.25 -139.66666666666666 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 307.0 -139.66666666666666 L 300.75 -149.66666666666666 L 313.25 -149.66666666666666 Z"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-140.0">
+            rb_tree_map
+          </text>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_pat_trie_local.pdf b/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_pat_trie_local.pdf
new file mode 100644 (file)
index 0000000..5763024
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_pat_trie_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_pat_trie_local.png b/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_pat_trie_local.png
new file mode 100644 (file)
index 0000000..6967044
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_pat_trie_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_pat_trie_local.svg b/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_pat_trie_local.svg
new file mode 100644 (file)
index 0000000..137ce0a
--- /dev/null
@@ -0,0 +1,255 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 396.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 338.4 -431.4694883971315 M 342.4 -431.4694883971315 L 342.4 -431.469 M 342.4 -431.469 A 4 4 0 1 0 334.4 -431.469 A 4 4 0 1 0 342.4 -431.469 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 376.8 -440.228164112818 M 380.8 -440.228164112818 L 380.8 -440.228 M 380.8 -440.228 A 4 4 0 1 0 372.8 -440.228 A 4 4 0 1 0 380.8 -440.228 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 415.2 -443.2291446369177 M 419.2 -443.2291446369177 L 419.2 -443.229 M 419.2 -443.229 A 4 4 0 1 0 411.2 -443.229 A 4 4 0 1 0 419.2 -443.229 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 453.6 -446.0535346932498 M 457.6 -446.0535346932498 L 457.6 -446.054 M 457.6 -446.054 A 4 4 0 1 0 449.6 -446.054 A 4 4 0 1 0 457.6 -446.054 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 492.0 -448.44543671774363 M 496.0 -448.44543671774363 L 496 -448.445 M 496 -448.445 A 4 4 0 1 0 488 -448.445 A 4 4 0 1 0 496 -448.445 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 530.4 -446.8651106454156 M 534.4 -446.8651106454156 L 534.4 -446.865 M 534.4 -446.865 A 4 4 0 1 0 526.4 -446.865 A 4 4 0 1 0 534.4 -446.865 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 568.8 -451.3829715648011 M 572.8 -451.3829715648011 L 572.8 -451.383 M 572.8 -451.383 A 4 4 0 1 0 564.8 -451.383 A 4 4 0 1 0 572.8 -451.383 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 607.2 -454.2084190490839 M 611.2 -454.2084190490839 L 611.2 -454.208 M 611.2 -454.208 A 4 4 0 1 0 603.2 -454.208 A 4 4 0 1 0 611.2 -454.208 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 645.6 -455.8955453444331 M 649.6 -455.8955453444331 L 649.6 -455.896 M 649.6 -455.896 A 4 4 0 1 0 641.6 -455.896 A 4 4 0 1 0 649.6 -455.896 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 684.0 -459.84398131236424 M 688.0 -459.84398131236424 L 688 -459.844 M 688 -459.844 A 4 4 0 1 0 680 -459.844 A 4 4 0 1 0 688 -459.844 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 290 -154 L 290 -192 L 324 -192 L 324 -154 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 307.0 -164.66666666666666 M 311.0 -164.66666666666666 L 311 -164.667 M 311 -164.667 A 4 4 0 1 0 303 -164.667 A 4 4 0 1 0 311 -164.667 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.5004867321942">
+      8.32e-08
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      1.66e-07
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      2.50e-07
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      3.33e-07
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      4.16e-07
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -519.7980312614154 L 376.8 -501.0503624093977 L 415.2 -491.98344644608073 L 453.6 -488.5922750081711 L 492.0 -502.6465499009863 L 530.4 -520.0 L 568.8 -478.2474573664276 L 607.2 -472.23280718281967 L 645.6 -480.4960779036011 L 684.0 -489.1336781189318" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <path d="M 331.25714285714287 -519.7980312614154 L 345.54285714285714 -519.7980312614154" style="stroke-width:1;"/>
+        <path d="M 338.4 -512.6551741185583 L 338.4 -526.9408884042725" style="stroke-width:1;"/>
+        <path d="M 369.65714285714284 -501.0503624093977 L 383.9428571428571 -501.0503624093977" style="stroke-width:1;"/>
+        <path d="M 376.8 -493.9075052665405 L 376.8 -508.19321955225485" style="stroke-width:1;"/>
+        <path d="M 408.0571428571429 -491.98344644608073 L 422.34285714285716 -491.98344644608073" style="stroke-width:1;"/>
+        <path d="M 415.2 -484.8405893032236 L 415.2 -499.1263035889379" style="stroke-width:1;"/>
+        <path d="M 446.45714285714286 -488.5922750081711 L 460.74285714285713 -488.5922750081711" style="stroke-width:1;"/>
+        <path d="M 453.6 -481.44941786531393 L 453.6 -495.7351321510282" style="stroke-width:1;"/>
+        <path d="M 484.8571428571429 -502.6465499009863 L 499.1428571428571 -502.6465499009863" style="stroke-width:1;"/>
+        <path d="M 492.0 -495.5036927581292 L 492.0 -509.7894070438434" style="stroke-width:1;"/>
+        <path d="M 523.2571428571429 -520.0 L 537.5428571428572 -520.0" style="stroke-width:1;"/>
+        <path d="M 530.4 -512.8571428571429 L 530.4 -527.1428571428571" style="stroke-width:1;"/>
+        <path d="M 561.6571428571428 -478.2474573664276 L 575.9428571428572 -478.2474573664276" style="stroke-width:1;"/>
+        <path d="M 568.8 -471.1046002235705 L 568.8 -485.3903145092848" style="stroke-width:1;"/>
+        <path d="M 600.0571428571428 -472.23280718281967 L 614.3428571428572 -472.23280718281967" style="stroke-width:1;"/>
+        <path d="M 607.2 -465.08995003996256 L 607.2 -479.37566432567684" style="stroke-width:1;"/>
+        <path d="M 638.4571428571428 -480.4960779036011 L 652.7428571428572 -480.4960779036011" style="stroke-width:1;"/>
+        <path d="M 645.6 -473.3532207607439 L 645.6 -487.6389350464582" style="stroke-width:1;"/>
+        <path d="M 676.8571428571429 -489.1336781189318 L 691.1428571428571 -489.1336781189318" style="stroke-width:1;"/>
+        <path d="M 684.0 -481.9908209760747 L 684.0 -496.276535261789" style="stroke-width:1;"/>
+      </g>
+      <g style="clip-path:url(#clip3);">
+        <path d="M 338.4 -431.4694883971315 L 376.8 -440.228164112818 L 415.2 -443.2291446369177 L 453.6 -446.0535346932498 L 492.0 -448.44543671774363 L 530.4 -446.8651106454156 L 568.8 -451.3829715648011 L 607.2 -454.2084190490839 L 645.6 -455.8955453444331 L 684.0 -459.84398131236424" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip4);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+          <path d="M 330.4 -423.4694883971315 L 330.4 -439.4694883971315 L 346.4 -439.4694883971315 L 346.4 -423.4694883971315 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -431.4694883971315 M 342.4 -431.4694883971315 L 342.4 -431.469 M 342.4 -431.469 A 4 4 0 1 0 334.4 -431.469 A 4 4 0 1 0 342.4 -431.469 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+            <path d="M 368.8 -432.228164112818 L 368.8 -448.228164112818 L 384.8 -448.228164112818 L 384.8 -432.228164112818 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -440.228164112818 M 380.8 -440.228164112818 L 380.8 -440.228 M 380.8 -440.228 A 4 4 0 1 0 372.8 -440.228 A 4 4 0 1 0 380.8 -440.228 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+              <path d="M 407.2 -435.2291446369177 L 407.2 -451.2291446369177 L 423.2 -451.2291446369177 L 423.2 -435.2291446369177 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -443.2291446369177 M 419.2 -443.2291446369177 L 419.2 -443.229 M 419.2 -443.229 A 4 4 0 1 0 411.2 -443.229 A 4 4 0 1 0 419.2 -443.229 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                <path d="M 445.6 -438.0535346932498 L 445.6 -454.0535346932498 L 461.6 -454.0535346932498 L 461.6 -438.0535346932498 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -446.0535346932498 M 457.6 -446.0535346932498 L 457.6 -446.054 M 457.6 -446.054 A 4 4 0 1 0 449.6 -446.054 A 4 4 0 1 0 457.6 -446.054 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                  <path d="M 484.0 -440.44543671774363 L 484.0 -456.44543671774363 L 500.0 -456.44543671774363 L 500.0 -440.44543671774363 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -448.44543671774363 M 496.0 -448.44543671774363 L 496 -448.445 M 496 -448.445 A 4 4 0 1 0 488 -448.445 A 4 4 0 1 0 496 -448.445 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                    <path d="M 522.4 -438.8651106454156 L 522.4 -454.8651106454156 L 538.4 -454.8651106454156 L 538.4 -438.8651106454156 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -446.8651106454156 M 534.4 -446.8651106454156 L 534.4 -446.865 M 534.4 -446.865 A 4 4 0 1 0 526.4 -446.865 A 4 4 0 1 0 534.4 -446.865 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                      <path d="M 560.8 -443.3829715648011 L 560.8 -459.3829715648011 L 576.8 -459.3829715648011 L 576.8 -443.3829715648011 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -451.3829715648011 M 572.8 -451.3829715648011 L 572.8 -451.383 M 572.8 -451.383 A 4 4 0 1 0 564.8 -451.383 A 4 4 0 1 0 572.8 -451.383 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                        <path d="M 599.2 -446.2084190490839 L 599.2 -462.2084190490839 L 615.2 -462.2084190490839 L 615.2 -446.2084190490839 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -454.2084190490839 M 611.2 -454.2084190490839 L 611.2 -454.208 M 611.2 -454.208 A 4 4 0 1 0 603.2 -454.208 A 4 4 0 1 0 611.2 -454.208 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip13);">
+                          <path d="M 637.6 -447.8955453444331 L 637.6 -463.8955453444331 L 653.6 -463.8955453444331 L 653.6 -447.8955453444331 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -455.8955453444331 M 649.6 -455.8955453444331 L 649.6 -455.896 M 649.6 -455.896 A 4 4 0 1 0 641.6 -455.896 A 4 4 0 1 0 649.6 -455.896 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip14);">
+                            <path d="M 676.0 -451.84398131236424 L 676.0 -467.84398131236424 L 692.0 -467.84398131236424 L 692.0 -451.84398131236424 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -459.84398131236424 M 688.0 -459.84398131236424 L 688 -459.844 M 688 -459.844 A 4 4 0 1 0 680 -459.844 A 4 4 0 1 0 688 -459.844 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+      <path d="M 290 -154 L 290 -192 L 324 -192 L 324 -154 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -182.66666666666669 L 314 -182.66666666666669" style="stroke:rgb(137,42,226);stroke-width:2;"/>
+    <path d="M 299.85714285714283 -182.66666666666669 L 314.14285714285717 -182.66666666666669" style="stroke-width:1;"/>
+    <path d="M 307.0 -175.52380952380952 L 307.0 -189.8095238095238" style="stroke-width:1;"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-178.0">
+      pat_trie_map
+    </text>
+    <path d="M 300 -164.66666666666666 L 314 -164.66666666666666" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+      <path d="M 299.0 -156.66666666666666 L 299.0 -172.66666666666666 L 315.0 -172.66666666666666 L 315.0 -156.66666666666666 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -164.66666666666666 M 311.0 -164.66666666666666 L 311 -164.667 M 311 -164.667 A 4 4 0 1 0 303 -164.667 A 4 4 0 1 0 311 -164.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-160.0">
+        n_map
+      </text>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_vector_tree_local.pdf b/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_vector_tree_local.pdf
new file mode 100644 (file)
index 0000000..8b649d6
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_vector_tree_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_vector_tree_local.png b/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_vector_tree_local.png
new file mode 100644 (file)
index 0000000..6da2932
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_vector_tree_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_vector_tree_local.svg b/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_vector_tree_local.svg
new file mode 100644 (file)
index 0000000..c4cda79
--- /dev/null
@@ -0,0 +1,277 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 396.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 338.4 -324.1345145080669 M 342.4 -324.1345145080669 L 342.4 -324.135 M 342.4 -324.135 A 4 4 0 1 0 334.4 -324.135 A 4 4 0 1 0 342.4 -324.135 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 376.8 -325.74238861413437 M 380.8 -325.74238861413437 L 380.8 -325.742 M 380.8 -325.742 A 4 4 0 1 0 372.8 -325.742 A 4 4 0 1 0 380.8 -325.742 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 415.2 -326.29329368633285 M 419.2 -326.29329368633285 L 419.2 -326.293 M 419.2 -326.293 A 4 4 0 1 0 411.2 -326.293 A 4 4 0 1 0 419.2 -326.293 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 453.6 -326.81178115914537 M 457.6 -326.81178115914537 L 457.6 -326.812 M 457.6 -326.812 A 4 4 0 1 0 449.6 -326.812 A 4 4 0 1 0 457.6 -326.812 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 492.0 -327.2508746310667 M 496.0 -327.2508746310667 L 496 -327.251 M 496 -327.251 A 4 4 0 1 0 488 -327.251 A 4 4 0 1 0 496 -327.251 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 530.4 -326.9607662341673 M 534.4 -326.9607662341673 L 534.4 -326.961 M 534.4 -326.961 A 4 4 0 1 0 526.4 -326.961 A 4 4 0 1 0 534.4 -326.961 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 568.8 -327.7901326615696 M 572.8 -327.7901326615696 L 572.8 -327.79 M 572.8 -327.79 A 4 4 0 1 0 564.8 -327.79 A 4 4 0 1 0 572.8 -327.79 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 607.2 -328.30881425174374 M 611.2 -328.30881425174374 L 611.2 -328.309 M 611.2 -328.309 A 4 4 0 1 0 603.2 -328.309 A 4 4 0 1 0 611.2 -328.309 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 645.6 -328.61852850216394 M 649.6 -328.61852850216394 L 649.6 -328.619 M 649.6 -328.619 A 4 4 0 1 0 641.6 -328.619 A 4 4 0 1 0 649.6 -328.619 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 684.0 -329.34336273034893 M 688.0 -329.34336273034893 L 688 -329.343 M 688 -329.343 A 4 4 0 1 0 680 -329.343 A 4 4 0 1 0 688 -329.343 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 290 -154 L 290 -192 L 324 -192 L 324 -154 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 307.0 -164.66666666666666 M 311.0 -164.66666666666666 L 311 -164.667 M 311 -164.667 A 4 4 0 1 0 303 -164.667 A 4 4 0 1 0 311 -164.667 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      4.53e-07
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.5004867321942">
+      9.07e-07
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      1.36e-06
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.5004867321942">
+      1.81e-06
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      2.27e-06
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -377.0307190724719 L 376.8 -393.70365337698036 L 415.2 -413.55865653138744 L 453.6 -436.4082111643953 L 492.0 -454.96777210621747 L 530.4 -469.36836857592857 L 568.8 -476.60700498969857 L 607.2 -488.72478128708633 L 645.6 -500.8842928172164 L 684.0 -520.0" style="stroke:rgb(255,68,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <path d="M 333.4 -372.0307190724719 L 343.4 -382.0307190724719" style="stroke-width:1;"/>
+        <path d="M 343.4 -372.0307190724719 L 333.4 -382.0307190724719" style="stroke-width:1;"/>
+        <path d="M 338.4 -369.960719072472 L 338.4 -384.100719072472" style="stroke-width:1;"/>
+        <path d="M 331.33 -377.0307190724719 L 345.47 -377.0307190724719" style="stroke-width:1;"/>
+        <path d="M 371.8 -388.70365337698036 L 381.8 -398.70365337698036" style="stroke-width:1;"/>
+        <path d="M 381.8 -388.70365337698036 L 371.8 -398.70365337698036" style="stroke-width:1;"/>
+        <path d="M 376.8 -386.6336533769803 L 376.8 -400.7736533769803" style="stroke-width:1;"/>
+        <path d="M 369.73 -393.70365337698036 L 383.87 -393.70365337698036" style="stroke-width:1;"/>
+        <path d="M 410.2 -408.55865653138744 L 420.2 -418.55865653138744" style="stroke-width:1;"/>
+        <path d="M 420.2 -408.55865653138744 L 410.2 -418.55865653138744" style="stroke-width:1;"/>
+        <path d="M 415.2 -406.4886565313875 L 415.2 -420.6286565313875" style="stroke-width:1;"/>
+        <path d="M 408.13 -413.55865653138744 L 422.27 -413.55865653138744" style="stroke-width:1;"/>
+        <path d="M 448.6 -431.4082111643953 L 458.6 -441.4082111643953" style="stroke-width:1;"/>
+        <path d="M 458.6 -431.4082111643953 L 448.6 -441.4082111643953" style="stroke-width:1;"/>
+        <path d="M 453.6 -429.3382111643954 L 453.6 -443.47821116439536" style="stroke-width:1;"/>
+        <path d="M 446.53 -436.4082111643953 L 460.66999999999996 -436.4082111643953" style="stroke-width:1;"/>
+        <path d="M 487.0 -449.96777210621747 L 497.0 -459.96777210621747" style="stroke-width:1;"/>
+        <path d="M 497.0 -449.96777210621747 L 487.0 -459.96777210621747" style="stroke-width:1;"/>
+        <path d="M 492.0 -447.89777210621753 L 492.0 -462.0377721062175" style="stroke-width:1;"/>
+        <path d="M 484.93 -454.96777210621747 L 499.07 -454.96777210621747" style="stroke-width:1;"/>
+        <path d="M 525.4 -464.36836857592857 L 535.4 -474.36836857592857" style="stroke-width:1;"/>
+        <path d="M 535.4 -464.36836857592857 L 525.4 -474.36836857592857" style="stroke-width:1;"/>
+        <path d="M 530.4 -462.2983685759286 L 530.4 -476.43836857592856" style="stroke-width:1;"/>
+        <path d="M 523.33 -469.36836857592857 L 537.47 -469.36836857592857" style="stroke-width:1;"/>
+        <path d="M 563.8 -471.60700498969857 L 573.8 -481.60700498969857" style="stroke-width:1;"/>
+        <path d="M 573.8 -471.60700498969857 L 563.8 -481.60700498969857" style="stroke-width:1;"/>
+        <path d="M 568.8 -469.5370049896986 L 568.8 -483.67700498969856" style="stroke-width:1;"/>
+        <path d="M 561.73 -476.60700498969857 L 575.87 -476.60700498969857" style="stroke-width:1;"/>
+        <path d="M 602.2 -483.72478128708633 L 612.2 -493.72478128708633" style="stroke-width:1;"/>
+        <path d="M 612.2 -483.72478128708633 L 602.2 -493.72478128708633" style="stroke-width:1;"/>
+        <path d="M 607.2 -481.65478128708634 L 607.2 -495.7947812870863" style="stroke-width:1;"/>
+        <path d="M 600.13 -488.72478128708633 L 614.27 -488.72478128708633" style="stroke-width:1;"/>
+        <path d="M 640.6 -495.8842928172164 L 650.6 -505.8842928172164" style="stroke-width:1;"/>
+        <path d="M 650.6 -495.8842928172164 L 640.6 -505.8842928172164" style="stroke-width:1;"/>
+        <path d="M 645.6 -493.8142928172165 L 645.6 -507.95429281721647" style="stroke-width:1;"/>
+        <path d="M 638.53 -500.8842928172164 L 652.6700000000001 -500.8842928172164" style="stroke-width:1;"/>
+        <path d="M 679.0 -515.0 L 689.0 -525.0" style="stroke-width:1;"/>
+        <path d="M 689.0 -515.0 L 679.0 -525.0" style="stroke-width:1;"/>
+        <path d="M 684.0 -512.9300000000001 L 684.0 -527.0699999999999" style="stroke-width:1;"/>
+        <path d="M 676.9300000000001 -520.0 L 691.0699999999999 -520.0" style="stroke-width:1;"/>
+      </g>
+      <g style="clip-path:url(#clip3);">
+        <path d="M 338.4 -324.1345145080669 L 376.8 -325.74238861413437 L 415.2 -326.29329368633285 L 453.6 -326.81178115914537 L 492.0 -327.2508746310667 L 530.4 -326.9607662341673 L 568.8 -327.7901326615696 L 607.2 -328.30881425174374 L 645.6 -328.61852850216394 L 684.0 -329.34336273034893" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip4);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+          <path d="M 330.4 -316.1345145080669 L 330.4 -332.1345145080669 L 346.4 -332.1345145080669 L 346.4 -316.1345145080669 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -324.1345145080669 M 342.4 -324.1345145080669 L 342.4 -324.135 M 342.4 -324.135 A 4 4 0 1 0 334.4 -324.135 A 4 4 0 1 0 342.4 -324.135 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+            <path d="M 368.8 -317.74238861413437 L 368.8 -333.74238861413437 L 384.8 -333.74238861413437 L 384.8 -317.74238861413437 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -325.74238861413437 M 380.8 -325.74238861413437 L 380.8 -325.742 M 380.8 -325.742 A 4 4 0 1 0 372.8 -325.742 A 4 4 0 1 0 380.8 -325.742 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+              <path d="M 407.2 -318.29329368633285 L 407.2 -334.29329368633285 L 423.2 -334.29329368633285 L 423.2 -318.29329368633285 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -326.29329368633285 M 419.2 -326.29329368633285 L 419.2 -326.293 M 419.2 -326.293 A 4 4 0 1 0 411.2 -326.293 A 4 4 0 1 0 419.2 -326.293 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                <path d="M 445.6 -318.81178115914537 L 445.6 -334.81178115914537 L 461.6 -334.81178115914537 L 461.6 -318.81178115914537 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -326.81178115914537 M 457.6 -326.81178115914537 L 457.6 -326.812 M 457.6 -326.812 A 4 4 0 1 0 449.6 -326.812 A 4 4 0 1 0 457.6 -326.812 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                  <path d="M 484.0 -319.2508746310667 L 484.0 -335.2508746310667 L 500.0 -335.2508746310667 L 500.0 -319.2508746310667 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -327.2508746310667 M 496.0 -327.2508746310667 L 496 -327.251 M 496 -327.251 A 4 4 0 1 0 488 -327.251 A 4 4 0 1 0 496 -327.251 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                    <path d="M 522.4 -318.9607662341673 L 522.4 -334.9607662341673 L 538.4 -334.9607662341673 L 538.4 -318.9607662341673 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -326.9607662341673 M 534.4 -326.9607662341673 L 534.4 -326.961 M 534.4 -326.961 A 4 4 0 1 0 526.4 -326.961 A 4 4 0 1 0 534.4 -326.961 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                      <path d="M 560.8 -319.7901326615696 L 560.8 -335.7901326615696 L 576.8 -335.7901326615696 L 576.8 -319.7901326615696 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -327.7901326615696 M 572.8 -327.7901326615696 L 572.8 -327.79 M 572.8 -327.79 A 4 4 0 1 0 564.8 -327.79 A 4 4 0 1 0 572.8 -327.79 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                        <path d="M 599.2 -320.30881425174374 L 599.2 -336.30881425174374 L 615.2 -336.30881425174374 L 615.2 -320.30881425174374 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -328.30881425174374 M 611.2 -328.30881425174374 L 611.2 -328.309 M 611.2 -328.309 A 4 4 0 1 0 603.2 -328.309 A 4 4 0 1 0 611.2 -328.309 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip13);">
+                          <path d="M 637.6 -320.61852850216394 L 637.6 -336.61852850216394 L 653.6 -336.61852850216394 L 653.6 -320.61852850216394 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -328.61852850216394 M 649.6 -328.61852850216394 L 649.6 -328.619 M 649.6 -328.619 A 4 4 0 1 0 641.6 -328.619 A 4 4 0 1 0 649.6 -328.619 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip14);">
+                            <path d="M 676.0 -321.34336273034893 L 676.0 -337.34336273034893 L 692.0 -337.34336273034893 L 692.0 -321.34336273034893 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -329.34336273034893 M 688.0 -329.34336273034893 L 688 -329.343 M 688 -329.343 A 4 4 0 1 0 680 -329.343 A 4 4 0 1 0 688 -329.343 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip15);">
+      <path d="M 290 -154 L 290 -192 L 324 -192 L 324 -154 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -182.66666666666669 L 314 -182.66666666666669" style="stroke:rgb(255,68,0);stroke-width:2;"/>
+    <path d="M 302.0 -177.66666666666669 L 312.0 -187.66666666666669" style="stroke-width:1;"/>
+    <path d="M 312.0 -177.66666666666669 L 302.0 -187.66666666666669" style="stroke-width:1;"/>
+    <path d="M 307.0 -175.5966666666667 L 307.0 -189.73666666666668" style="stroke-width:1;"/>
+    <path d="M 299.93 -182.66666666666669 L 314.07 -182.66666666666669" style="stroke-width:1;"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-178.0">
+      ov_tree_map
+    </text>
+    <path d="M 300 -164.66666666666666 L 314 -164.66666666666666" style="stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip16);">
+      <path d="M 299.0 -156.66666666666666 L 299.0 -172.66666666666666 L 315.0 -172.66666666666666 L 315.0 -156.66666666666666 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -164.66666666666666 M 311.0 -164.66666666666666 L 311 -164.667 M 311 -164.667 A 4 4 0 1 0 303 -164.667 A 4 4 0 1 0 311 -164.667 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-160.0">
+        n_map
+      </text>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_tree_text_lor_find_timing_test_local.pdf b/libstdc++-v3/doc/xml/images/pbds_tree_text_lor_find_timing_test_local.pdf
new file mode 100644 (file)
index 0000000..2d19615
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_tree_text_lor_find_timing_test_local.pdf differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_tree_text_lor_find_timing_test_local.png b/libstdc++-v3/doc/xml/images/pbds_tree_text_lor_find_timing_test_local.png
new file mode 100644 (file)
index 0000000..9959143
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_tree_text_lor_find_timing_test_local.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_tree_text_lor_find_timing_test_local.svg b/libstdc++-v3/doc/xml/images/pbds_tree_text_lor_find_timing_test_local.svg
new file mode 100644 (file)
index 0000000..b6f98f4
--- /dev/null
@@ -0,0 +1,505 @@
+<?xml version="1.0" ?>
+<!--Created by PyChart 1.39 Copyright 1999-2006 Yasushi Saito-->
+<svg viewBox="250.275 -544.5 535.725 436.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <clipPath id="clip0">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip1">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip4">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip5">
+      <path d="M 338.4 -456.98891198891204 L 332.15 -466.98891198891204 L 344.65 -466.98891198891204 Z"/>
+    </clipPath>
+    <clipPath id="clip6">
+      <path d="M 376.8 -472.8200178200178 L 370.55 -482.8200178200178 L 383.05 -482.8200178200178 Z"/>
+    </clipPath>
+    <clipPath id="clip7">
+      <path d="M 415.2 -478.95703395703396 L 408.95 -488.95703395703396 L 421.45 -488.95703395703396 Z"/>
+    </clipPath>
+    <clipPath id="clip8">
+      <path d="M 453.6 -486.1632511632512 L 447.35 -496.1632511632512 L 459.85 -496.1632511632512 Z"/>
+    </clipPath>
+    <clipPath id="clip9">
+      <path d="M 492.0 -489.1174141174141 L 485.75 -499.1174141174141 L 498.25 -499.1174141174141 Z"/>
+    </clipPath>
+    <clipPath id="clip10">
+      <path d="M 530.4 -493.6040986040986 L 524.15 -503.6040986040986 L 536.65 -503.6040986040986 Z"/>
+    </clipPath>
+    <clipPath id="clip11">
+      <path d="M 568.8 -498.34323334323335 L 562.55 -508.34323334323335 L 575.05 -508.34323334323335 Z"/>
+    </clipPath>
+    <clipPath id="clip12">
+      <path d="M 607.2 -503.3981783981784 L 600.95 -513.3981783981784 L 613.45 -513.3981783981784 Z"/>
+    </clipPath>
+    <clipPath id="clip13">
+      <path d="M 645.6 -506.34244134244136 L 639.35 -516.3424413424414 L 651.85 -516.3424413424414 Z"/>
+    </clipPath>
+    <clipPath id="clip14">
+      <path d="M 684.0 -512.3170973170973 L 677.75 -522.3170973170973 L 690.25 -522.3170973170973 Z"/>
+    </clipPath>
+    <clipPath id="clip15">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip16">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip17">
+      <path d="M 338.4 -458.82387882387883 M 342.4 -458.82387882387883 L 342.4 -458.824 M 342.4 -458.824 A 4 4 0 1 0 334.4 -458.824 A 4 4 0 1 0 342.4 -458.824 Z"/>
+    </clipPath>
+    <clipPath id="clip18">
+      <path d="M 376.8 -473.4590634590635 M 380.8 -473.4590634590635 L 380.8 -473.459 M 380.8 -473.459 A 4 4 0 1 0 372.8 -473.459 A 4 4 0 1 0 380.8 -473.459 Z"/>
+    </clipPath>
+    <clipPath id="clip19">
+      <path d="M 415.2 -482.72448272448275 M 419.2 -482.72448272448275 L 419.2 -482.724 M 419.2 -482.724 A 4 4 0 1 0 411.2 -482.724 A 4 4 0 1 0 419.2 -482.724 Z"/>
+    </clipPath>
+    <clipPath id="clip20">
+      <path d="M 453.6 -483.33333333333337 M 457.6 -483.33333333333337 L 457.6 -483.333 M 457.6 -483.333 A 4 4 0 1 0 449.6 -483.333 A 4 4 0 1 0 457.6 -483.333 Z"/>
+    </clipPath>
+    <clipPath id="clip21">
+      <path d="M 492.0 -512.3789723789723 M 496.0 -512.3789723789723 L 496 -512.379 M 496 -512.379 A 4 4 0 1 0 488 -512.379 A 4 4 0 1 0 496 -512.379 Z"/>
+    </clipPath>
+    <clipPath id="clip22">
+      <path d="M 530.4 -493.71349371349373 M 534.4 -493.71349371349373 L 534.4 -493.713 M 534.4 -493.713 A 4 4 0 1 0 526.4 -493.713 A 4 4 0 1 0 534.4 -493.713 Z"/>
+    </clipPath>
+    <clipPath id="clip23">
+      <path d="M 568.8 -495.05098505098505 M 572.8 -495.05098505098505 L 572.8 -495.051 M 572.8 -495.051 A 4 4 0 1 0 564.8 -495.051 A 4 4 0 1 0 572.8 -495.051 Z"/>
+    </clipPath>
+    <clipPath id="clip24">
+      <path d="M 607.2 -500.3009603009603 M 611.2 -500.3009603009603 L 611.2 -500.301 M 611.2 -500.301 A 4 4 0 1 0 603.2 -500.301 A 4 4 0 1 0 611.2 -500.301 Z"/>
+    </clipPath>
+    <clipPath id="clip25">
+      <path d="M 645.6 -501.5533115533116 M 649.6 -501.5533115533116 L 649.6 -501.553 M 649.6 -501.553 A 4 4 0 1 0 641.6 -501.553 A 4 4 0 1 0 649.6 -501.553 Z"/>
+    </clipPath>
+    <clipPath id="clip26">
+      <path d="M 684.0 -508.0437580437581 M 688.0 -508.0437580437581 L 688 -508.044 M 688 -508.044 A 4 4 0 1 0 680 -508.044 A 4 4 0 1 0 688 -508.044 Z"/>
+    </clipPath>
+    <clipPath id="clip27">
+      <path d="M 294 -294 L 294 -526 L 786 -526 L 786 -294 Z"/>
+    </clipPath>
+    <clipPath id="clip28">
+      <path d="M 280 -280 L 280 -540 L 800 -540 L 800 -280 Z"/>
+    </clipPath>
+    <clipPath id="clip29">
+      <path d="M 332.15 -341.18176418176415 L 344.65 -341.18176418176415 L 338.4 -351.18176418176415 Z"/>
+    </clipPath>
+    <clipPath id="clip30">
+      <path d="M 370.55 -341.91179091179094 L 383.05 -341.91179091179094 L 376.8 -351.91179091179094 Z"/>
+    </clipPath>
+    <clipPath id="clip31">
+      <path d="M 408.95 -341.82665082665085 L 421.45 -341.82665082665085 L 415.2 -351.82665082665085 Z"/>
+    </clipPath>
+    <clipPath id="clip32">
+      <path d="M 447.35 -345.4953964953965 L 459.85 -345.4953964953965 L 453.6 -355.4953964953965 Z"/>
+    </clipPath>
+    <clipPath id="clip33">
+      <path d="M 485.75 -343.044352044352 L 498.25 -343.044352044352 L 492.0 -353.044352044352 Z"/>
+    </clipPath>
+    <clipPath id="clip34">
+      <path d="M 524.15 -345.6913176913177 L 536.65 -345.6913176913177 L 530.4 -355.6913176913177 Z"/>
+    </clipPath>
+    <clipPath id="clip35">
+      <path d="M 562.55 -345.4052074052074 L 575.05 -345.4052074052074 L 568.8 -355.4052074052074 Z"/>
+    </clipPath>
+    <clipPath id="clip36">
+      <path d="M 600.95 -345.7085437085437 L 613.45 -345.7085437085437 L 607.2 -355.7085437085437 Z"/>
+    </clipPath>
+    <clipPath id="clip37">
+      <path d="M 639.35 -351.85971685971685 L 651.85 -351.85971685971685 L 645.6 -361.85971685971685 Z"/>
+    </clipPath>
+    <clipPath id="clip38">
+      <path d="M 677.75 -351.7393327393327 L 690.25 -351.7393327393327 L 684.0 -361.7393327393327 Z"/>
+    </clipPath>
+    <clipPath id="clip39">
+      <path d="M 290 -114 L 290 -188 L 324 -188 L 324 -114 Z"/>
+    </clipPath>
+    <clipPath id="clip40">
+      <path d="M 307.0 -155.66666666666666 L 300.75 -165.66666666666666 L 313.25 -165.66666666666666 Z"/>
+    </clipPath>
+    <clipPath id="clip41">
+      <path d="M 307.0 -142.66666666666666 M 311.0 -142.66666666666666 L 311 -142.667 M 311 -142.667 A 4 4 0 1 0 303 -142.667 A 4 4 0 1 0 311 -142.667 Z"/>
+    </clipPath>
+    <clipPath id="clip42">
+      <path d="M 300.75 -119.66666666666666 L 313.25 -119.66666666666666 L 307.0 -129.66666666666666 Z"/>
+    </clipPath>
+  </defs>
+  <g style="stroke-linejoin:miter;font-size:7;font-family:Gill Sans Std;fill:none;stroke-linecap:butt;stroke:rgb(0,0,0);font-stretch:normal;stroke-dasharray:none;font-weight:normal;font-style:normal;stroke-width:0.5;">
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300 -300 L 780 -300"/>
+    <path d="M 300.0 -300 L 300.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,300,-279.001)" x="300.0" y="-279.00097346438844">
+      0
+    </text>
+    <path d="M 338.4 -300 L 338.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,338.4,-279.001)" x="338.4" y="-279.00097346438844">
+      200
+    </text>
+    <path d="M 376.8 -300 L 376.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,376.8,-279.001)" x="376.8" y="-279.00097346438844">
+      400
+    </text>
+    <path d="M 415.2 -300 L 415.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,415.2,-279.001)" x="415.2" y="-279.00097346438844">
+      600
+    </text>
+    <path d="M 453.6 -300 L 453.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,453.6,-279.001)" x="453.6" y="-279.00097346438844">
+      800
+    </text>
+    <path d="M 492.0 -300 L 492.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,492,-279.001)" x="492.0" y="-279.00097346438844">
+      1000
+    </text>
+    <path d="M 530.4 -300 L 530.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,530.4,-279.001)" x="530.4" y="-279.00097346438844">
+      1200
+    </text>
+    <path d="M 568.8 -300 L 568.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,568.8,-279.001)" x="568.8" y="-279.00097346438844">
+      1400
+    </text>
+    <path d="M 607.2 -300 L 607.2 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,607.2,-279.001)" x="607.2" y="-279.00097346438844">
+      1600
+    </text>
+    <path d="M 645.6 -300 L 645.6 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,645.6,-279.001)" x="645.6" y="-279.00097346438844">
+      1800
+    </text>
+    <path d="M 684.0 -300 L 684.0 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,684,-279.001)" x="684.0" y="-279.00097346438844">
+      2000
+    </text>
+    <path d="M 722.4 -300 L 722.4 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,722.4,-279.001)" x="722.4" y="-279.00097346438844">
+      2200
+    </text>
+    <path d="M 760.8 -300 L 760.8 -288"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,760.8,-279.001)" x="760.8" y="-279.00097346438844">
+      2400
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="540.0" y="-252.00097346438844">
+      Size
+    </text>
+    <path d="M 300 -300 L 300 -520"/>
+    <path d="M 300 -300.0 L 288 -300.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-295.5)" x="288.0" y="-295.50048673219425">
+      0.00e+00
+    </text>
+    <path d="M 300 -344.0 L 288 -344.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-339.5)" x="288.0" y="-339.50048673219425">
+      4.44e-08
+    </text>
+    <path d="M 300 -388.0 L 288 -388.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-383.5)" x="288.0" y="-383.50048673219425">
+      8.89e-08
+    </text>
+    <path d="M 300 -432.0 L 288 -432.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-427.5)" x="288.0" y="-427.5004867321942">
+      1.33e-07
+    </text>
+    <path d="M 300 -476.0 L 288 -476.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-471.5)" x="288.0" y="-471.50048673219425">
+      1.78e-07
+    </text>
+    <path d="M 300 -520.0 L 288 -520.0"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(50,288,-515.5)" x="288.0" y="-515.5004867321942">
+      2.22e-07
+    </text>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" transform="rotate(-90,270.275,-410)" x="270.2753777963343" y="-410.0">
+      Average time (sec.)
+    </text>
+    <g style="clip-path:url(#clip0);">
+      <g style="clip-path:url(#clip1);">
+        <path d="M 338.4 -466.934956934957 L 376.8 -481.8899118899119 L 415.2 -493.65805365805363 L 453.6 -496.42906642906644 L 492.0 -502.7888327888328 L 530.4 -510.36927036927034 L 568.8 -514.6510246510247 L 607.2 -516.071676071676 L 645.6 -517.034947034947 L 684.0 -520.0" style="stroke:rgb(255,68,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip2);">
+        <path d="M 333.4 -461.934956934957 L 343.4 -471.934956934957" style="stroke-width:1;"/>
+        <path d="M 343.4 -461.934956934957 L 333.4 -471.934956934957" style="stroke-width:1;"/>
+        <path d="M 338.4 -459.8649569349569 L 338.4 -474.0049569349569" style="stroke-width:1;"/>
+        <path d="M 331.33 -466.934956934957 L 345.47 -466.934956934957" style="stroke-width:1;"/>
+        <path d="M 371.8 -476.8899118899119 L 381.8 -486.8899118899119" style="stroke-width:1;"/>
+        <path d="M 381.8 -476.8899118899119 L 371.8 -486.8899118899119" style="stroke-width:1;"/>
+        <path d="M 376.8 -474.8199118899119 L 376.8 -488.9599118899119" style="stroke-width:1;"/>
+        <path d="M 369.73 -481.8899118899119 L 383.87 -481.8899118899119" style="stroke-width:1;"/>
+        <path d="M 410.2 -488.65805365805363 L 420.2 -498.65805365805363" style="stroke-width:1;"/>
+        <path d="M 420.2 -488.65805365805363 L 410.2 -498.65805365805363" style="stroke-width:1;"/>
+        <path d="M 415.2 -486.5880536580537 L 415.2 -500.7280536580537" style="stroke-width:1;"/>
+        <path d="M 408.13 -493.65805365805363 L 422.27 -493.65805365805363" style="stroke-width:1;"/>
+        <path d="M 448.6 -491.42906642906644 L 458.6 -501.42906642906644" style="stroke-width:1;"/>
+        <path d="M 458.6 -491.42906642906644 L 448.6 -501.42906642906644" style="stroke-width:1;"/>
+        <path d="M 453.6 -489.3590664290664 L 453.6 -503.4990664290664" style="stroke-width:1;"/>
+        <path d="M 446.53 -496.42906642906644 L 460.66999999999996 -496.42906642906644" style="stroke-width:1;"/>
+        <path d="M 487.0 -497.7888327888328 L 497.0 -507.7888327888328" style="stroke-width:1;"/>
+        <path d="M 497.0 -497.7888327888328 L 487.0 -507.7888327888328" style="stroke-width:1;"/>
+        <path d="M 492.0 -495.7188327888328 L 492.0 -509.8588327888328" style="stroke-width:1;"/>
+        <path d="M 484.93 -502.7888327888328 L 499.07 -502.7888327888328" style="stroke-width:1;"/>
+        <path d="M 525.4 -505.36927036927034 L 535.4 -515.3692703692703" style="stroke-width:1;"/>
+        <path d="M 535.4 -505.36927036927034 L 525.4 -515.3692703692703" style="stroke-width:1;"/>
+        <path d="M 530.4 -503.2992703692704 L 530.4 -517.4392703692704" style="stroke-width:1;"/>
+        <path d="M 523.33 -510.36927036927034 L 537.47 -510.36927036927034" style="stroke-width:1;"/>
+        <path d="M 563.8 -509.65102465102467 L 573.8 -519.6510246510247" style="stroke-width:1;"/>
+        <path d="M 573.8 -509.65102465102467 L 563.8 -519.6510246510247" style="stroke-width:1;"/>
+        <path d="M 568.8 -507.5810246510247 L 568.8 -521.7210246510247" style="stroke-width:1;"/>
+        <path d="M 561.73 -514.6510246510247 L 575.87 -514.6510246510247" style="stroke-width:1;"/>
+        <path d="M 602.2 -511.07167607167605 L 612.2 -521.071676071676" style="stroke-width:1;"/>
+        <path d="M 612.2 -511.07167607167605 L 602.2 -521.071676071676" style="stroke-width:1;"/>
+        <path d="M 607.2 -509.0016760716761 L 607.2 -523.1416760716761" style="stroke-width:1;"/>
+        <path d="M 600.13 -516.071676071676 L 614.27 -516.071676071676" style="stroke-width:1;"/>
+        <path d="M 640.6 -512.034947034947 L 650.6 -522.034947034947" style="stroke-width:1;"/>
+        <path d="M 650.6 -512.034947034947 L 640.6 -522.034947034947" style="stroke-width:1;"/>
+        <path d="M 645.6 -509.96494703494704 L 645.6 -524.104947034947" style="stroke-width:1;"/>
+        <path d="M 638.53 -517.034947034947 L 652.6700000000001 -517.034947034947" style="stroke-width:1;"/>
+        <path d="M 679.0 -515.0 L 689.0 -525.0" style="stroke-width:1;"/>
+        <path d="M 689.0 -515.0 L 679.0 -525.0" style="stroke-width:1;"/>
+        <path d="M 684.0 -512.93 L 684.0 -527.0699999999999" style="stroke-width:1;"/>
+        <path d="M 676.9300000000001 -520.0 L 691.0699999999999 -520.0" style="stroke-width:1;"/>
+      </g>
+      <g style="clip-path:url(#clip3);">
+        <path d="M 338.4 -461.98891198891204 L 376.8 -477.8200178200178 L 415.2 -483.95703395703396 L 453.6 -491.1632511632512 L 492.0 -494.1174141174141 L 530.4 -498.6040986040986 L 568.8 -503.34323334323335 L 607.2 -508.3981783981784 L 645.6 -511.34244134244136 L 684.0 -517.3170973170973" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip4);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip5);">
+          <path d="M 332.15 -456.98891198891204 L 332.15 -466.98891198891204 L 344.65 -466.98891198891204 L 344.65 -456.98891198891204 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -456.98891198891204 L 332.15 -466.98891198891204 L 344.65 -466.98891198891204 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip6);">
+            <path d="M 370.55 -472.8200178200178 L 370.55 -482.8200178200178 L 383.05 -482.8200178200178 L 383.05 -472.8200178200178 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -472.8200178200178 L 370.55 -482.8200178200178 L 383.05 -482.8200178200178 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip7);">
+              <path d="M 408.95 -478.95703395703396 L 408.95 -488.95703395703396 L 421.45 -488.95703395703396 L 421.45 -478.95703395703396 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -478.95703395703396 L 408.95 -488.95703395703396 L 421.45 -488.95703395703396 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip8);">
+                <path d="M 447.35 -486.1632511632512 L 447.35 -496.1632511632512 L 459.85 -496.1632511632512 L 459.85 -486.1632511632512 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -486.1632511632512 L 447.35 -496.1632511632512 L 459.85 -496.1632511632512 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip9);">
+                  <path d="M 485.75 -489.1174141174141 L 485.75 -499.1174141174141 L 498.25 -499.1174141174141 L 498.25 -489.1174141174141 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -489.1174141174141 L 485.75 -499.1174141174141 L 498.25 -499.1174141174141 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip10);">
+                    <path d="M 524.15 -493.6040986040986 L 524.15 -503.6040986040986 L 536.65 -503.6040986040986 L 536.65 -493.6040986040986 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -493.6040986040986 L 524.15 -503.6040986040986 L 536.65 -503.6040986040986 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip11);">
+                      <path d="M 562.55 -498.34323334323335 L 562.55 -508.34323334323335 L 575.05 -508.34323334323335 L 575.05 -498.34323334323335 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -498.34323334323335 L 562.55 -508.34323334323335 L 575.05 -508.34323334323335 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip12);">
+                        <path d="M 600.95 -503.3981783981784 L 600.95 -513.3981783981784 L 613.45 -513.3981783981784 L 613.45 -503.3981783981784 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -503.3981783981784 L 600.95 -513.3981783981784 L 613.45 -513.3981783981784 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip13);">
+                          <path d="M 639.35 -506.34244134244136 L 639.35 -516.3424413424414 L 651.85 -516.3424413424414 L 651.85 -506.34244134244136 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -506.34244134244136 L 639.35 -516.3424413424414 L 651.85 -516.3424413424414 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip14);">
+                            <path d="M 677.75 -512.3170973170973 L 677.75 -522.3170973170973 L 690.25 -522.3170973170973 L 690.25 -512.3170973170973 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -512.3170973170973 L 677.75 -522.3170973170973 L 690.25 -522.3170973170973 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip15);">
+        <path d="M 338.4 -458.82387882387883 L 376.8 -473.4590634590635 L 415.2 -482.72448272448275 L 453.6 -483.33333333333337 L 492.0 -512.3789723789723 L 530.4 -493.71349371349373 L 568.8 -495.05098505098505 L 607.2 -500.3009603009603 L 645.6 -501.5533115533116 L 684.0 -508.0437580437581" style="stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip16);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip17);">
+          <path d="M 330.4 -450.82387882387883 L 330.4 -466.82387882387883 L 346.4 -466.82387882387883 L 346.4 -450.82387882387883 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 338.4 -458.82387882387883 M 342.4 -458.82387882387883 L 342.4 -458.824 M 342.4 -458.824 A 4 4 0 1 0 334.4 -458.824 A 4 4 0 1 0 342.4 -458.824 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip18);">
+            <path d="M 368.8 -465.4590634590635 L 368.8 -481.4590634590635 L 384.8 -481.4590634590635 L 384.8 -465.4590634590635 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 376.8 -473.4590634590635 M 380.8 -473.4590634590635 L 380.8 -473.459 M 380.8 -473.459 A 4 4 0 1 0 372.8 -473.459 A 4 4 0 1 0 380.8 -473.459 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip19);">
+              <path d="M 407.2 -474.72448272448275 L 407.2 -490.72448272448275 L 423.2 -490.72448272448275 L 423.2 -474.72448272448275 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 415.2 -482.72448272448275 M 419.2 -482.72448272448275 L 419.2 -482.724 M 419.2 -482.724 A 4 4 0 1 0 411.2 -482.724 A 4 4 0 1 0 419.2 -482.724 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip20);">
+                <path d="M 445.6 -475.33333333333337 L 445.6 -491.33333333333337 L 461.6 -491.33333333333337 L 461.6 -475.33333333333337 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 453.6 -483.33333333333337 M 457.6 -483.33333333333337 L 457.6 -483.333 M 457.6 -483.333 A 4 4 0 1 0 449.6 -483.333 A 4 4 0 1 0 457.6 -483.333 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip21);">
+                  <path d="M 484.0 -504.3789723789724 L 484.0 -520.3789723789723 L 500.0 -520.3789723789723 L 500.0 -504.3789723789724 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 492.0 -512.3789723789723 M 496.0 -512.3789723789723 L 496 -512.379 M 496 -512.379 A 4 4 0 1 0 488 -512.379 A 4 4 0 1 0 496 -512.379 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip22);">
+                    <path d="M 522.4 -485.71349371349373 L 522.4 -501.71349371349373 L 538.4 -501.71349371349373 L 538.4 -485.71349371349373 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 530.4 -493.71349371349373 M 534.4 -493.71349371349373 L 534.4 -493.713 M 534.4 -493.713 A 4 4 0 1 0 526.4 -493.713 A 4 4 0 1 0 534.4 -493.713 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip23);">
+                      <path d="M 560.8 -487.05098505098505 L 560.8 -503.05098505098505 L 576.8 -503.05098505098505 L 576.8 -487.05098505098505 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 568.8 -495.05098505098505 M 572.8 -495.05098505098505 L 572.8 -495.051 M 572.8 -495.051 A 4 4 0 1 0 564.8 -495.051 A 4 4 0 1 0 572.8 -495.051 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip24);">
+                        <path d="M 599.2 -492.3009603009603 L 599.2 -508.3009603009603 L 615.2 -508.3009603009603 L 615.2 -492.3009603009603 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 607.2 -500.3009603009603 M 611.2 -500.3009603009603 L 611.2 -500.301 M 611.2 -500.301 A 4 4 0 1 0 603.2 -500.301 A 4 4 0 1 0 611.2 -500.301 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip25);">
+                          <path d="M 637.6 -493.5533115533116 L 637.6 -509.5533115533116 L 653.6 -509.5533115533116 L 653.6 -493.5533115533116 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 645.6 -501.5533115533116 M 649.6 -501.5533115533116 L 649.6 -501.553 M 649.6 -501.553 A 4 4 0 1 0 641.6 -501.553 A 4 4 0 1 0 649.6 -501.553 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip26);">
+                            <path d="M 676.0 -500.0437580437581 L 676.0 -516.0437580437581 L 692.0 -516.0437580437581 L 692.0 -500.0437580437581 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 684.0 -508.0437580437581 M 688.0 -508.0437580437581 L 688 -508.044 M 688 -508.044 A 4 4 0 1 0 680 -508.044 A 4 4 0 1 0 688 -508.044 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g style="clip-path:url(#clip27);">
+        <path d="M 338.4 -346.18176418176415 L 376.8 -346.91179091179094 L 415.2 -346.82665082665085 L 453.6 -350.4953964953965 L 492.0 -348.044352044352 L 530.4 -350.6913176913177 L 568.8 -350.4052074052074 L 607.2 -350.7085437085437 L 645.6 -356.85971685971685 L 684.0 -356.7393327393327" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+      </g>
+      <g style="clip-path:url(#clip28);">
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip29);">
+          <path d="M 332.15 -341.18176418176415 L 332.15 -351.18176418176415 L 344.65 -351.18176418176415 L 344.65 -341.18176418176415 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 332.15 -341.18176418176415 L 344.65 -341.18176418176415 L 338.4 -351.18176418176415 Z"/>
+          <g style="fill:rgb(255,255,255);clip-path:url(#clip30);">
+            <path d="M 370.55 -341.91179091179094 L 370.55 -351.91179091179094 L 383.05 -351.91179091179094 L 383.05 -341.91179091179094 Z" style="stroke:none;"/>
+          </g>
+          <g>
+            <path d="M 370.55 -341.91179091179094 L 383.05 -341.91179091179094 L 376.8 -351.91179091179094 Z"/>
+            <g style="fill:rgb(255,255,255);clip-path:url(#clip31);">
+              <path d="M 408.95 -341.82665082665085 L 408.95 -351.82665082665085 L 421.45 -351.82665082665085 L 421.45 -341.82665082665085 Z" style="stroke:none;"/>
+            </g>
+            <g>
+              <path d="M 408.95 -341.82665082665085 L 421.45 -341.82665082665085 L 415.2 -351.82665082665085 Z"/>
+              <g style="fill:rgb(255,255,255);clip-path:url(#clip32);">
+                <path d="M 447.35 -345.4953964953965 L 447.35 -355.4953964953965 L 459.85 -355.4953964953965 L 459.85 -345.4953964953965 Z" style="stroke:none;"/>
+              </g>
+              <g>
+                <path d="M 447.35 -345.4953964953965 L 459.85 -345.4953964953965 L 453.6 -355.4953964953965 Z"/>
+                <g style="fill:rgb(255,255,255);clip-path:url(#clip33);">
+                  <path d="M 485.75 -343.044352044352 L 485.75 -353.044352044352 L 498.25 -353.044352044352 L 498.25 -343.044352044352 Z" style="stroke:none;"/>
+                </g>
+                <g>
+                  <path d="M 485.75 -343.044352044352 L 498.25 -343.044352044352 L 492.0 -353.044352044352 Z"/>
+                  <g style="fill:rgb(255,255,255);clip-path:url(#clip34);">
+                    <path d="M 524.15 -345.6913176913177 L 524.15 -355.6913176913177 L 536.65 -355.6913176913177 L 536.65 -345.6913176913177 Z" style="stroke:none;"/>
+                  </g>
+                  <g>
+                    <path d="M 524.15 -345.6913176913177 L 536.65 -345.6913176913177 L 530.4 -355.6913176913177 Z"/>
+                    <g style="fill:rgb(255,255,255);clip-path:url(#clip35);">
+                      <path d="M 562.55 -345.4052074052074 L 562.55 -355.4052074052074 L 575.05 -355.4052074052074 L 575.05 -345.4052074052074 Z" style="stroke:none;"/>
+                    </g>
+                    <g>
+                      <path d="M 562.55 -345.4052074052074 L 575.05 -345.4052074052074 L 568.8 -355.4052074052074 Z"/>
+                      <g style="fill:rgb(255,255,255);clip-path:url(#clip36);">
+                        <path d="M 600.95 -345.7085437085437 L 600.95 -355.7085437085437 L 613.45 -355.7085437085437 L 613.45 -345.7085437085437 Z" style="stroke:none;"/>
+                      </g>
+                      <g>
+                        <path d="M 600.95 -345.7085437085437 L 613.45 -345.7085437085437 L 607.2 -355.7085437085437 Z"/>
+                        <g style="fill:rgb(255,255,255);clip-path:url(#clip37);">
+                          <path d="M 639.35 -351.85971685971685 L 639.35 -361.85971685971685 L 651.85 -361.85971685971685 L 651.85 -351.85971685971685 Z" style="stroke:none;"/>
+                        </g>
+                        <g>
+                          <path d="M 639.35 -351.85971685971685 L 651.85 -351.85971685971685 L 645.6 -361.85971685971685 Z"/>
+                          <g style="fill:rgb(255,255,255);clip-path:url(#clip38);">
+                            <path d="M 677.75 -351.7393327393327 L 677.75 -361.7393327393327 L 690.25 -361.7393327393327 L 690.25 -351.7393327393327 Z" style="stroke:none;"/>
+                          </g>
+                          <g>
+                            <path d="M 677.75 -351.7393327393327 L 690.25 -351.7393327393327 L 684.0 -361.7393327393327 Z"/>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip39);">
+      <path d="M 290 -114 L 290 -188 L 324 -188 L 324 -114 Z" style="stroke:none;"/>
+    </g>
+    <path d="M 300 -178.66666666666669 L 314 -178.66666666666669" style="stroke:rgb(255,68,0);stroke-width:2;"/>
+    <path d="M 302.0 -173.66666666666669 L 312.0 -183.66666666666669" style="stroke-width:1;"/>
+    <path d="M 312.0 -173.66666666666669 L 302.0 -183.66666666666669" style="stroke-width:1;"/>
+    <path d="M 307.0 -171.59666666666666 L 307.0 -185.73666666666668" style="stroke-width:1;"/>
+    <path d="M 299.93 -178.66666666666669 L 314.07 -178.66666666666669" style="stroke-width:1;"/>
+    <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-174.0">
+      ov_tree_map
+    </text>
+    <path d="M 300 -160.66666666666666 L 314 -160.66666666666666" style="stroke:rgb(205,0,0);stroke-width:2;"/>
+    <g style="fill:rgb(255,255,255);clip-path:url(#clip40);">
+      <path d="M 300.75 -155.66666666666666 L 300.75 -165.66666666666666 L 313.25 -165.66666666666666 L 313.25 -155.66666666666666 Z" style="stroke:none;"/>
+    </g>
+    <g>
+      <path d="M 307.0 -155.66666666666666 L 300.75 -165.66666666666666 L 313.25 -165.66666666666666 Z"/>
+      <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-156.0">
+        rb_tree_map
+      </text>
+      <path d="M 300 -142.66666666666666 L 314 -142.66666666666666" style="stroke-width:2;"/>
+      <g style="fill:rgb(255,255,255);clip-path:url(#clip41);">
+        <path d="M 299.0 -134.66666666666666 L 299.0 -150.66666666666666 L 315.0 -150.66666666666666 L 315.0 -134.66666666666666 Z" style="stroke:none;"/>
+      </g>
+      <g>
+        <path d="M 307.0 -142.66666666666666 M 311.0 -142.66666666666666 L 311 -142.667 M 311 -142.667 A 4 4 0 1 0 303 -142.667 A 4 4 0 1 0 311 -142.667 Z"/>
+        <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-138.0">
+          n_map
+        </text>
+        <path d="M 300 -124.66666666666666 L 314 -124.66666666666666" style="stroke:rgb(147,147,147);stroke-width:2;"/>
+        <g style="fill:rgb(255,255,255);clip-path:url(#clip42);">
+          <path d="M 300.75 -119.66666666666666 L 300.75 -129.66666666666666 L 313.25 -129.66666666666666 L 313.25 -119.66666666666666 Z" style="stroke:none;"/>
+        </g>
+        <g>
+          <path d="M 300.75 -119.66666666666666 L 313.25 -119.66666666666666 L 307.0 -129.66666666666666 Z"/>
+          <text style="font-size:14;stroke:none;fill:rgb(0,0,0);" x="314.0" y="-120.0">
+            splay_tree_map
+          </text>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/libstdc++-v3/doc/xml/images/pbds_trie_node_updator_policy_cd.png b/libstdc++-v3/doc/xml/images/pbds_trie_node_updator_policy_cd.png
new file mode 100644 (file)
index 0000000..4376929
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_trie_node_updator_policy_cd.png differ
diff --git a/libstdc++-v3/doc/xml/images/pbds_update_seq_diagram.png b/libstdc++-v3/doc/xml/images/pbds_update_seq_diagram.png
new file mode 100644 (file)
index 0000000..880a50e
Binary files /dev/null and b/libstdc++-v3/doc/xml/images/pbds_update_seq_diagram.png differ
index 300cbabcd5a8bb5328c3a03072042ec39245a1ec..ab6d63b16c40d6f6a368f26a0661d9278f5bcb88 100644 (file)
@@ -1,8 +1,8 @@
-<section xmlns="http://docbook.org/ns/docbook" version="5.0" 
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" 
         xml:id="manual.ext.allocator.bitmap" xreflabel="bitmap_allocator">
 <?dbhtml filename="bitmap_allocator.html"?>
 
-<info><title>bitmap_allocator</title>
+<info><title>The bitmap_allocator</title>
   <keywordset>
     <keyword>
       ISO C++
@@ -558,4 +558,4 @@ equivalent.</para></listitem>
 
 </section>
 
-</section>
+</chapter>
index b93c61f1be266023bdab5cfa0bb540640f9e10fc..fb2f5ca83e866a430f255375e09b5b3ae25da4b4 100644 (file)
@@ -1,4 +1,4 @@
-<part xmlns="http://docbook.org/ns/docbook" version="5.0" 
+<part xmlns="http://docbook.org/ns/docbook" version="5.0"
       xml:id="manual.ext" xreflabel="Extensions">
 <?dbhtml filename="extensions.html"?>
 
 </info>
 
 
-
 <preface><info><title/></info>
-  
 <para>
-  Here we will make an attempt at describing the non-Standard extensions to
-  the library.  Some of these are from SGI's STL, some of these are GNU's,
-  and some just seemed to appear on the doorstep.
+  Here we will make an attempt at describing the non-Standard
+  extensions to the library.  Some of these are from older versions of
+  standard library components, namely SGI's STL, and some of these are
+  GNU's.
 </para>
 <para><emphasis>Before</emphasis> you leap in and use any of these
 extensions, be aware of two things:
@@ -53,7 +52,7 @@ extensions, be aware of two things:
 <!-- Chapter 01 : Compile Time Checks -->
 <chapter xml:id="manual.ext.compile_checks" xreflabel="Compile Time Checks"><info><title>Compile Time Checks</title></info>
 <?dbhtml filename="ext_compile_checks.html"?>
-  
+
   <para>
     Also known as concept checking.
   </para>
@@ -100,59 +99,57 @@ extensions, be aware of two things:
 </chapter>
 
 <!-- Chapter 02 : Debug Mode -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="debug_mode.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml"
+           href="debug_mode.xml">
 </xi:include>
 
 <!-- Chapter 03 : Parallel Mode -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="parallel_mode.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml"
+           href="parallel_mode.xml">
 </xi:include>
 
 <!-- Chapter 04 : Profile Mode -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="profile_mode.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml"
+           href="profile_mode.xml">
 </xi:include>
 
 
-<!-- Chapter 05 : Allocators -->
-<chapter xml:id="manual.ext.allocator" xreflabel="Allocators"><info><title>Allocators</title></info>
-<?dbhtml filename="ext_allocators.html"?>
-  
-
-  <!-- Section 01 : __mt_alloc -->
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="mt_allocator.xml">
-  </xi:include>
+<!-- XXX -->
+<!-- Allocators -->
+<!-- Chapter 05 : __mt_alloc -->
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml"
+           href="mt_allocator.xml">
+</xi:include>
 
-  <!-- Section 02 : bitmap_allocator -->
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="bitmap_allocator.xml">
-  </xi:include>
+<!-- Chapter 06 : bitmap_allocator -->
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml"
+           href="bitmap_allocator.xml">
+</xi:include>
 
-</chapter>
+<!-- Containers -->
+<!-- Chapter 07 : Policy-Based Data Structures -->
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml"
+           href="policy_data_structures.xml">
+</xi:include>
 
-<!-- Chapter 06 : Containers -->
-<chapter xml:id="manual.ext.containers" xreflabel="Containers"><info><title>Containers</title></info>
+<!-- Chapter 08 : HP/SGI -->
+<chapter xml:id="manual.ext.containers" xreflabel="Containers">
+  <info><title>HP/SGI Extensions</title></info>
 <?dbhtml filename="ext_containers.html"?>
-  
-  <para>
-  </para>
-  <section xml:id="manual.ext.containers.pbds" xreflabel="Policy Based Data Structures"><info><title>Policy Based Data Structures</title></info>
-    
-    <para>
-      <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/libstdc++/ext/pb_ds/index.html">More details here</link>.
-    </para>
-  </section>
 
-  <section xml:id="manual.ext.containers.sgi" xreflabel="SGI ext"><info><title>HP/SGI</title></info>
-    
-    <para>
+  <section xml:id="manual.ext.containers.sgi" xreflabel="SGI ext">
+    <info><title>Backwards Compatibility</title></info>
+
+    <para>A few extensions and nods to backwards-compatibility have
+    been made with containers.  Those dealing with older SGI-style
+    allocators are dealt with elsewhere.  The remaining ones all deal
+    with bits:
+    </para>
+    <para>The old pre-standard <code>bit_vector</code> class is
+    present for backwards compatibility.  It is simply a typedef for
+    the <code>vector&lt;bool&gt;</code> specialization.
     </para>
 
-<para>A few extensions and nods to backwards-compatibility have been made with
-   containers.  Those dealing with older SGI-style allocators are dealt with
-   elsewhere.  The remaining ones all deal with bits:
-</para>
-<para>The old pre-standard <code>bit_vector</code> class is present for
-   backwards compatibility.  It is simply a typedef for the
-   <code>vector&lt;bool&gt;</code> specialization.
-</para>
 <para>The <code>bitset</code> class has a number of extensions, described in the
    rest of this item.  First, we'll mention that this implementation of
    <code>bitset&lt;N&gt;</code> is specialized for cases where N number of
@@ -197,8 +194,8 @@ extensions, be aware of two things:
   </section>
 
 
-  <section xml:id="manual.ext.containers.deprecated_sgi" xreflabel="SGI ext dep"><info><title>Deprecated HP/SGI</title></info>
-    
+  <section xml:id="manual.ext.containers.deprecated_sgi" xreflabel="SGI ext dep"><info><title>Deprecated</title></info>
+
 
    <para>
      The SGI hashing classes <classname>hash_set</classname> and
@@ -262,10 +259,10 @@ extensions, be aware of two things:
   </section>
 </chapter>
 
-<!-- Chapter 07 : Utilities -->
+<!-- Chapter 09 : Utilities -->
 <chapter xml:id="manual.ext.util" xreflabel="Utilities"><info><title>Utilities</title></info>
 <?dbhtml filename="ext_utilities.html"?>
-  
+
   <para>
     The &lt;functional&gt; header contains many additional functors
     and helper functions, extending section 20.3.  They are
@@ -332,10 +329,10 @@ get_temporary_buffer(5, (int*)0);
 
 </chapter>
 
-<!-- Chapter 08 : Algorithms -->
+<!-- Chapter 10 : Algorithms -->
 <chapter xml:id="manual.ext.algorithms" xreflabel="Algorithms"><info><title>Algorithms</title></info>
 <?dbhtml filename="ext_algorithms.html"?>
-  
+
 <para>25.1.6 (count, count_if) is extended with two more versions of count
    and count_if.  The standard versions return their results.  The
    additional signatures return void, but take a final parameter by
@@ -370,10 +367,10 @@ get_temporary_buffer(5, (int*)0);
 
 </chapter>
 
-<!-- Chapter 09 : Numerics -->
+<!-- Chapter 11 : Numerics -->
 <chapter xml:id="manual.ext.numerics" xreflabel="Numerics"><info><title>Numerics</title></info>
 <?dbhtml filename="ext_numerics.html"?>
-  
+
 <para>26.4, the generalized numeric operations such as accumulate, are extended
    with the following functions:
 </para>
@@ -395,10 +392,10 @@ get_temporary_buffer(5, (int*)0);
    void iota(_ForwardIter first, _ForwardIter last, _Tp value);</programlisting>
 </chapter>
 
-<!-- Chapter 10 : Iterators -->
+<!-- Chapter 12 : Iterators -->
 <chapter xml:id="manual.ext.iterators" xreflabel="Iterators"><info><title>Iterators</title></info>
 <?dbhtml filename="ext_iterators.html"?>
-  
+
 <para>24.3.2 describes <code>struct iterator</code>, which didn't exist in the
    original HP STL implementation (the language wasn't rich enough at the
    time).  For backwards compatibility, base classes are provided which
@@ -419,10 +416,10 @@ get_temporary_buffer(5, (int*)0);
 
 </chapter>
 
-<!-- Chapter 11 : IO -->
+<!-- Chapter 13 : IO -->
 <chapter xml:id="manual.ext.io" xreflabel="IO"><info><title>Input and Output</title></info>
 <?dbhtml filename="ext_io.html"?>
-  
+
 
   <para>
     Extensions allowing <code>filebuf</code>s to be constructed from
@@ -430,7 +427,7 @@ get_temporary_buffer(5, (int*)0);
   </para>
 
   <section xml:id="manual.ext.io.filebuf_derived" xreflabel="Derived filebufs"><info><title>Derived filebufs</title></info>
-    
+
 
    <para>The v2 library included non-standard extensions to construct
       <code>std::filebuf</code>s from C stdio types such as
@@ -489,10 +486,10 @@ get_temporary_buffer(5, (int*)0);
   </section>
 </chapter>
 
-<!-- Chapter 12 : Demangling -->
+<!-- Chapter 14 : Demangling -->
 <chapter xml:id="manual.ext.demangle" xreflabel="Demangling"><info><title>Demangling</title></info>
 <?dbhtml filename="ext_demangling.html"?>
-  
+
   <para>
     Transforming C++ ABI identifiers (like RTTI symbols) into the
     original C++ source identifiers is called
@@ -574,7 +571,7 @@ int main()
    </para>
 </chapter>
 
-<!-- Chapter 13 : Concurrency -->
+<!-- Chapter 15 : Concurrency -->
 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="concurrency_extensions.xml">
 </xi:include>
 
index b31b593bc29a861d85aa4afc34c6f889db0ad702..8d4d127e6c479481836dbf49cf89c84f382e69b7 100644 (file)
@@ -1,8 +1,8 @@
-<section xmlns="http://docbook.org/ns/docbook" version="5.0" 
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" 
         xml:id="manual.ext.allocator.mt" xreflabel="mt allocator">
 <?dbhtml filename="mt_allocator.html"?>
 
-<info><title>mt_allocator</title>
+<info><title>The mt_allocator</title>
   <keywordset>
     <keyword>
       ISO C++
@@ -552,4 +552,4 @@ and forth" between freelists.
 
 </section>
 
-</section>
+</chapter>
diff --git a/libstdc++-v3/doc/xml/manual/policy_data_structures.xml b/libstdc++-v3/doc/xml/manual/policy_data_structures.xml
new file mode 100644 (file)
index 0000000..e9495db
--- /dev/null
@@ -0,0 +1,6584 @@
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
+        xml:id="manual.ext.containers.pbds" xreflabel="pbds">
+  <info>
+    <title>Policy-Based Data Structures</title>
+    <keywordset>
+      <keyword>
+       ISO C++
+      </keyword>
+      <keyword>
+       policy
+      </keyword>
+      <keyword>
+       container
+      </keyword>
+      <keyword>
+       data
+      </keyword>
+      <keyword>
+       structure
+      </keyword>
+      <keyword>
+       associated
+      </keyword>
+      <keyword>
+       tree
+      </keyword>
+      <keyword>
+       trie
+      </keyword>
+      <keyword>
+       hash
+      </keyword>
+      <keyword>
+       metaprogramming
+      </keyword>
+    </keywordset>
+  </info>
+  <?dbhtml filename="policy_data_structures.html"?>
+
+  <!-- 2006-04-01 Ami Tavory -->
+  <!-- 2011-05-25 Benjamin Kosnik -->
+
+  <!-- S01: intro -->
+  <section xml:id="pbds.intro">
+    <info><title>Intro</title></info>
+
+    <para>
+      This is a library of policy-based elementary data structures:
+      associative containers and priority queues. It is designed for
+      high-performance, flexibility, semantic safety, and conformance to
+      the corresponding containers in <literal>std</literal> and
+      <literal>std::tr1</literal> (except for some points where it differs
+      by design).
+    </para>
+    <para>
+    </para>
+
+    <section xml:id="pbds.intro.issues">
+      <info><title>Performance Issues</title></info>
+      <para>
+      </para>
+
+      <para>
+       An attempt is made to categorize the wide variety of possible
+       container designs in terms of performance-impacting factors. These
+       performance factors are translated into design policies and
+       incorporated into container design.
+      </para>
+
+      <para>
+       There is tension between unravelling factors into a coherent set of
+       policies. Every attempt is made to make a minimal set of
+       factors. However, in many cases multiple factors make for long
+       template names. Every attempt is made to alias and use typedefs in
+       the source files, but the generated names for external symbols can
+       be large for binary files or debuggers.
+      </para>
+
+      <para>
+       In many cases, the longer names allow capabilities and behaviours
+       controlled by macros to also be unamibiguously emitted as distinct
+       generated names.
+      </para>
+
+      <para>
+       Specific issues found while unraveling performance factors in the
+       design of associative containers and priority queues follow.
+      </para>
+
+      <section xml:id="pbds.intro.issues.associative">
+       <info><title>Associative</title></info>
+
+       <para>
+         Associative containers depend on their composite policies to a very
+         large extent. Implicitly hard-wiring policies can hamper their
+         performance and limit their functionality. An efficient hash-based
+         container, for example, requires policies for testing key
+         equivalence, hashing keys, translating hash values into positions
+         within the hash table, and determining when and how to resize the
+         table internally. A tree-based container can efficiently support
+         order statistics, i.e. the ability to query what is the order of
+         each key within the sequence of keys in the container, but only if
+         the container is supplied with a policy to internally update
+         meta-data. There are many other such examples.
+       </para>
+
+       <para>
+         Ideally, all associative containers would share the same
+         interface. Unfortunately, underlying data structures and mapping
+         semantics differentiate between different containers. For example,
+         suppose one writes a generic function manipulating an associative
+         container.
+       </para>
+
+       <programlisting>
+         template&lt;typename Cntnr&gt;
+         void
+         some_op_sequence(Cntnr&amp; r_cnt)
+         {
+         ...
+         }
+       </programlisting>
+
+       <para>
+         Given this, then what can one assume about the instantiating
+         container? The answer varies according to its underlying data
+         structure. If the underlying data structure of
+         <literal>Cntnr</literal> is based on a tree or trie, then the order
+         of elements is well defined; otherwise, it is not, in general. If
+         the underlying data structure of <literal>Cntnr</literal> is based
+         on a collision-chaining hash table, then modifying
+         r_<literal>Cntnr</literal> will not invalidate its iterators' order;
+         if the underlying data structure is a probing hash table, then this
+         is not the case. If the underlying data structure is based on a tree
+         or trie, then a reference to the container can efficiently be split;
+         otherwise, it cannot, in general. If the underlying data structure
+         is a red-black tree, then splitting a reference to the container is
+         exception-free; if it is an ordered-vector tree, exceptions can be
+         thrown.
+       </para>
+
+      </section>
+
+      <section xml:id="pbds.intro.issues.priority_queue">
+       <info><title>Priority Que</title></info>
+
+       <para>
+         Priority queues are useful when one needs to efficiently access a
+         minimum (or maximum) value as the set of values changes.
+       </para>
+
+       <para>
+         Most useful data structures for priority queues have a relatively
+         simple structure, as they are geared toward relatively simple
+         requirements. Unfortunately, these structures do not support access
+         to an arbitrary value, which turns out to be necessary in many
+         algorithms. Say, decreasing an arbitrary value in a graph
+         algorithm. Therefore, some extra mechanism is necessary and must be
+         invented for accessing arbitrary values. There are at least two
+         alternatives: embedding an associative container in a priority
+         queue, or allowing cross-referencing through iterators. The first
+         solution adds significant overhead; the second solution requires a
+         precise definition of iterator invalidation. Which is the next
+         point...
+       </para>
+
+       <para>
+         Priority queues, like hash-based containers, store values in an
+         order that is meaningless and undefined externally. For example, a
+         <code>push</code> operation can internally reorganize the
+         values. Because of this characteristic, describing a priority
+         queues' iterator is difficult: on one hand, the values to which
+         iterators point can remain valid, but on the other, the logical
+         order of iterators can change unpredictably.
+       </para>
+
+       <para>
+         Roughly speaking, any element that is both inserted to a priority
+         queue (e.g. through <code>push</code>) and removed
+         from it (e.g., through <code>pop</code>), incurs a
+         logarithmic overhead (in the amortized sense). Different underlying
+         data structures place the actual cost differently: some are
+         optimized for amortized complexity, whereas others guarantee that
+         specific operations only have a constant cost. One underlying data
+         structure might be chosen if modifying a value is frequent
+         (Dijkstra's shortest-path algorithm), whereas a different one might
+         be chosen otherwise. Unfortunately, an array-based binary heap - an
+         underlying data structure that optimizes (in the amortized sense)
+         <code>push</code> and <code>pop</code> operations, differs from the
+         others in terms of its invalidation guarantees. Other design
+         decisions also impact the cost and placement of the overhead, at the
+         expense of more difference in the the kinds of operations that the
+         underlying data structure can support. These differences pose a
+         challenge when creating a uniform interface for priority queues.
+       </para>
+      </section>
+    </section>
+
+    <section xml:id="pbds.intro.motivation">
+      <info><title>Goals</title></info>
+
+      <para>
+       Many fine associative-container libraries were already written,
+       most notably, the C++ standard's associative containers. Why
+       then write another library? This section shows some possible
+       advantages of this library, when considering the challenges in
+       the introduction. Many of these points stem from the fact that
+       the ISO C++ process introduced associative-containers in a
+       two-step process (first standardizing tree-based containers,
+       only then adding hash-based containers, which are fundamentally
+       different), did not standardize priority queues as containers,
+       and (in our opinion) overloads the iterator concept.
+      </para>
+
+      <section xml:id="pbds.intro.motivation.associative">
+       <info><title>Associative</title></info>
+       <para>
+       </para>
+
+       <section xml:id="motivation.associative.policy">
+         <info><title>Policy Choices</title></info>
+         <para>
+           Associative containers require a relatively large number of
+           policies to function efficiently in various settings. In some
+           cases this is needed for making their common operations more
+           efficient, and in other cases this allows them to support a
+           larger set of operations
+         </para>
+
+         <orderedlist>
+           <listitem>
+             <para>
+               Hash-based containers, for example, support look-up and
+               insertion methods (<function>find</function> and
+               <function>insert</function>). In order to locate elements
+               quickly, they are supplied a hash functor, which instruct
+               how to transform a key object into some size type; a hash
+               functor might transform <constant>"hello"</constant>
+               into <constant>1123002298</constant>. A hash table, though,
+               requires transforming each key object into some size-type
+               type in some specific domain; a hash table with a 128-long
+               table might transform <constant>"hello"</constant> into
+               position <constant>63</constant>. The policy by which the
+               hash value is transformed into a position within the table
+               can dramatically affect performance.  Hash-based containers
+               also do not resize naturally (as opposed to tree-based
+               containers, for example). The appropriate resize policy is
+               unfortunately intertwined with the policy that transforms
+               hash value into a position within the table.
+             </para>
+           </listitem>
+
+           <listitem>
+             <para>
+               Tree-based containers, for example, also support look-up and
+               insertion methods, and are primarily useful when maintaining
+               order between elements is important. In some cases, though,
+               one can utilize their balancing algorithms for completely
+               different purposes.
+             </para>
+
+             <para>
+               Figure A shows a tree whose each node contains two entries:
+               a floating-point key, and some size-type
+               <emphasis>metadata</emphasis> (in bold beneath it) that is
+               the number of nodes in the sub-tree. (The root has key 0.99,
+               and has 5 nodes (including itself) in its sub-tree.) A
+               container based on this data structure can obviously answer
+               efficiently whether 0.3 is in the container object, but it
+               can also answer what is the order of 0.3 among all those in
+               the container object: see <xref linkend="biblio.clrs2001"/>.
+
+             </para>
+
+             <para>
+               As another example, Figure B shows a tree whose each node
+               contains two entries: a half-open geometric line interval,
+               and a number <emphasis>metadata</emphasis> (in bold beneath
+               it) that is the largest endpoint of all intervals in its
+               sub-tree.  (The root describes the interval <constant>[20,
+               36)</constant>, and the largest endpoint in its sub-tree is
+               99.) A container based on this data structure can obviously
+               answer efficiently whether <constant>[3, 41)</constant> is
+               in the container object, but it can also answer efficiently
+               whether the container object has intervals that intersect
+               <constant>[3, 41)</constant>. These types of queries are
+               very useful in geometric algorithms and lease-management
+               algorithms.
+             </para>
+
+             <para>
+               It is important to note, however, that as the trees are
+               modified, their internal structure changes. To maintain
+               these invariants, one must supply some policy that is aware
+               of these changes.  Without this, it would be better to use a
+               linked list (in itself very efficient for these purposes).
+             </para>
+
+           </listitem>
+         </orderedlist>
+
+         <figure>
+           <title>Node Invariants</title>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_node_invariants.png"/>
+             </imageobject>
+             <textobject>
+               <phrase>Node Invariants</phrase>
+             </textobject>
+           </mediaobject>
+         </figure>
+
+       </section>
+
+       <section xml:id="motivation.associative.underlying">
+         <info><title>Underlying Data Structures</title></info>
+         <para>
+           The standard C++ library contains associative containers based on
+           red-black trees and collision-chaining hash tables. These are
+           very useful, but they are not ideal for all types of
+           settings.
+         </para>
+
+         <para>
+           The figure below shows the different underlying data structures
+           currently supported in this library.
+         </para>
+
+         <figure>
+           <title>Underlying Associative Data Structures</title>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_different_underlying_dss_1.png"/>
+             </imageobject>
+             <textobject>
+               <phrase>Underlying Associative Data Structures</phrase>
+             </textobject>
+           </mediaobject>
+         </figure>
+
+         <para>
+           A shows a collision-chaining hash-table, B shows a probing
+           hash-table, C shows a red-black tree, D shows a splay tree, E shows
+           a tree based on an ordered vector(implicit in the order of the
+           elements), F shows a PATRICIA trie, and G shows a list-based
+           container with update policies.
+         </para>
+
+         <para>
+           Each of these data structures has some performance benefits, in
+           terms of speed, size or both. For now, note that vector-based trees
+           and probing hash tables manipulate memory more efficiently than
+           red-black trees and collision-chaining hash tables, and that
+           list-based associative containers are very useful for constructing
+           "multimaps".
+         </para>
+
+         <para>
+           Now consider a function manipulating a generic associative
+           container,
+         </para>
+         <programlisting>
+           template&lt;class Cntnr&gt;
+           int
+           some_op_sequence(Cntnr &amp;r_cnt)
+           {
+           ...
+           }
+         </programlisting>
+
+         <para>
+           Ideally, the underlying data structure
+           of <classname>Cntnr</classname> would not affect what can be
+           done with <varname>r_cnt</varname>.  Unfortunately, this is not
+           the case.
+         </para>
+
+         <para>
+           For example, if <classname>Cntnr</classname>
+           is <classname>std::map</classname>, then the function can
+           use
+         </para>
+         <programlisting>
+           std::for_each(r_cnt.find(foo), r_cnt.find(bar), foobar)
+         </programlisting>
+         <para>
+           in order to apply <classname>foobar</classname> to all
+           elements between <classname>foo</classname> and
+           <classname>bar</classname>. If
+           <classname>Cntnr</classname> is a hash-based container,
+           then this call's results are undefined.
+         </para>
+
+         <para>
+           Also, if <classname>Cntnr</classname> is tree-based, the type
+           and object of the comparison functor can be
+           accessed. If <classname>Cntnr</classname> is hash based, these
+           queries are nonsensical.
+         </para>
+
+         <para>
+           There are various other differences based on the container's
+           underlying data structure. For one, they can be constructed by,
+           and queried for, different policies. Furthermore:
+         </para>
+
+         <orderedlist>
+           <listitem>
+             <para>
+               Containers based on C, D, E and F store elements in a
+               meaningful order; the others store elements in a meaningless
+               (and probably time-varying) order. By implication, only
+               containers based on C, D, E and F can
+               support <function>erase</function> operations taking an
+               iterator and returning an iterator to the following element
+               without performance loss.
+             </para>
+           </listitem>
+
+           <listitem>
+             <para>
+               Containers based on C, D, E, and F can be split and joined
+               efficiently, while the others cannot. Containers based on C
+               and D, furthermore, can guarantee that this is exception-free;
+               containers based on E cannot guarantee this.
+             </para>
+           </listitem>
+
+           <listitem>
+             <para>
+               Containers based on all but E can guarantee that
+               erasing an element is exception free; containers based on E
+               cannot guarantee this. Containers based on all but B and E
+               can guarantee that modifying an object of their type does
+               not invalidate iterators or references to their elements,
+               while containers based on B and E cannot. Containers based
+               on C, D, and E can furthermore make a stronger guarantee,
+               namely that modifying an object of their type does not
+               affect the order of iterators.
+             </para>
+           </listitem>
+         </orderedlist>
+
+         <para>
+           A unified tag and traits system (as used for the C++ standard
+           library iterators, for example) can ease generic manipulation of
+           associative containers based on different underlying data
+           structures.
+         </para>
+
+       </section>
+
+       <section xml:id="motivation.associative.iterators">
+         <info><title>Iterators</title></info>
+         <para>
+           Iterators are centric to the design of the standard library
+           containers, because of the container/algorithm/iterator
+           decomposition that allows an algorithm to operate on a range
+           through iterators of some sequence.  Iterators, then, are useful
+           because they allow going over a
+           specific <emphasis>sequence</emphasis>.  The standard library
+           also uses iterators for accessing a
+           specific <emphasis>element</emphasis>: when an associative
+           container returns one through <function>find</function>. The
+           standard library consistently uses the same types of iterators
+           for both purposes: going over a range, and accessing a specific
+           found element. Before the introduction of hash-based containers
+           to the standard library, this made sense (with the exception of
+           priority queues, which are discussed later).
+         </para>
+
+         <para>
+           Using the standard associative containers together with
+           non-order-preserving associative containers (and also because of
+           priority-queues container), there is a possible need for
+           different types of iterators for self-organizing containers:
+           the iterator concept seems overloaded to mean two different
+           things (in some cases). <remark> XXX
+           "ds_gen.html#find_range">Design::Associative
+           Containers::Data-Structure Genericity::Point-Type and Range-Type
+           Methods</remark>.
+         </para>
+
+         <section xml:id="associative.iterators.using">
+           <info>
+             <title>Using Point Iterators for Range Operations</title>
+           </info>
+           <para>
+             Suppose <classname>cntnr</classname> is some associative
+             container, and say <varname>c</varname> is an object of
+             type <classname>cntnr</classname>. Then what will be the outcome
+             of
+           </para>
+
+           <programlisting>
+             std::for_each(c.find(1), c.find(5), foo);
+           </programlisting>
+
+           <para>
+             If <classname>cntnr</classname> is a tree-based container
+             object, then an in-order walk will
+             apply <classname>foo</classname> to the relevant elements,
+             as in the graphic below, label A. If <varname>c</varname> is
+             a hash-based container, then the order of elements between any
+             two elements is undefined (and probably time-varying); there is
+             no guarantee that the elements traversed will coincide with the
+             <emphasis>logical</emphasis> elements between 1 and 5, as in
+             label B.
+           </para>
+
+           <figure>
+             <title>Range Iteration in Different Data Structures</title>
+             <mediaobject>
+               <imageobject>
+                 <imagedata align="center" format="PNG" scale="100"
+                            fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_point_iterators_range_ops_1.png"/>
+               </imageobject>
+               <textobject>
+                 <phrase>Node Invariants</phrase>
+               </textobject>
+             </mediaobject>
+           </figure>
+
+           <para>
+             In our opinion, this problem is not caused just because
+             red-black trees are order preserving while
+             collision-chaining hash tables are (generally) not - it
+             is more fundamental. Most of the standard's containers
+             order sequences in a well-defined manner that is
+             determined by their <emphasis>interface</emphasis>:
+             calling <function>insert</function> on a tree-based
+             container modifies its sequence in a predictable way, as
+             does calling <function>push_back</function> on a list or
+             a vector. Conversely, collision-chaining hash tables,
+             probing hash tables, priority queues, and list-based
+             containers (which are very useful for "multimaps") are
+             self-organizing data structures; the effect of each
+             operation modifies their sequences in a manner that is
+             (practically) determined by their
+             <emphasis>implementation</emphasis>.
+           </para>
+
+           <para>
+             Consequently, applying an algorithm to a sequence obtained from most
+             containers may or may not make sense, but applying it to a
+             sub-sequence of a self-organizing container does not.
+           </para>
+         </section>
+
+         <section xml:id="associative.iterators.cost">
+           <info>
+             <title>Cost to Point Iterators to Enable Range Operations</title>
+           </info>
+           <para>
+             Suppose <varname>c</varname> is some collision-chaining
+             hash-based container object, and one calls
+           </para>
+           <programlisting>c.find(3)</programlisting>
+           <para>
+             Then what composes the returned iterator?
+           </para>
+
+           <para>
+             In the graphic below, label A shows the simplest (and
+             most efficient) implementation of a collision-chaining
+             hash table.  The little box marked
+             <classname>point_iterator</classname> shows an object
+             that contains a pointer to the element's node. Note that
+             this "iterator" has no way to move to the next element (
+             it cannot support
+             <function>operator++</function>). Conversely, the little
+             box marked <classname>iterator</classname> stores both a
+             pointer to the element, as well as some other
+             information (the bucket number of the element). the
+             second iterator, then, is "heavier" than the first one-
+             it requires more time and space. If we were to use a
+             different container to cross-reference into this
+             hash-table using these iterators - it would take much
+             more space. As noted above, nothing much can be done by
+             incrementing these iterators, so why is this extra
+             information needed?
+           </para>
+
+           <para>
+             Alternatively, one might create a collision-chaining hash-table
+             where the lists might be linked, forming a monolithic total-element
+             list, as in the graphic below, label B.  Here the iterators are as
+             light as can be, but the hash-table's operations are more
+             complicated.
+           </para>
+
+           <figure>
+             <title>Point Iteration in Hash Data Structures</title>
+             <mediaobject>
+               <imageobject>
+                 <imagedata align="center" format="PNG" scale="100"
+                            fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_point_iterators_range_ops_2.png"/>
+               </imageobject>
+               <textobject>
+                 <phrase>Point Iteration in Hash Data Structures</phrase>
+               </textobject>
+             </mediaobject>
+           </figure>
+
+           <para>
+             It should be noted that containers based on collision-chaining
+             hash-tables are not the only ones with this type of behavior;
+             many other self-organizing data structures display it as well.
+           </para>
+         </section>
+
+         <section xml:id="associative.iterators.invalidation">
+           <info><title>Invalidation Guarantees</title></info>
+           <para>Consider the following snippet:</para>
+           <programlisting>
+             it = c.find(3);
+             c.erase(5);
+           </programlisting>
+
+           <para>
+             Following the call to <classname>erase</classname>, what is the
+             validity of <classname>it</classname>: can it be de-referenced?
+             can it be incremented?
+           </para>
+
+           <para>
+             The answer depends on the underlying data structure of the
+             container. The graphic below shows three cases: A1 and A2 show
+             a red-black tree; B1 and B2 show a probing hash-table; C1 and C2
+             show a collision-chaining hash table.
+           </para>
+
+           <figure>
+             <title>Effect of erase in different underlying data structures</title>
+             <mediaobject>
+               <imageobject>
+                 <imagedata align="center" format="PNG" scale="100"
+                            fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_invalidation_guarantee_erase.png"/>
+               </imageobject>
+               <textobject>
+                 <phrase>Effect of erase in different underlying data structures</phrase>
+               </textobject>
+             </mediaobject>
+           </figure>
+
+           <orderedlist>
+             <listitem>
+               <para>
+                 Erasing 5 from A1 yields A2. Clearly, an iterator to 3 can
+                 be de-referenced and incremented. The sequence of iterators
+                 changed, but in a way that is well-defined by the interface.
+               </para>
+             </listitem>
+
+             <listitem>
+               <para>
+                 Erasing 5 from B1 yields B2. Clearly, an iterator to 3 is
+                 not valid at all - it cannot be de-referenced or
+                 incremented; the order of iterators changed in a way that is
+                 (practically) determined by the implementation and not by
+                 the interface.
+               </para>
+             </listitem>
+
+             <listitem>
+               <para>
+                 Erasing 5 from C1 yields C2. Here the situation is more
+                 complicated. On the one hand, there is no problem in
+                 de-referencing <classname>it</classname>. On the other hand,
+                 the order of iterators changed in a way that is
+                 (practically) determined by the implementation and not by
+                 the interface.
+               </para>
+             </listitem>
+           </orderedlist>
+
+           <para>
+             So in the standard library containers, it is not always possible
+             to express whether <varname>it</varname> is valid or not. This
+             is true also for <function>insert</function>. Again, the
+             iterator concept seems overloaded.
+           </para>
+         </section>
+       </section> <!--iterators-->
+
+
+       <section xml:id="motivation.associative.functions">
+         <info><title>Functional</title></info>
+         <para>
+         </para>
+
+         <para>
+           The design of the functional overlay to the underlying data
+           structures differs slightly from some of the conventions used in
+           the C++ standard.  A strict public interface of methods that
+           comprise only operations which depend on the class's internal
+           structure; other operations are best designed as external
+           functions. (See <xref linkend="biblio.meyers02both"/>).With this
+           rubric, the standard associative containers lack some useful
+           methods, and provide other methods which would be better
+           removed.
+         </para>
+
+         <section xml:id="motivation.associative.functions.erase">
+           <info><title><function>erase</function></title></info>
+
+           <orderedlist>
+             <listitem>
+               <para>
+                 Order-preserving standard associative containers provide the
+                 method
+               </para>
+               <programlisting>
+                 iterator
+                 erase(iterator it)
+               </programlisting>
+
+               <para>
+                 which takes an iterator, erases the corresponding
+                 element, and returns an iterator to the following
+                 element. Also standardd hash-based associative
+                 containers provide this method. This seemingly
+                 increasesgenericity between associative containers,
+                 since it is possible to use
+               </para>
+               <programlisting>
+                 typename C::iterator it = c.begin();
+                 typename C::iterator e_it = c.end();
+
+                 while(it != e_it)
+                 it = pred(*it)? c.erase(it) : ++it;
+               </programlisting>
+
+               <para>
+                 in order to erase from a container object <varname>
+                 c</varname> all element which match a
+                 predicate <classname>pred</classname>. However, in a
+                 different sense this actually decreases genericity: an
+                 integral implication of this method is that tree-based
+                 associative containers' memory use is linear in the total
+                 number of elements they store, while hash-based
+                 containers' memory use is unbounded in the total number of
+                 elements they store. Assume a hash-based container is
+                 allowed to decrease its size when an element is
+                 erased. Then the elements might be rehashed, which means
+                 that there is no "next" element - it is simply
+                 undefined. Consequently, it is possible to infer from the
+                 fact that the standard library's hash-based containers
+                 provide this method that they cannot downsize when
+                 elements are erased. As a consequence, different code is
+                 needed to manipulate different containers, assuming that
+                 memory should be conserved. Therefor, this library's
+                 non-order preserving associative containers omit this
+                 method.
+               </para>
+             </listitem>
+
+             <listitem>
+               <para>
+                 All associative containers include a conditional-erase method
+               </para>
+               <programlisting>
+                 template&lt;
+                 class Pred&gt;
+                 size_type
+                 erase_if
+                 (Pred pred)
+               </programlisting>
+               <para>
+                 which erases all elements matching a predicate. This is probably the
+                 only way to ensure linear-time multiple-item erase which can
+                 actually downsize a container.
+               </para>
+             </listitem>
+
+             <listitem>
+               <para>
+                 The standard associative containers provide methods for
+                 multiple-item erase of the form
+               </para>
+               <programlisting>
+                 size_type
+                 erase(It b, It e)
+               </programlisting>
+               <para>
+                 erasing a range of elements given by a pair of
+                 iterators. For tree-based or trie-based containers, this can
+                 implemented more efficiently as a (small) sequence of split
+                 and join operations. For other, unordered, containers, this
+                 method isn't much better than an external loop. Moreover,
+                 if <varname>c</varname> is a hash-based container,
+                 then
+               </para>
+               <programlisting>
+                 c.erase(c.find(2), c.find(5))
+               </programlisting>
+               <para>
+                 is almost certain to do something
+                 different than erasing all elements whose keys are between 2
+                 and 5, and is likely to produce other undefined behavior.
+               </para>
+             </listitem>
+           </orderedlist>
+         </section> <!-- erase -->
+
+         <section xml:id="motivation.associative.functions.split">
+           <info>
+             <title>
+               <function>split</function> and <function>join</function>
+             </title>
+           </info>
+           <para>
+             It is well-known that tree-based and trie-based container
+             objects can be efficiently split or joined (See
+             <xref linkend="biblio.clrs2001"/>). Externally splitting or
+             joining trees is super-linear, and, furthermore, can throw
+             exceptions. Split and join methods, consequently, seem good
+             choices for tree-based container methods, especially, since as
+             noted just before, they are efficient replacements for erasing
+             sub-sequences.
+           </para>
+
+         </section> <!-- split -->
+
+         <section xml:id="motivation.associative.functions.insert">
+           <info>
+             <title>
+               <function>insert</function>
+             </title>
+           </info>
+           <para>
+             The standard associative containers provide methods of the form
+           </para>
+           <programlisting>
+             template&lt;class It&gt;
+             size_type
+             insert(It b, It e);
+           </programlisting>
+
+           <para>
+             for inserting a range of elements given by a pair of
+             iterators. At best, this can be implemented as an external loop,
+             or, even more efficiently, as a join operation (for the case of
+             tree-based or trie-based containers). Moreover, these methods seem
+             similar to constructors taking a range given by a pair of
+             iterators; the constructors, however, are transactional, whereas
+             the insert methods are not; this is possibly confusing.
+           </para>
+
+         </section> <!-- insert -->
+
+         <section xml:id="motivation.associative.functions.compare">
+           <info>
+             <title>
+               <function>operator==</function> and <function>operator&lt;=</function>
+             </title>
+           </info>
+
+           <para>
+             Associative containers are parametrized by policies allowing to
+             test key equivalence: a hash-based container can do this through
+             its equivalence functor, and a tree-based container can do this
+             through its comparison functor. In addition, some standard
+             associative containers have global function operators, like
+             <function>operator==</function> and <function>operator&lt;=</function>,
+             that allow comparing entire associative containers.
+           </para>
+
+           <para>
+             In our opinion, these functions are better left out. To begin
+             with, they do not significantly improve over an external
+             loop. More importantly, however, they are possibly misleading -
+             <function>operator==</function>, for example, usually checks for
+             equivalence, or interchangeability, but the associative
+             container cannot check for values' equivalence, only keys'
+             equivalence; also, are two containers considered equivalent if
+             they store the same values in different order? this is an
+             arbitrary decision.
+           </para>
+         </section> <!-- compare -->
+
+       </section>  <!-- functional -->
+
+      </section> <!--associative-->
+
+      <section xml:id="pbds.intro.motivation.priority_queue">
+       <info><title>Priority Queues</title></info>
+
+       <section xml:id="motivation.priority_queue.policy">
+         <info><title>Policy Choices</title></info>
+
+         <para>
+           Priority queues are containers that allow efficiently inserting
+           values and accessing the maximal value (in the sense of the
+           container's comparison functor). Their interface
+           supports <function>push</function>
+           and <function>pop</function>. The standard
+           container <classname>std::priorityqueue</classname> indeed support
+           these methods, but little else. For algorithmic and
+           software-engineering purposes, other methods are needed:
+         </para>
+
+         <orderedlist>
+           <listitem>
+             <para>
+               Many graph algorithms (see
+               <xref linkend="biblio.clrs2001"/>) require increasing a
+               value in a priority queue (again, in the sense of the
+               container's comparison functor), or joining two
+               priority-queue objects.
+             </para>
+           </listitem>
+
+           <listitem>
+             <para>The return type of <classname>priority_queue</classname>'s
+             <function>push</function> method is a point-type iterator, which can
+             be used for modifying or erasing arbitrary values. For
+             example:</para>
+             <programlisting>
+               priority_queue&lt;int&gt; p;
+               priority_queue&lt;int&gt;::point_iterator it = p.push(3);
+               p.modify(it, 4);
+             </programlisting>
+
+             <para>These types of cross-referencing operations are necessary
+             for making priority queues useful for different applications,
+             especially graph applications.</para>
+
+           </listitem>
+           <listitem>
+             <para>
+               It is sometimes necessary to erase an arbitrary value in a
+               priority queue. For example, consider
+               the <function>select</function> function for monitoring
+               file descriptors:
+             </para>
+
+             <programlisting>
+               int
+               select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *errorfds,
+               struct timeval *timeout);
+             </programlisting>
+             <para>
+               then, as the select documentation states:
+             </para>
+             <para>
+               <quote>
+                 The nfds argument specifies the range of file
+                 descriptors to be tested. The select() function tests file
+               descriptors in the range of 0 to nfds-1.</quote>
+             </para>
+
+             <para>
+               It stands to reason, therefore, that we might wish to
+               maintain a minimal value for <varname>nfds</varname>, and
+               priority queues immediately come to mind. Note, though, that
+               when a socket is closed, the minimal file description might
+               change; in the absence of an efficient means to erase an
+               arbitrary value from a priority queue, we might as well
+               avoid its use altogether.
+             </para>
+
+             <para>
+               The standard containers typically support iterators. It is
+               somewhat unusual
+               for <classname>std::priority_queue</classname> to omit them
+               (See <xref linkend="biblio.meyers01stl"/>). One might
+               ask why do priority queues need to support iterators, since
+               they are self-organizing containers with a different purpose
+               than abstracting sequences. There are several reasons:
+             </para>
+             <orderedlist>
+               <listitem>
+                 <para>
+                   Iterators (even in self-organizing containers) are
+                   useful for many purposes: cross-referencing
+                   containers, serialization, and debugging code that uses
+                   these containers.
+                 </para>
+               </listitem>
+
+               <listitem>
+                 <para>
+                   The standard library's hash-based containers support
+                   iterators, even though they too are self-organizing
+                   containers with a different purpose than abstracting
+                   sequences.
+                 </para>
+               </listitem>
+
+               <listitem>
+                 <para>
+                   In standard-library-like containers, it is natural to specify the
+                   interface of operations for modifying a value or erasing
+                   a value (discussed previously) in terms of a iterators.
+                   It should be noted that the standard
+                   containers also use iterators for accessing and
+                   manipulating a specific value. In hash-based
+                   containers, one checks the existence of a key by
+                   comparing the iterator returned by <function>find</function> to the
+                   iterator returned by <function>end</function>, and not by comparing a
+                   pointer returned by <function>find</function> to <type>NULL</type>.
+                 </para>
+               </listitem>
+             </orderedlist>
+           </listitem>
+         </orderedlist>
+
+       </section>
+
+       <section xml:id="motivation.priority_queue.underlying">
+         <info><title>Underlying Data Structures</title></info>
+
+         <para>
+           There are three main implementations of priority queues: the
+           first employs a binary heap, typically one which uses a
+           sequence; the second uses a tree (or forest of trees), which is
+           typically less structured than an associative container's tree;
+           the third simply uses an associative container. These are
+           shown in the figure below with labels A1 and A2, B, and C.
+         </para>
+
+         <figure>
+           <title>Underlying Priority Queue Data Structures</title>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_different_underlying_dss_2.png"/>
+             </imageobject>
+             <textobject>
+               <phrase>Underlying Priority Queue Data Structures</phrase>
+             </textobject>
+           </mediaobject>
+         </figure>
+
+         <para>
+           No single implementation can completely replace any of the
+           others. Some have better <function>push</function>
+           and <function>pop</function> amortized performance, some have
+           better bounded (worst case) response time than others, some
+           optimize a single method at the expense of others, etc. In
+           general the "best" implementation is dictated by the specific
+           problem.
+         </para>
+
+         <para>
+           As with associative containers, the more implementations
+           co-exist, the more necessary a traits mechanism is for handling
+           generic containers safely and efficiently. This is especially
+           important for priority queues, since the invalidation guarantees
+           of one of the most useful data structures - binary heaps - is
+           markedly different than those of most of the others.
+         </para>
+
+       </section>
+
+       <section xml:id="motivation.priority_queue.binary_heap">
+         <info><title>Binary Heaps</title></info>
+
+
+         <para>
+           Binary heaps are one of the most useful underlying
+           data structures for priority queues. They are very efficient in
+           terms of memory (since they don't require per-value structure
+           metadata), and have the best amortized <function>push</function> and
+           <function>pop</function> performance for primitive types like
+           <type>int</type>.
+         </para>
+
+         <para>
+           The standard library's <classname>priority_queue</classname>
+           implements this data structure as an adapter over a sequence,
+           typically
+           <classname>std::vector</classname>
+           or <classname>std::deque</classname>, which correspond to labels
+           A1 and A2 respectively in the graphic above.
+         </para>
+
+         <para>
+           This is indeed an elegant example of the adapter concept and
+           the algorithm/container/iterator decomposition. (See <xref linkend="biblio.nelson96stlpq"/>). There are
+           several reasons why a binary-heap priority queue
+           may be better implemented as a container instead of a
+           sequence adapter:
+         </para>
+
+         <orderedlist>
+           <listitem>
+             <para>
+               <classname>std::priority_queue</classname> cannot erase values
+               from its adapted sequence (irrespective of the sequence
+               type). This means that the memory use of
+               an <classname>std::priority_queue</classname> object is always
+               proportional to the maximal number of values it ever contained,
+               and not to the number of values that it currently
+               contains. (See <filename>performance/priority_queue_text_pop_mem_usage.cc</filename>.)
+               This implementation of binary heaps acts very differently than
+               other underlying data structures (See also pairing heaps).
+             </para>
+           </listitem>
+
+           <listitem>
+             <para>
+               Some combinations of adapted sequences and value types
+               are very inefficient or just don't make sense. If one uses
+               <classname>std::priority_queue&lt;std::vector&lt;std::string&gt;
+               &gt; &gt;</classname>, for example, then not only will each
+               operation perform a logarithmic number of
+               <classname>std::string</classname> assignments, but, furthermore, any
+               operation (including <function>pop</function>) can render the container
+               useless due to exceptions. Conversely, if one uses
+               <classname>std::priority_queue&lt;std::deque&lt;int&gt; &gt;
+               &gt;</classname>, then each operation uses incurs a logarithmic
+               number of indirect accesses (through pointers) unnecessarily.
+               It might be better to let the container make a conservative
+               deduction whether to use the structure in the graphic above, labels A1 or A2.
+             </para>
+           </listitem>
+
+           <listitem>
+             <para>
+               There does not seem to be a systematic way to determine
+               what exactly can be done with the priority queue.
+             </para>
+             <orderedlist>
+               <listitem>
+                 <para>
+                   If <classname>p</classname> is a priority queue adapting an
+                   <classname>std::vector</classname>, then it is possible to iterate over
+                   all values by using <function>&amp;p.top()</function> and
+                   <function>&amp;p.top() + p.size()</function>, but this will not work
+                   if <varname>p</varname> is adapting an <classname>std::deque</classname>; in any
+                   case, one cannot use <classname>p.begin()</classname> and
+                   <classname>p.end()</classname>. If a different sequence is adapted, it
+                   is even more difficult to determine what can be
+                   done.
+                 </para>
+               </listitem>
+
+               <listitem>
+                 <para>
+                   If <varname>p</varname> is a priority queue adapting an
+                   <classname>std::deque</classname>, then the reference return by
+                 </para>
+                 <programlisting>
+                   p.top()
+                 </programlisting>
+                 <para>
+                   will remain valid until it is popped,
+                   but if <varname>p</varname> adapts an <classname>std::vector</classname>, the
+                   next <function>push</function> will invalidate it. If a different
+                   sequence is adapted, it is even more difficult to
+                   determine what can be done.
+                 </para>
+               </listitem>
+             </orderedlist>
+           </listitem>
+
+           <listitem>
+             <para>
+               Sequence-based binary heaps can still implement
+               linear-time <function>erase</function> and <function>modify</function> operations.
+               This means that if one needs to erase a small
+               (say logarithmic) number of values, then one might still
+               choose this underlying data structure. Using
+               <classname>std::priority_queue</classname>, however, this will generally
+               change the order of growth of the entire sequence of
+               operations.
+             </para>
+           </listitem>
+         </orderedlist>
+
+       </section>
+      </section>
+    </section> <!-- goals/motivation -->
+  </section> <!-- intro -->
+
+  <!-- S02: Using -->
+  <section xml:id="containers.pbds.using">
+    <info><title>Using</title></info>
+    <?dbhtml filename="policy_data_structures_using.html"?>
+
+    <section xml:id="pbds.using.prereq">
+      <info><title>Prerequisites</title></info>
+
+      <para>The library contains only header files, and does not require any
+      other libraries except the standard C++ library . All classes are
+      defined in namespace <code>__gnu_pbds</code>. The library internally
+      uses macros beginning with <code>PB_DS</code>, but
+      <code>#undef</code>s anything it <code>#define</code>s (except for
+      header guards). Compiling the library in an environment where macros
+      beginning in <code>PB_DS</code> are defined, may yield unpredictable
+      results in compilation, execution, or both.</para>
+
+      <para>
+       Further dependencies are necessary to create the visual output for the
+       performance tests. To create these graphs, two additional packages
+       will be needed: <command>pychart</command> and <command>Beautiful
+       Soup</command>.
+      </para>
+    </section>
+
+    <section xml:id="pbds.using.organization">
+      <info><title>Organization</title></info>
+
+      <para>
+       The various data structures are organized as follows.
+      </para>
+
+      <itemizedlist>
+       <listitem>
+         <para>
+           Branch-Based
+         </para>
+
+         <itemizedlist>
+           <listitem>
+             <para>
+               <classname>basic_branch</classname>
+               is an abstract base class for branched-based
+               associative-containers
+             </para>
+           </listitem>
+
+           <listitem>
+             <para>
+               <classname>tree</classname>
+               is a concrete base class for tree-based
+               associative-containers
+             </para>
+           </listitem>
+
+           <listitem>
+             <para>
+               <classname>trie</classname>
+               is a concrete base class trie-based
+               associative-containers
+             </para>
+           </listitem>
+         </itemizedlist>
+       </listitem>
+
+       <listitem>
+         <para>
+           Hash-Based
+         </para>
+         <itemizedlist>
+           <listitem>
+             <para>
+               <classname>basic_hash_table</classname>
+               is an abstract base class for hash-based
+               associative-containers
+             </para>
+           </listitem>
+
+           <listitem>
+             <para>
+               <classname>cc_hash_table</classname>
+               is a concrete collision-chaining hash-based
+               associative-containers
+             </para>
+           </listitem>
+
+           <listitem>
+             <para>
+               <classname>gp_hash_table</classname>
+               is a concrete (general) probing hash-based
+               associative-containers
+             </para>
+           </listitem>
+         </itemizedlist>
+       </listitem>
+
+       <listitem>
+         <para>
+           List-Based
+         </para>
+         <itemizedlist>
+           <listitem>
+             <para>
+               <classname>list_update</classname>
+               list-based update-policy associative container
+             </para>
+           </listitem>
+         </itemizedlist>
+       </listitem>
+       <listitem>
+         <para>
+           Heap-Based
+         </para>
+         <itemizedlist>
+           <listitem>
+             <para>
+               <classname>priority_queue</classname>
+               A priority queue.
+             </para>
+           </listitem>
+         </itemizedlist>
+       </listitem>
+      </itemizedlist>
+
+      <para>
+       The hierarchy is composed naturally so that commonality is
+       captured by base classes. Thus <function>operator[]</function>
+       is defined at the base of any hierarchy, since all derived
+       containers support it. Conversely <function>split</function> is
+       defined in <classname>basic_branch</classname>, since only
+       tree-like containers support it.
+      </para>
+
+      <para>
+       In addition, there are the following diagnostics classes,
+       used to report errors specific to this library's data
+       structures.
+      </para>
+
+      <figure>
+       <title>Exception Hierarchy</title>
+       <mediaobject>
+         <imageobject>
+           <imagedata align="center" format="PNG" scale="100"
+                      fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_exception_hierarchy.png"/>
+         </imageobject>
+         <imageobject>
+           <imagedata align="center" format="PDF" scale="50"
+                      fileref="../images/pbds_exception_hierarchy.pdf"/>
+         </imageobject>
+         <textobject>
+           <phrase>Exception Hierarchy</phrase>
+         </textobject>
+       </mediaobject>
+      </figure>
+
+    </section>
+
+    <section xml:id="pbds.using.tutorial">
+      <info><title>Tutorial</title></info>
+
+      <section xml:id="pbds.using.tutorial.basic">
+       <info><title>Basic Use</title></info>
+
+       <para>
+         For the most part, the policy-based containers containers in
+         namespace <literal>__gnu_pbds</literal> have the same interface as
+         the equivalent containers in the standard C++ library, except for
+         the names used for the container classes themselves. For example,
+         this shows basic operations on a collision-chaining hash-based
+         container:
+       </para>
+       <programlisting>
+         #include &lt;ext/pb_ds/assoc_container.h&gt;
+
+         int main()
+         {
+         __gnu_pbds::cc_hash_table&lt;int, char&gt; c;
+         c[2] = 'b';
+         assert(c.find(1) == c.end());
+         };
+       </programlisting>
+
+       <para>
+         The container is called
+         <classname>__gnu_pbds::cc_hash_table</classname> instead of
+         <classname>std::unordered_map</classname>, since <quote>unordered
+         map</quote> does not necessarily mean a hash-based map as implied by
+         the C++ library (C++0x or TR1). For example, list-based associative
+         containers, which are very useful for the construction of
+         "multimaps," are also unordered.
+       </para>
+
+       <para>This snippet shows a red-black tree based container:</para>
+
+       <programlisting>
+         #include &lt;ext/pb_ds/assoc_container.h&gt;
+
+         int main()
+         {
+         __gnu_pbds::tree&lt;int, char&gt; c;
+         c[2] = 'b';
+         assert(c.find(2) != c.end());
+         };
+       </programlisting>
+
+       <para>The container is called <classname>tree</classname> instead of
+       <classname>map</classname> since the underlying data structures are
+       being named with specificity.
+       </para>
+
+       <para>
+         The member function naming convention is to strive to be the same as
+         the equivalent member functions in other C++ standard library
+         containers. The familiar methods are unchanged:
+         <function>begin</function>, <function>end</function>,
+         <function>size</function>, <function>empty</function>, and
+         <function>clear</function>.
+       </para>
+
+       <para>
+         This isn't to say that things are exactly as one would expect, given
+         the container requirments and interfaces in the C++ standard.
+       </para>
+
+       <para>
+         The names of containers' policies and policy accessors are
+         different then the usual. For example, if <type>hash_type</type> is
+       some type of hash-based container, then</para>
+
+       <programlisting>
+         hash_type::hash_fn
+       </programlisting>
+
+       <para>
+         gives the type of its hash functor, and if <varname>obj</varname> is
+         some hash-based container object, then
+       </para>
+
+       <programlisting>
+         obj.get_hash_fn()
+       </programlisting>
+
+       <para>will return a reference to its hash-functor object.</para>
+
+
+       <para>
+         Similarly, if <type>tree_type</type> is some type of tree-based
+         container, then
+       </para>
+
+       <programlisting>
+         tree_type::cmp_fn
+       </programlisting>
+
+       <para>
+         gives the type of its comparison functor, and if
+         <varname>obj</varname> is some tree-based container object,
+         then
+       </para>
+
+       <programlisting>
+         obj.get_cmp_fn()
+       </programlisting>
+
+       <para>will return a reference to its comparison-functor object.</para>
+
+       <para>
+         It would be nice to give names consistent with those in the existing
+         C++ standard (inclusive of TR1). Unfortunately, these standard
+         containers don't consistently name types and methods. For example,
+         <classname>std::tr1::unordered_map</classname> uses
+         <type>hasher</type> for the hash functor, but
+         <classname>std::map</classname> uses <type>key_compare</type> for
+         the comparison functor. Also, we could not find an accessor for
+         <classname>std::tr1::unordered_map</classname>'s hash functor, but
+         <classname>std::map</classname> uses <classname>compare</classname>
+         for accessing the comparison functor.
+       </para>
+
+       <para>
+         Instead, <literal>__gnu_pbds</literal> attempts to be internally
+         consistent, and uses standard-derived terminology if possible.
+       </para>
+
+       <para>
+         Another source of difference is in scope:
+         <literal>__gnu_pbds</literal> contains more types of associative
+         containers than the standard C++ library, and more opportunities
+         to configure these new containers, since different types of
+         associative containers are useful in different settings.
+       </para>
+
+       <para>
+         Namespace <literal>__gnu_pbds</literal> contains different classes for
+         hash-based containers, tree-based containers, trie-based containers,
+         and list-based containers.
+       </para>
+
+       <para>
+         Since associative containers share parts of their interface, they
+         are organized as a class hierarchy.
+       </para>
+
+       <para>Each type or method is defined in the most-common ancestor
+       in which it makes sense.
+       </para>
+
+       <para>For example, all associative containers support iteration
+       expressed in the following form:
+       </para>
+
+       <programlisting>
+         const_iterator
+         begin() const;
+
+         iterator
+         begin();
+
+         const_iterator
+         end() const;
+
+         iterator
+         end();
+       </programlisting>
+
+       <para>
+         But not all containers contain or use hash functors. Yet, both
+         collision-chaining and (general) probing hash-based associative
+         containers have a hash functor, so
+         <classname>basic_hash_table</classname> contains the interface:
+       </para>
+
+       <programlisting>
+         const hash_fn&amp;
+         get_hash_fn() const;
+
+         hash_fn&amp;
+         get_hash_fn();
+       </programlisting>
+
+       <para>
+         so all hash-based associative containers inherit the same
+         hash-functor accessor methods.
+       </para>
+
+      </section> <!--basic use -->
+
+      <section xml:id="pbds.using.tutorial.configuring">
+       <info>
+         <title>
+           Configuring via Template Parameters
+         </title>
+       </info>
+
+       <para>
+         In general, each of this library's containers is
+         parametrized by more policies than those of the standard library. For
+         example, the standard hash-based container is parametrized as
+         follows:
+       </para>
+       <programlisting>
+         template&lt;typename Key, typename Mapped, typename Hash,
+         typename Pred, typename Allocator, bool Cache_Hashe_Code&gt;
+         class unordered_map;
+       </programlisting>
+
+       <para>
+         and so can be configured by key type, mapped type, a functor
+         that translates keys to unsigned integral types, an equivalence
+         predicate, an allocator, and an indicator whether to store hash
+         values with each entry. this library's collision-chaining
+         hash-based container is parametrized as
+       </para>
+       <programlisting>
+         template&lt;typename Key, typename Mapped, typename Hash_Fn,
+         typename Eq_Fn, typename Comb_Hash_Fn,
+         typename Resize_Policy, bool Store_Hash
+         typename Allocator&gt;
+         class cc_hash_table;
+       </programlisting>
+
+       <para>
+         and so can be configured by the first four types of
+         <classname>std::tr1::unordered_map</classname>, then a
+         policy for translating the key-hash result into a position
+         within the table, then a policy by which the table resizes,
+         an indicator whether to store hash values with each entry,
+         and an allocator (which is typically the last template
+         parameter in standard containers).
+       </para>
+
+       <para>
+         Nearly all policy parameters have default values, so this
+         need not be considered for casual use. It is important to
+         note, however, that hash-based containers' policies can
+         dramatically alter their performance in different settings,
+         and that tree-based containers' policies can make them
+         useful for other purposes than just look-up.
+       </para>
+
+
+       <para>As opposed to associative containers, priority queues have
+       relatively few configuration options. The priority queue is
+       parametrized as follows:</para>
+       <programlisting>
+         template&lt;typename Value_Type, typename Cmp_Fn,typename Tag,
+         typename Allocator&gt;
+         class priority_queue;
+       </programlisting>
+
+       <para>The <classname>Value_Type</classname>, <classname>Cmp_Fn</classname>, and
+       <classname>Allocator</classname> parameters are the container's value type,
+       comparison-functor type, and allocator type, respectively;
+       these are very similar to the standard's priority queue. The
+       <classname>Tag</classname> parameter is different: there are a number of
+       pre-defined tag types corresponding to binary heaps, binomial
+       heaps, etc., and <classname>Tag</classname> should be instantiated
+       by one of them.</para>
+
+       <para>Note that as opposed to the
+       <classname>std::priority_queue</classname>,
+       <classname>__gnu_pbds::priority_queue</classname> is not a
+       sequence-adapter; it is a regular container.</para>
+
+      </section>
+
+      <section xml:id="pbds.using.tutorial.traits">
+       <info>
+         <title>
+           Querying Container Attributes
+         </title>
+       </info>
+       <para></para>
+
+       <para>A containers underlying data structure
+       affect their performance; Unfortunately, they can also affect
+       their interface. When manipulating generically associative
+       containers, it is often useful to be able to statically
+       determine what they can support and what the cannot.
+       </para>
+
+       <para>Happily, the standard provides a good solution to a similar
+       problem - that of the different behavior of iterators. If
+       <classname>It</classname> is an iterator, then
+       </para>
+       <programlisting>
+         typename std::iterator_traits&lt;It&gt;::iterator_category
+       </programlisting>
+
+       <para>is one of a small number of pre-defined tag classes, and
+       </para>
+       <programlisting>
+         typename std::iterator_traits&lt;It&gt;::value_type
+       </programlisting>
+
+       <para>is the value type to which the iterator "points".</para>
+
+       <para>
+         Similarly, in this library, if <type>C</type> is a
+         container, then <classname>container_traits</classname> is a
+         trait class that stores information about the kind of
+         container that is implemented.
+       </para>
+       <programlisting>
+         typename container_traits&lt;C&gt;::container_category
+       </programlisting>
+       <para>
+         is one of a small number of predefined tag structures that
+         uniquely identifies the type of underlying data structure.
+       </para>
+
+       <para>In most cases, however, the exact underlying data
+       structure is not really important, but what is important is
+       one of its other attributes: whether it guarantees storing
+       elements by key order, for example. For this one can
+       use</para>
+       <programlisting>
+         typename container_traits&lt;C&gt;::order_preserving
+       </programlisting>
+       <para>
+         Also,
+       </para>
+       <programlisting>
+         typename container_traits&lt;C&gt;::invalidation_guarantee
+       </programlisting>
+
+       <para>is the container's invalidation guarantee. Invalidation
+       guarantees are especially important regarding priority queues,
+       since in this library's design, iterators are practically the
+       only way to manipulate them.</para>
+      </section>
+
+      <section xml:id="pbds.using.tutorial.point_range_iteration">
+       <info>
+         <title>
+           Point and Range Iteration
+         </title>
+       </info>
+       <para></para>
+
+       <para>This library differentiates between two types of methods
+       and iterators: point-type, and range-type. For example,
+       <function>find</function> and <function>insert</function> are point-type methods, since
+       they each deal with a specific element; their returned
+       iterators are point-type iterators. <function>begin</function> and
+       <function>end</function> are range-type methods, since they are not used to
+       find a specific element, but rather to go over all elements in
+       a container object; their returned iterators are range-type
+       iterators.
+       </para>
+
+       <para>Most containers store elements in an order that is
+       determined by their interface. Correspondingly, it is fine that
+       their point-type iterators are synonymous with their range-type
+       iterators. For example, in the following snippet
+       </para>
+       <programlisting>
+         std::for_each(c.find(1), c.find(5), foo);
+       </programlisting>
+       <para>
+         two point-type iterators (returned by <function>find</function>) are used
+         for a range-type purpose - going over all elements whose key is
+         between 1 and 5.
+       </para>
+
+       <para>
+         Conversely, the above snippet makes no sense for
+         self-organizing containers - ones that order (and reorder)
+         their elements by implementation. It would be nice to have a
+         uniform iterator system that would allow the above snippet to
+         compile only if it made sense.
+       </para>
+
+       <para>
+         This could trivially be done by specializing
+         <function>std::for_each</function> for the case of iterators returned by
+         <classname>std::tr1::unordered_map</classname>, but this would only solve the
+         problem for one algorithm and one container. Fundamentally, the
+         problem is that one can loop using a self-organizing
+         container's point-type iterators.
+       </para>
+
+       <para>
+         This library's containers define two families of
+         iterators: <type>point_const_iterator</type> and
+         <type>point_iterator</type> are the iterator types returned by
+         point-type methods; <type>const_iterator</type> and
+         <type>iterator</type> are the iterator types returned by range-type
+         methods.
+       </para>
+       <programlisting>
+         class &lt;- some container -&gt;
+         {
+         public:
+         ...
+
+         typedef &lt;- something -&gt; const_iterator;
+
+         typedef &lt;- something -&gt; iterator;
+
+         typedef &lt;- something -&gt; point_const_iterator;
+
+         typedef &lt;- something -&gt; point_iterator;
+
+         ...
+
+         public:
+         ...
+
+         const_iterator begin () const;
+
+         iterator begin();
+
+         point_const_iterator find(...) const;
+
+         point_iterator find(...);
+         };
+       </programlisting>
+
+       <para>For
+       containers whose interface defines sequence order , it
+       is very simple: point-type and range-type iterators are exactly
+       the same, which means that the above snippet will compile if it
+       is used for an order-preserving associative container.
+       </para>
+
+       <para>
+         For self-organizing containers, however, (hash-based
+         containers as a special example), the preceding snippet will
+         not compile, because their point-type iterators do not support
+         <function>operator++</function>.
+       </para>
+
+       <para>In any case, both for order-preserving and self-organizing
+       containers, the following snippet will compile:
+       </para>
+       <programlisting>
+         typename Cntnr::point_iterator it = c.find(2);
+       </programlisting>
+
+       <para>
+         because a range-type iterator can always be converted to a
+         point-type iterator.
+       </para>
+
+       <para>Distingushing between iterator types also
+       raises the point that a container's iterators might have
+       different invalidation rules concerning their de-referencing
+       abilities and movement abilities. This now corresponds exactly
+       to the question of whether point-type and range-type iterators
+       are valid. As explained above, <classname>container_traits</classname> allows
+       querying a container for its data structure attributes. The
+       iterator-invalidation guarantees are certainly a property of
+       the underlying data structure, and so
+       </para>
+       <programlisting>
+         container_traits&lt;C&gt;::invalidation_guarantee
+       </programlisting>
+
+       <para>
+         gives one of three pre-determined types that answer this
+         query.
+       </para>
+
+      </section>
+    </section> <!-- tutorial -->
+
+    <section xml:id="pbds.using.examples">
+      <info><title>Examples</title></info>
+      <para>
+       Additional code examples are provided in the source
+       distribution, as part of the regression and performance
+       testsuite.
+      </para>
+
+      <section xml:id="pbds.using.examples.basic">
+       <info><title>Intermediate Use</title></info>
+
+       <itemizedlist>
+         <listitem>
+           <para>
+             Basic use of maps:
+             <filename>basic_map.cc</filename>
+           </para>
+         </listitem>
+
+         <listitem>
+           <para>
+             Basic use of sets:
+             <filename>basic_set.cc</filename>
+           </para>
+         </listitem>
+
+         <listitem>
+           <para>
+             Conditionally erasing values from an associative container object:
+             <filename>erase_if.cc</filename>
+           </para>
+         </listitem>
+
+         <listitem>
+           <para>
+             Basic use of multimaps:
+             <filename>basic_multimap.cc</filename>
+           </para>
+         </listitem>
+
+         <listitem>
+           <para>
+             Basic use of multisets:
+             <filename>basic_multiset.cc</filename>
+           </para>
+         </listitem>
+
+         <listitem>
+           <para>
+             Basic use of priority queues:
+             <filename>basic_priority_queue.cc</filename>
+           </para>
+         </listitem>
+
+         <listitem>
+           <para>
+             Splitting and joining priority queues:
+             <filename>priority_queue_split_join.cc</filename>
+           </para>
+         </listitem>
+
+         <listitem>
+           <para>
+             Conditionally erasing values from a priority queue:
+             <filename>priority_queue_erase_if.cc</filename>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </section>
+
+      <section xml:id="pbds.using.examples.query">
+       <info><title>Querying with <classname>container_traits</classname> </title></info>
+       <itemizedlist>
+         <listitem>
+           <para>
+             Using <classname>container_traits</classname> to query
+             about underlying data structure behavior:
+             <filename>assoc_container_traits.cc</filename>
+           </para>
+         </listitem>
+
+         <listitem>
+           <para>
+             A non-compiling example showing wrong use of finding keys in
+             hash-based containers: <filename>hash_find_neg.cc</filename>
+           </para>
+         </listitem>
+         <listitem>
+           <para>
+             Using <classname>container_traits</classname>
+             to query about underlying data structure behavior:
+             <filename>priority_queue_container_traits.cc</filename>
+           </para>
+         </listitem>
+
+       </itemizedlist>
+
+      </section>
+
+      <section xml:id="pbds.using.examples.container">
+       <info><title>By Container Method</title></info>
+       <para></para>
+
+       <section xml:id="pbds.using.examples.container.hash">
+         <info><title>Hash-Based</title></info>
+
+         <section xml:id="pbds.using.examples.container.hash.resize">
+           <info><title>size Related</title></info>
+
+           <itemizedlist>
+             <listitem>
+               <para>
+                 Setting the initial size of a hash-based container
+                 object:
+                 <filename>hash_initial_size.cc</filename>
+               </para>
+             </listitem>
+
+             <listitem>
+               <para>
+                 A non-compiling example showing how not to resize a
+                 hash-based container object:
+                 <filename>hash_resize_neg.cc</filename>
+               </para>
+             </listitem>
+
+             <listitem>
+               <para>
+                 Resizing the size of a hash-based container object:
+                 <filename>hash_resize.cc</filename>
+               </para>
+             </listitem>
+
+             <listitem>
+               <para>
+                 Showing an illegal resize of a hash-based container
+                 object:
+                 <filename>hash_illegal_resize.cc</filename>
+               </para>
+             </listitem>
+
+             <listitem>
+               <para>
+                 Changing the load factors of a hash-based container
+                 object: <filename>hash_load_set_change.cc</filename>
+               </para>
+             </listitem>
+           </itemizedlist>
+         </section>
+
+         <section xml:id="pbds.using.examples.container.hash.hashor">
+           <info><title>Hashing Function Related</title></info>
+           <para></para>
+
+           <itemizedlist>
+             <listitem>
+               <para>
+                 Using a modulo range-hashing function for the case of an
+                 unknown skewed key distribution:
+                 <filename>hash_mod.cc</filename>
+               </para>
+             </listitem>
+
+             <listitem>
+               <para>
+                 Writing a range-hashing functor for the case of a known
+                 skewed key distribution:
+                 <filename>shift_mask.cc</filename>
+               </para>
+             </listitem>
+
+             <listitem>
+               <para>
+                 Storing the hash value along with each key:
+                 <filename>store_hash.cc</filename>
+               </para>
+             </listitem>
+
+             <listitem>
+               <para>
+                 Writing a ranged-hash functor:
+                 <filename>ranged_hash.cc</filename>
+               </para>
+             </listitem>
+           </itemizedlist>
+
+         </section>
+
+       </section>
+
+       <section xml:id="pbds.using.examples.container.branch">
+         <info><title>Branch-Based</title></info>
+
+
+         <section xml:id="pbds.using.examples.container.branch.split">
+           <info><title>split or join Related</title></info>
+
+           <itemizedlist>
+             <listitem>
+               <para>
+                 Joining two tree-based container objects:
+                 <filename>tree_join.cc</filename>
+               </para>
+             </listitem>
+
+             <listitem>
+               <para>
+                 Splitting a PATRICIA trie container object:
+                 <filename>trie_split.cc</filename>
+               </para>
+             </listitem>
+
+             <listitem>
+               <para>
+                 Order statistics while joining two tree-based container
+                 objects:
+                 <filename>tree_order_statistics_join.cc</filename>
+               </para>
+             </listitem>
+           </itemizedlist>
+
+         </section>
+
+         <section xml:id="pbds.using.examples.container.branch.invariants">
+           <info><title>Node Invariants</title></info>
+
+           <itemizedlist>
+             <listitem>
+               <para>
+                 Using trees for order statistics:
+                 <filename>tree_order_statistics.cc</filename>
+               </para>
+             </listitem>
+
+             <listitem>
+               <para>
+                 Augmenting trees to support operations on line
+                 intervals:
+                 <filename>tree_intervals.cc</filename>
+               </para>
+             </listitem>
+           </itemizedlist>
+
+         </section>
+
+         <section xml:id="pbds.using.examples.container.branch.trie">
+           <info><title>trie</title></info>
+           <itemizedlist>
+             <listitem>
+               <para>
+                 Using a PATRICIA trie for DNA strings:
+                 <filename>trie_dna.cc</filename>
+               </para>
+             </listitem>
+
+             <listitem>
+               <para>
+                 Using a PATRICIA
+                 trie for finding all entries whose key matches a given prefix:
+                 <filename>trie_prefix_search.cc</filename>
+               </para>
+             </listitem>
+           </itemizedlist>
+
+         </section>
+
+       </section>
+
+       <section xml:id="pbds.using.examples.container.priority_queue">
+         <info><title>Priority Queues</title></info>
+         <itemizedlist>
+           <listitem>
+             <para>
+               Cross referencing an associative container and a priority
+               queue: <filename>priority_queue_xref.cc</filename>
+             </para>
+           </listitem>
+
+           <listitem>
+             <para>
+               Cross referencing a vector and a priority queue using a
+               very simple version of Dijkstra's shortest path
+               algorithm:
+               <filename>priority_queue_dijkstra.cc</filename>
+             </para>
+           </listitem>
+         </itemizedlist>
+
+       </section>
+
+
+      </section>
+
+    </section>
+
+  </section> <!-- using -->
+
+  <!-- S03: Design -->
+
+
+<section xml:id="containers.pbds.design">
+  <info><title>Design</title></info>
+  <?dbhtml filename="policy_data_structures_design.html"?>
+  <para></para>
+
+  <section xml:id="pbds.design.concepts">
+    <info><title>Concepts</title></info>
+
+    <section xml:id="pbds.design.concepts.null_type">
+      <info><title>Null Policy Classes</title></info>
+
+      <para>
+       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.
+      </para>
+
+      <para>
+       In some cases, instantiations are redundant. For example, when the
+       keys are integers, it is possible to use a redundant hash policy,
+       which transforms each key into its value.
+      </para>
+
+      <para>
+       In some other cases, these policies are irrelevant.  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.
+      </para>
+
+      <para>
+       When a policy is either redundant or irrelevant, it can be replaced
+       by <classname>null_type</classname>.
+      </para>
+
+      <para>
+       For example, a <emphasis>set</emphasis> is an associative
+       container with one of its template parameters (the one for the
+       mapped type) replaced with <classname>null_type</classname>. Other
+       places simplifications are made possible with this technique
+       include node updates in tree and trie data structures, and hash
+       and probe functions for hash data structures.
+      </para>
+    </section>
+
+    <section xml:id="pbds.design.concepts.associative_semantics">
+      <info><title>Map and Set Semantics</title></info>
+
+      <section xml:id="concepts.associative_semantics.set_vs_map">
+       <info>
+         <title>
+           Distinguishing Between Maps and Sets
+         </title>
+       </info>
+
+       <para>
+         Anyone familiar with the standard knows that there are four kinds
+         of associative containers: maps, sets, multimaps, and
+         multisets. The map datatype associates each key to
+         some data.
+       </para>
+
+       <para>
+         Sets are associative containers that simply store keys -
+         they do not map them to anything. In the standard, each map class
+         has a corresponding set class. E.g.,
+         <classname>std::map&lt;int, char&gt;</classname> maps each
+         <classname>int</classname> to a <classname>char</classname>, but
+         <classname>std::set&lt;int, char&gt;</classname> simply stores
+         <classname>int</classname>s. In this library, however, there are no
+         distinct classes for maps and sets. Instead, an associative
+         container's <classname>Mapped</classname> template parameter is a policy: if
+         it is instantiated by <classname>null_type</classname>, then it
+         is a "set"; otherwise, it is a "map". E.g.,
+       </para>
+       <programlisting>
+         cc_hash_table&lt;int, char&gt;
+       </programlisting>
+       <para>
+         is a "map" mapping each <type>int</type> value to a <type>
+         char</type>, but
+       </para>
+       <programlisting>
+         cc_hash_table&lt;int, null_type&gt;
+       </programlisting>
+       <para>
+         is a type that uniquely stores <type>int</type> values.
+       </para>
+       <para>Once the <classname>Mapped</classname> template parameter is instantiated
+       by <classname>null_type</classname>, then
+       the "set" acts very similarly to the standard's sets - it does not
+       map each key to a distinct <classname>null_type</classname> object. Also,
+       , the container's <type>value_type</type> is essentially
+       its <type>key_type</type> - just as with the standard's sets
+       .</para>
+
+       <para>
+         The standard's multimaps and multisets allow, respectively,
+         non-uniquely mapping keys and non-uniquely storing keys. As
+         discussed, the
+         reasons why this might be necessary are 1) that a key might be
+         decomposed into a primary key and a secondary key, 2) that a
+         key might appear more than once, or 3) any arbitrary
+         combination of 1)s and 2)s. Correspondingly,
+         one should use 1) "maps" mapping primary keys to secondary
+         keys, 2) "maps" mapping keys to size types, or 3) any arbitrary
+         combination of 1)s and 2)s. Thus, for example, an
+         <classname>std::multiset&lt;int&gt;</classname> might be used to store
+         multiple instances of integers, but using this library's
+         containers, one might use
+       </para>
+       <programlisting>
+         tree&lt;int, size_t&gt;
+       </programlisting>
+
+       <para>
+         i.e., a <classname>map</classname> of <type>int</type>s to
+         <type>size_t</type>s.
+       </para>
+       <para>
+         These "multimaps" and "multisets" might be confusing to
+         anyone familiar with the standard's <classname>std::multimap</classname> and
+         <classname>std::multiset</classname>, because there is no clear
+         correspondence between the two. For example, in some cases
+         where one uses <classname>std::multiset</classname> in the standard, one might use
+         in this library a "multimap" of "multisets" - i.e., a
+         container that maps primary keys each to an associative
+         container that maps each secondary key to the number of times
+         it occurs.
+       </para>
+
+       <para>
+         When one uses a "multimap," one should choose with care the
+         type of container used for secondary keys.
+       </para>
+      </section> <!-- map vs set -->
+
+
+      <section xml:id="concepts.associative_semantics.multi">
+       <info><title>Alternatives to <classname>std::multiset</classname> and <classname>std::multimap</classname></title></info>
+
+       <para>
+         Brace onself: this library does not contain containers like
+         <classname>std::multimap</classname> or
+         <classname>std::multiset</classname>. Instead, these data
+         structures can be synthesized via manipulation of the
+         <classname>Mapped</classname> template parameter.
+       </para>
+       <para>
+         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.
+       </para>
+
+       <para>
+         Stepping back a bit, and starting in from the beginning.
+       </para>
+
+
+       <para>
+         Maps (or sets) allow mapping (or storing) unique-key values.
+         The standard library also supplies associative containers which
+         map (or store) multiple values with equivalent keys:
+         <classname>std::multimap</classname>, <classname>std::multiset</classname>,
+         <classname>std::tr1::unordered_multimap</classname>, and
+         <classname>unordered_multiset</classname>. We first discuss how these might
+         be used, then why we think it is best to avoid them.
+       </para>
+
+       <para>
+         Suppose one builds a simple bank-account application that
+         records for each client (identified by an <classname>std::string</classname>)
+         and account-id (marked by an <type>unsigned long</type>) -
+         the balance in the account (described by a
+         <type>float</type>). Suppose further that ordering this
+         information is not useful, so a hash-based container is
+         preferable to a tree based container. Then one can use
+       </para>
+
+       <programlisting>
+         std::tr1::unordered_map&lt;std::pair&lt;std::string, unsigned long&gt;, float, ...&gt;
+       </programlisting>
+
+       <para>
+         which hashes every combination of client and account-id. This
+         might work well, except for the fact that it is now impossible
+         to efficiently list all of the accounts of a specific client
+         (this would practically require iterating over all
+         entries). Instead, one can use
+       </para>
+
+       <programlisting>
+         std::tr1::unordered_multimap&lt;std::pair&lt;std::string, unsigned long&gt;, float, ...&gt;
+       </programlisting>
+
+       <para>
+         which hashes every client, and decides equivalence based on
+         client only. This will ensure that all accounts belonging to a
+         specific user are stored consecutively.
+       </para>
+
+       <para>
+         Also, suppose one wants an integers' priority queue
+         (a container that supports <function>push</function>,
+         <function>pop</function>, and <function>top</function> operations, the last of which
+         returns the largest <type>int</type>) that also supports
+         operations such as <function>find</function> and <function>lower_bound</function>. A
+         reasonable solution is to build an adapter over
+         <classname>std::set&lt;int&gt;</classname>. In this adapter,
+         <function>push</function> will just call the tree-based
+         associative container's <function>insert</function> method; <function>pop</function>
+         will call its <function>end</function> method, and use it to return the
+         preceding element (which must be the largest). Then this might
+         work well, except that the container object cannot hold
+         multiple instances of the same integer (<function>push(4)</function>,
+         will be a no-op if <constant>4</constant> is already in the
+         container object). If multiple keys are necessary, then one
+         might build the adapter over an
+         <classname>std::multiset&lt;int&gt;</classname>.
+       </para>
+
+       <para>
+         The standard library's non-unique-mapping containers are useful
+         when (1) a key can be decomposed in to a primary key and a
+         secondary key, (2) a key is needed multiple times, or (3) any
+         combination of (1) and (2).
+       </para>
+
+       <para>
+         The graphic below shows how the standard library's container
+         design works internally; in this figure nodes shaded equally
+         represent equivalent-key values. Equivalent keys are stored
+         consecutively using the properties of the underlying data
+         structure: binary search trees (label A) store equivalent-key
+         values consecutively (in the sense of an in-order walk)
+         naturally; collision-chaining hash tables (label B) store
+         equivalent-key values in the same bucket, the bucket can be
+         arranged so that equivalent-key values are consecutive.
+       </para>
+
+       <figure>
+         <title>Non-unique Mapping Standard Containers</title>
+         <mediaobject>
+           <imageobject>
+             <imagedata align="center" format="PNG" scale="100"
+                        fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_embedded_lists_1.png"/>
+           </imageobject>
+           <textobject>
+             <phrase>Non-unique Mapping Standard Containers</phrase>
+           </textobject>
+         </mediaobject>
+       </figure>
+
+       <para>
+         Put differently, the standards' non-unique mapping
+         associative-containers are associative containers that map
+         primary keys to linked lists that are embedded into the
+         container. The graphic below shows again the two
+         containers from the first graphic above, this time with
+         the embedded linked lists of the grayed nodes marked
+         explicitly.
+       </para>
+
+       <figure xml:id="fig.pbds_embedded_lists_2">
+         <title>
+           Effect of embedded lists in
+           <classname>std::multimap</classname>
+         </title>
+         <mediaobject>
+           <imageobject>
+             <imagedata align="center" format="PNG" scale="100"
+                        fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_embedded_lists_2.png"/>
+           </imageobject>
+           <textobject>
+             <phrase>
+               Effect of embedded lists in
+               <classname>std::multimap</classname>
+             </phrase>
+           </textobject>
+         </mediaobject>
+       </figure>
+
+       <para>
+         These embedded linked lists have several disadvantages.
+       </para>
+
+       <orderedlist>
+         <listitem>
+           <para>
+             The underlying data structure embeds the linked lists
+             according to its own consideration, which means that the
+             search path for a value might include several different
+             equivalent-key values. For example, the search path for the
+             the black node in either of the first graphic, labels A or B,
+             includes more than a single gray node.
+           </para>
+         </listitem>
+
+         <listitem>
+           <para>
+             The links of the linked lists are the underlying data
+             structures' nodes, which typically are quite structured.  In
+             the case of tree-based containers (the grapic above, label
+             B), each "link" is actually a node with three pointers (one
+             to a parent and two to children), and a
+             relatively-complicated iteration algorithm. The linked
+             lists, therefore, can take up quite a lot of memory, and
+             iterating over all values equal to a given key (through the
+             return value of the standard
+             library's <function>equal_range</function>) can be
+             expensive.
+           </para>
+         </listitem>
+
+         <listitem>
+           <para>
+             The primary key is stored multiply; this uses more memory.
+           </para>
+         </listitem>
+
+         <listitem>
+           <para>
+             Finally, the interface of this design excludes several
+             useful underlying data structures. Of all the unordered
+             self-organizing data structures, practically only
+             collision-chaining hash tables can (efficiently) guarantee
+             that equivalent-key values are stored consecutively.
+           </para>
+         </listitem>
+       </orderedlist>
+
+       <para>
+         The above reasons hold even when the ratio of secondary keys to
+         primary keys (or average number of identical keys) is small, but
+         when it is large, there are more severe problems:
+       </para>
+
+       <orderedlist>
+         <listitem>
+           <para>
+             The underlying data structures order the links inside each
+             embedded linked-lists according to their internal
+             considerations, which effectively means that each of the
+             links is unordered. Irrespective of the underlying data
+             structure, searching for a specific value can degrade to
+             linear complexity.
+           </para>
+         </listitem>
+
+         <listitem>
+           <para>
+             Similarly to the above point, it is impossible to apply
+             to the secondary keys considerations that apply to primary
+             keys. For example, it is not possible to maintain secondary
+             keys by sorted order.
+           </para>
+         </listitem>
+
+         <listitem>
+           <para>
+             While the interface "understands" that all equivalent-key
+             values constitute a distinct list (through
+             <function>equal_range</function>), the underlying data
+             structure typically does not. This means that operations such
+             as erasing from a tree-based container all values whose keys
+             are equivalent to a a given key can be super-linear in the
+             size of the tree; this is also true also for several other
+             operations that target a specific list.
+           </para>
+         </listitem>
+
+       </orderedlist>
+
+       <para>
+         In this library, all associative containers map
+         (or store) unique-key values. One can (1) map primary keys to
+         secondary associative-containers (containers of
+         secondary keys) or non-associative containers (2) map identical
+         keys to a size-type representing the number of times they
+         occur, or (3) any combination of (1) and (2). Instead of
+         allowing multiple equivalent-key values, this library
+         supplies associative containers based on underlying
+         data structures that are suitable as secondary
+         associative-containers.
+       </para>
+
+       <para>
+         In the figure below, labels A and B show the equivalent
+         underlying data structures in this library, as mapped to the
+         first graphic above. Labels A and B, respectively. Each shaded
+         box represents some size-type or secondary
+         associative-container.
+       </para>
+
+       <figure>
+         <title>Non-unique Mapping Containers</title>
+         <mediaobject>
+           <imageobject>
+             <imagedata align="center" format="PNG" scale="100"
+                        fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_embedded_lists_3.png"/>
+           </imageobject>
+           <textobject>
+             <phrase>Non-unique Mapping Containers</phrase>
+           </textobject>
+         </mediaobject>
+       </figure>
+
+       <para>
+         In the first example above, then, one would use an associative
+         container mapping each user to an associative container which
+         maps each application id to a start time (see
+         <filename>example/basic_multimap.cc</filename>); in the second
+         example, one would use an associative container mapping
+         each <classname>int</classname> to some size-type indicating the
+         number of times it logically occurs
+         (see <filename>example/basic_multiset.cc</filename>.
+       </para>
+
+       <para>
+         See the discussion in list-based container types for containers
+         especially suited as secondary associative-containers.
+       </para>
+      </section>
+
+    </section> <!-- map and set semantics -->
+
+    <section xml:id="pbds.design.concepts.iterator_semantics">
+      <info><title>Iterator Semantics</title></info>
+
+      <section xml:id="concepts.iterator_semantics.point_and_range">
+       <info><title>Point and Range Iterators</title></info>
+
+       <para>
+         Iterator concepts are bifurcated in this design, and are
+         comprised of point-type and range-type iteration.
+       </para>
+
+       <para>
+         A point-type iterator is an iterator that refers to a specific
+         element as returned through an
+         associative-container's <function>find</function> method.
+       </para>
+
+       <para>
+         A range-type iterator is an iterator that is used to go over a
+         sequence of elements, as returned by a container's
+         <function>find</function> method.
+       </para>
+
+       <para>
+         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.
+       </para>
+
+       <para>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 C++ standard library
+       components), but in this design, it is made explicit. They are
+       distinct types.
+       </para>
+      </section>
+
+
+      <section xml:id="concepts.iterator_semantics.both">
+       <info><title>Distinguishing Point and Range Iterators</title></info>
+
+       <para>When using this library, is necessary to differentiate
+       between two types of methods and iterators: point-type methods and
+       iterators, and range-type methods and iterators. Each associative
+       container's interface includes the methods:</para>
+       <programlisting>
+         point_const_iterator
+         find(const_key_reference r_key) const;
+
+         point_iterator
+         find(const_key_reference r_key);
+
+         std::pair&lt;point_iterator,bool&gt;
+         insert(const_reference r_val);
+       </programlisting>
+
+       <para>The relationship between these iterator types varies between
+       container types. The figure below
+       shows the most general invariant between point-type and
+       range-type iterators: In <emphasis>A</emphasis> <literal>iterator</literal>, can
+       always be converted to <literal>point_iterator</literal>. In <emphasis>B</emphasis>
+       shows invariants for order-preserving containers: point-type
+       iterators are synonymous with range-type iterators.
+       Orthogonally,  <emphasis>C</emphasis>shows invariants for "set"
+       containers: iterators are synonymous with const iterators.</para>
+
+       <figure>
+         <title>Point Iterator Hierarchy</title>
+         <mediaobject>
+           <imageobject>
+             <imagedata align="center" format="PNG" scale="100"
+                        fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_point_iterator_hierarchy.png"/>
+           </imageobject>
+           <textobject>
+             <phrase>Point Iterator Hierarchy</phrase>
+           </textobject>
+         </mediaobject>
+       </figure>
+
+
+       <para>Note that point-type iterators in self-organizing containers
+       (hash-based associative containers) lack movement
+       operators, such as <literal>operator++</literal> - in fact, this
+       is the reason why this library differentiates from the standard C++ librarys
+       design on this point.</para>
+
+       <para>Typically, one can determine an iterator's movement
+       capabilities using
+       <literal>std::iterator_traits&lt;It&gt;iterator_category</literal>,
+       which is a <literal>struct</literal> indicating the iterator's
+       movement capabilities. Unfortunately, none of the standard predefined
+       categories reflect a pointer's <emphasis>not</emphasis> having any
+       movement capabilities whatsoever. Consequently,
+       <literal>pb_ds</literal> adds a type
+       <literal>trivial_iterator_tag</literal> (whose name is taken from
+       a concept in C++ standardese, which is the category of iterators
+       with no movement capabilities.) All other standard C++ library
+       tags, such as <literal>forward_iterator_tag</literal> retain their
+       common use.</para>
+
+      </section>
+
+      <section xml:id="pbds.design.concepts.invalidation">
+       <info><title>Invalidation Guarantees</title></info>
+       <para>
+         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 this design, one can query a container (in compile time) about
+         its invalidation guarantees.
+       </para>
+
+
+       <para>
+         Given three different types of associative containers, a modifying
+         operation (in that example, <function>erase</function>) invalidated
+         iterators in three different ways: the iterator of one container
+         remained completely valid - it could be de-referenced and
+         incremented; the iterator of a different container could not even be
+         de-referenced; the iterator of the third container could be
+         de-referenced, but its "next" iterator changed unpredictably.
+       </para>
+
+       <para>
+         Distinguishing between find and range types allows fine-grained
+         invalidation guarantees, because these questions correspond exactly
+         to the question of whether point-type iterators and range-type
+         iterators are valid. The graphic below shows tags corresponding to
+         different types of invalidation guarantees.
+       </para>
+
+       <figure>
+         <title>Invalidation Guarantee Tags Hierarchy</title>
+         <mediaobject>
+           <imageobject>
+             <imagedata align="center" format="PNG" scale="100"
+                        fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_invalidation_tag_hierarchy.png"/>
+           </imageobject>
+           <imageobject>
+             <imagedata align="center" format="PDF" scale="50"
+                        fileref="../images/pbds_invalidation_tag_hierarchy.pdf"/>
+           </imageobject>
+           <textobject>
+             <phrase>Invalidation Guarantee Tags Hierarchy</phrase>
+           </textobject>
+         </mediaobject>
+       </figure>
+
+       <itemizedlist>
+         <listitem>
+           <para>
+             <classname>basic_invalidation_guarantee</classname>
+             corresponds to a basic guarantee that a point-type iterator,
+             a found pointer, or a found reference, remains valid as long
+             as the container object is not modified.
+           </para>
+         </listitem>
+
+         <listitem>
+           <para>
+             <classname>point_invalidation_guarantee</classname>
+             corresponds to a guarantee that a point-type iterator, a
+             found pointer, or a found reference, remains valid even if
+             the container object is modified.
+           </para>
+         </listitem>
+
+         <listitem>
+           <para>
+             <classname>range_invalidation_guarantee</classname>
+             corresponds to a guarantee that a range-type iterator remains
+             valid even if the container object is modified.
+           </para>
+         </listitem>
+       </itemizedlist>
+
+       <para>To find the invalidation guarantee of a
+       container, one can use</para>
+       <programlisting>
+         typename container_traits&lt;Cntnr&gt;::invalidation_guarantee
+       </programlisting>
+
+       <para>Note that this hierarchy corresponds to the logic it
+       represents: if a container has range-invalidation guarantees,
+       then it must also have find invalidation guarantees;
+       correspondingly, its invalidation guarantee (in this case
+       <classname>range_invalidation_guarantee</classname>)
+       can be cast to its base class (in this case <classname>point_invalidation_guarantee</classname>).
+       This means that this this hierarchy can be used easily using
+       standard metaprogramming techniques, by specializing on the
+       type of <literal>invalidation_guarantee</literal>.</para>
+
+       <para>
+         These types of problems were addressed, in a more general
+         setting, in <xref linkend="biblio.meyers96more"/> - Item 2. In
+         our opinion, an invalidation-guarantee hierarchy would solve
+         these problems in all container types - not just associative
+         containers.
+       </para>
+
+      </section>
+    </section> <!-- iterator semantics -->
+
+    <section xml:id="pbds.design.concepts.genericity">
+      <info><title>Genericity</title></info>
+
+      <para>
+       The design attempts to address the following problem of
+       data-structure genericity. When writing a function manipulating
+       a generic container object, what is the behavior of the object?
+       Suppose one writes
+      </para>
+      <programlisting>
+       template&lt;typename Cntnr&gt;
+       void
+       some_op_sequence(Cntnr &amp;r_container)
+       {
+       ...
+       }
+      </programlisting>
+
+      <para>
+       then one needs to address the following questions in the body
+       of <function>some_op_sequence</function>:
+      </para>
+
+      <itemizedlist>
+       <listitem>
+         <para>
+           Which types and methods does <literal>Cntnr</literal> support?
+           Containers based on hash tables can be queries for the
+           hash-functor type and object; this is meaningless for tree-based
+           containers. Containers based on trees can be split, joined, or
+           can erase iterators and return the following iterator; this
+           cannot be done by hash-based containers.
+         </para>
+       </listitem>
+
+       <listitem>
+         <para>
+           What are the exception and invalidation guarantees
+           of <literal>Cntnr</literal>? A container based on a probing
+           hash-table invalidates all iterators when it is modified; this
+           is not the case for containers based on node-based
+           trees. Containers based on a node-based tree can be split or
+           joined without exceptions; this is not the case for containers
+           based on vector-based trees.
+         </para>
+       </listitem>
+
+       <listitem>
+         <para>
+           How does the container maintain its elements? Tree-based and
+           Trie-based containers store elements by key order; others,
+           typically, do not. A container based on a splay trees or lists
+           with update policies "cache" "frequently accessed" elements;
+           containers based on most other underlying data structures do
+           not.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           How does one query a container about characteristics and
+           capabilities? What is the relationship between two different
+           data structures, if anything?
+         </para>
+       </listitem>
+      </itemizedlist>
+
+      <para>The remainder of this section explains these issues in
+      detail.</para>
+
+
+      <section xml:id="concepts.genericity.tag">
+       <info><title>Tag</title></info>
+       <para>
+         Tags are very useful for manipulating generic types. For example, if
+         <literal>It</literal> is an iterator class, then <literal>typename
+         It::iterator_category</literal> or <literal>typename
+         std::iterator_traits&lt;It&gt;::iterator_category</literal> will
+         yield its category, and <literal>typename
+         std::iterator_traits&lt;It&gt;::value_type</literal> will yield its
+         value type.
+       </para>
+
+       <para>
+         This library contains a container tag hierarchy corresponding to the
+         diagram below.
+       </para>
+
+       <figure>
+         <title>Container Tag Hierarchy</title>
+         <mediaobject>
+           <imageobject>
+             <imagedata align="center" format="PNG" scale="100"
+                        fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_container_tag_hierarchy.png"/>
+           </imageobject>
+           <imageobject>
+             <imagedata align="center" format="PDF" scale="50"
+                        fileref="../images/pbds_container_tag_hierarchy.pdf"/>
+           </imageobject>
+           <textobject>
+             <phrase>Container Tag Hierarchy</phrase>
+           </textobject>
+         </mediaobject>
+       </figure>
+
+       <para>
+         Given any container <type>Cntnr</type>, the tag of
+         the underlying data structure can be found via <literal>typename
+         Cntnr::container_category</literal>.
+       </para>
+
+      </section> <!-- tag -->
+
+      <section xml:id="concepts.genericity.traits">
+       <info><title>Traits</title></info>
+       <para></para>
+
+       <para>Additionally, a traits mechanism can be used to query a
+       container type for its attributes. Given any container
+       <literal>Cntnr</literal>, then <literal>&lt;Cntnr&gt;</literal>
+       is a traits class identifying the properties of the
+       container.</para>
+
+       <para>To find if a container can throw when a key is erased (which
+       is true for vector-based trees, for example), one can
+       use
+       </para>
+       <programlisting>container_traits&lt;Cntnr&gt;::erase_can_throw</programlisting>
+
+       <para>
+         Some of the definitions in <classname>container_traits</classname>
+         are dependent on other
+         definitions. If <classname>container_traits&lt;Cntnr&gt;::order_preserving</classname>
+         is <constant>true</constant> (which is the case for containers
+         based on trees and tries), then the container can be split or
+         joined; in this
+         case, <classname>container_traits&lt;Cntnr&gt;::split_join_can_throw</classname>
+         indicates whether splits or joins can throw exceptions (which is
+         true for vector-based trees);
+         otherwise <classname>container_traits&lt;Cntnr&gt;::split_join_can_throw</classname>
+         will yield a compilation error. (This is somewhat similar to a
+         compile-time version of the COM model).
+       </para>
+
+      </section> <!-- traits -->
+
+    </section> <!-- genericity -->
+  </section> <!-- concepts -->
+
+  <section xml:id="pbds.design.container">
+    <info><title>By Container</title></info>
+
+    <!-- hash -->
+    <section xml:id="pbds.design.container.hash">
+      <info><title>hash</title></info>
+
+      <!--
+
+// hash policies
+/// general terms / background
+/// range hashing policies
+/// ranged-hash policies
+/// implementation
+
+// resize policies
+/// general
+/// size policies
+/// trigger policies
+/// implementation
+
+// policy interactions
+/// probe/size/trigger
+/// hash/trigger
+/// eq/hash/storing hash values
+/// size/load-check trigger
+      -->
+      <section xml:id="container.hash.interface">
+       <info><title>Interface</title></info>
+
+
+
+       <para>
+         The collision-chaining hash-based container has the
+       following declaration.</para>
+       <programlisting>
+         template&lt;
+         typename Key,
+         typename Mapped,
+         typename Hash_Fn = std::hash&lt;Key&gt;,
+         typename Eq_Fn = std::equal_to&lt;Key&gt;,
+         typename Comb_Hash_Fn =  direct_mask_range_hashing&lt;&gt;
+         typename Resize_Policy = default explained below.
+         bool Store_Hash = false,
+         typename Allocator = std::allocator&lt;char&gt; &gt;
+         class cc_hash_table;
+       </programlisting>
+
+       <para>The parameters have the following meaning:</para>
+
+       <orderedlist>
+         <listitem><para><classname>Key</classname> is the key type.</para></listitem>
+
+         <listitem><para><classname>Mapped</classname> is the mapped-policy.</para></listitem>
+
+         <listitem><para><classname>Hash_Fn</classname> is a key hashing functor.</para></listitem>
+
+         <listitem><para><classname>Eq_Fn</classname> is a key equivalence functor.</para></listitem>
+
+         <listitem><para><classname>Comb_Hash_Fn</classname> is a range-hashing_functor;
+         it describes how to translate hash values into positions
+         within the table. </para></listitem>
+
+         <listitem><para><classname>Resize_Policy</classname> describes how a container object
+         should change its internal size. </para></listitem>
+
+         <listitem><para><classname>Store_Hash</classname> indicates whether the hash value
+         should be stored with each entry. </para></listitem>
+
+         <listitem><para><classname>Allocator</classname> is an allocator
+         type.</para></listitem>
+       </orderedlist>
+
+       <para>The probing hash-based container has the following
+       declaration.</para>
+       <programlisting>
+         template&lt;
+         typename Key,
+         typename Mapped,
+         typename Hash_Fn = std::hash&lt;Key&gt;,
+         typename Eq_Fn = std::equal_to&lt;Key&gt;,
+         typename Comb_Probe_Fn = direct_mask_range_hashing&lt;&gt;
+         typename Probe_Fn = default explained below.
+         typename Resize_Policy = default explained below.
+         bool Store_Hash = false,
+         typename Allocator =  std::allocator&lt;char&gt; &gt;
+         class gp_hash_table;
+       </programlisting>
+
+       <para>The parameters are identical to those of the
+       collision-chaining container, except for the following.</para>
+
+       <orderedlist>
+         <listitem><para><classname>Comb_Probe_Fn</classname> describes how to transform a probe
+         sequence into a sequence of positions within the table.</para></listitem>
+
+         <listitem><para><classname>Probe_Fn</classname> describes a probe sequence policy.</para></listitem>
+       </orderedlist>
+
+       <para>Some of the default template values depend on the values of
+       other parameters, and are explained below.</para>
+
+      </section>
+      <section xml:id="container.hash.details">
+       <info><title>Details</title></info>
+
+       <section xml:id="container.hash.details.hash_policies">
+         <info><title>Hash Policies</title></info>
+
+         <section xml:id="details.hash_policies.general">
+           <info><title>General</title></info>
+
+           <para>Following is an explanation of some functions which hashing
+           involves. The graphic below illustrates the discussion.</para>
+
+           <figure>
+             <title>Hash functions, ranged-hash functions, and
+             range-hashing functions</title>
+             <mediaobject>
+               <imageobject>
+                 <imagedata align="center" format="PNG" scale="100"
+                            fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_hash_ranged_hash_range_hashing_fns.png"/>
+               </imageobject>
+               <textobject>
+                 <phrase>Hash functions, ranged-hash functions, and
+                 range-hashing functions</phrase>
+               </textobject>
+             </mediaobject>
+           </figure>
+           
+           <para>Let U be a domain (e.g., the integers, or the
+           strings of 3 characters). A hash-table algorithm needs to map
+           elements of U "uniformly" into the range [0,..., m -
+           1] (where m is a non-negative integral value, and
+           is, in general, time varying). I.e., the algorithm needs
+           a ranged-hash function</para>
+
+           <para>
+             f : U × Z<subscript>+</subscript> → Z<subscript>+</subscript>
+           </para>
+
+           <para>such that for any u in U ,</para>
+
+           <para>0 ≤ f(u, m) ≤ m - 1</para>
+
+           <para>and which has "good uniformity" properties (say
+           <xref linkend="biblio.knuth98sorting"/>.)
+           One
+           common solution is to use the composition of the hash
+           function</para>
+
+           <para>h : U → Z<subscript>+</subscript> ,</para>
+
+           <para>which maps elements of U into the non-negative
+           integrals, and</para>
+
+           <para>g : Z<subscript>+</subscript> × Z<subscript>+</subscript> →
+           Z<subscript>+</subscript>,</para>
+
+           <para>which maps a non-negative hash value, and a non-negative
+           range upper-bound into a non-negative integral in the range
+           between 0 (inclusive) and the range upper bound (exclusive),
+           i.e., for any r in Z<subscript>+</subscript>,</para>
+
+           <para>0 ≤ g(r, m) ≤ m - 1</para>
+
+
+           <para>The resulting ranged-hash function, is</para>
+
+           <!-- ranged_hash_composed_of_hash_and_range_hashing -->
+           <equation>
+             <title>Ranged Hash Function</title>
+             <mathphrase>
+               f(u , m) = g(h(u), m)
+             </mathphrase>
+           </equation>
+
+           <para>From the above, it is obvious that given g and
+           h, f can always be composed (however the converse
+           is not true). The standard's hash-based containers allow specifying
+           a hash function, and use a hard-wired range-hashing function;
+           the ranged-hash function is implicitly composed.</para>
+
+           <para>The above describes the case where a key is to be mapped
+           into a single position within a hash table, e.g.,
+           in a collision-chaining table. In other cases, a key is to be
+           mapped into a sequence of positions within a table,
+           e.g., in a probing table. Similar terms apply in this
+           case: the table requires a ranged probe function,
+           mapping a key into a sequence of positions withing the table.
+           This is typically achieved by composing a hash function
+           mapping the key into a non-negative integral type, a
+           probe function transforming the hash value into a
+           sequence of hash values, and a range-hashing function
+           transforming the sequence of hash values into a sequence of
+           positions.</para>
+
+         </section>
+
+         <section xml:id="details.hash_policies.range">
+           <info><title>Range Hashing</title></info>
+
+           <para>Some common choices for range-hashing functions are the
+           division, multiplication, and middle-square methods (<xref linkend="biblio.knuth98sorting"/>), defined
+           as</para>
+
+           <equation>
+             <title>Range-Hashing, Division Method</title>
+             <mathphrase>
+               g(r, m) = r mod m
+             </mathphrase>
+           </equation>
+
+
+
+           <para>g(r, m) = ⌈ u/v ( a r mod v ) ⌉</para>
+
+           <para>and</para>
+
+           <para>g(r, m) = ⌈ u/v ( r<superscript>2</superscript> mod v ) ⌉</para>
+
+           <para>respectively, for some positive integrals u and
+           v (typically powers of 2), and some a. Each of
+           these range-hashing functions works best for some different
+           setting.</para>
+
+           <para>The division method (see above) is a
+           very common choice. However, even this single method can be
+           implemented in two very different ways. It is possible to
+           implement using the low
+           level % (modulo) operation (for any m), or the
+           low level &amp; (bit-mask) operation (for the case where
+           m is a power of 2), i.e.,</para>
+
+           <equation>
+             <title>Division via Prime Modulo</title>
+             <mathphrase>
+               g(r, m) = r % m
+             </mathphrase>
+           </equation>
+
+           <para>and</para>
+
+           <equation>
+             <title>Division via Bit Mask</title>
+             <mathphrase>
+               g(r, m) = r &amp; m - 1, (with m =
+               2<superscript>k</superscript> for some k)
+             </mathphrase>
+           </equation>
+
+
+           <para>respectively.</para>
+
+           <para>The % (modulo) implementation has the advantage that for
+           m a prime far from a power of 2, g(r, m) is
+           affected by all the bits of r (minimizing the chance of
+           collision). It has the disadvantage of using the costly modulo
+           operation. This method is hard-wired into SGI's implementation
+           .</para>
+
+           <para>The &amp; (bit-mask) implementation has the advantage of
+           relying on the fast bit-wise and operation. It has the
+           disadvantage that for g(r, m) is affected only by the
+           low order bits of r. This method is hard-wired into
+           Dinkumware's implementation.</para>
+
+
+         </section>
+
+         <section xml:id="details.hash_policies.ranged">
+           <info><title>Ranged Hash</title></info>
+
+           <para>In cases it is beneficial to allow the
+           client to directly specify a ranged-hash hash function. It is
+           true, that the writer of the ranged-hash function cannot rely
+           on the values of m having specific numerical properties
+           suitable for hashing (in the sense used in <xref linkend="biblio.knuth98sorting"/>), since
+           the values of m are determined by a resize policy with
+           possibly orthogonal considerations.</para>
+
+           <para>There are two cases where a ranged-hash function can be
+           superior. The firs is when using perfect hashing: the
+           second is when the values of m can be used to estimate
+           the "general" number of distinct values required. This is
+           described in the following.</para>
+
+           <para>Let</para>
+
+           <para>
+             s = [ s<subscript>0</subscript>,..., s<subscript>t - 1</subscript>]
+           </para>
+
+           <para>be a string of t characters, each of which is from
+           domain S. Consider the following ranged-hash
+           function:</para>
+           <equation>
+             <title>
+               A Standard String Hash Function
+             </title>
+             <mathphrase>
+               f<subscript>1</subscript>(s, m) = ∑ <subscript>i =
+               0</subscript><superscript>t - 1</superscript> s<subscript>i</subscript> a<superscript>i</superscript> mod m
+             </mathphrase>
+           </equation>
+           
+
+           <para>where a is some non-negative integral value. This is
+           the standard string-hashing function used in SGI's
+           implementation (with a = 5). Its advantage is that
+           it takes into account all of the characters of the string.</para>
+
+           <para>Now assume that s is the string representation of a
+           of a long DNA sequence (and so S = {'A', 'C', 'G',
+           'T'}). In this case, scanning the entire string might be
+           prohibitively expensive. A possible alternative might be to use
+           only the first k characters of the string, where</para>
+
+           <para>|S|<superscript>k</superscript> ≥ m ,</para>
+
+           <para>i.e., using the hash function</para>
+
+           <equation>
+             <title>
+               Only k String DNA Hash
+             </title>
+             <mathphrase>
+               f<subscript>2</subscript>(s, m) = ∑ <subscript>i
+               = 0</subscript><superscript>k - 1</superscript> s<subscript>i</subscript> a<superscript>i</superscript> mod m 
+             </mathphrase>
+           </equation>
+
+           <para>requiring scanning over only</para>
+
+           <para>k = log<subscript>4</subscript>( m )</para>
+
+           <para>characters.</para>
+
+           <para>Other more elaborate hash-functions might scan k
+           characters starting at a random position (determined at each
+           resize), or scanning k random positions (determined at
+           each resize), i.e., using</para>
+
+           <para>f<subscript>3</subscript>(s, m) = ∑ <subscript>i =
+           r</subscript>0<superscript>r<subscript>0</subscript> + k - 1</superscript> s<subscript>i</subscript>
+           a<superscript>i</superscript> mod m ,</para>
+
+           <para>or</para>
+
+           <para>f<subscript>4</subscript>(s, m) = ∑ <subscript>i = 0</subscript><superscript>k -
+           1</superscript> s<subscript>r</subscript>i a<superscript>r<subscript>i</subscript></superscript> mod
+           m ,</para>
+
+           <para>respectively, for r<subscript>0</subscript>,..., r<subscript>k-1</subscript>
+           each in the (inclusive) range [0,...,t-1].</para>
+
+           <para>It should be noted that the above functions cannot be
+           decomposed as per a ranged hash composed of hash and range hashing.</para>
+
+
+         </section>
+
+         <section xml:id="details.hash_policies.implementation">
+           <info><title>Implementation</title></info>
+
+           <para>This sub-subsection describes the implementation of
+           the above in this library. It first explains range-hashing
+           functions in collision-chaining tables, then ranged-hash
+           functions in collision-chaining tables, then probing-based
+           tables, and finally lists the relevant classes in this
+           library.</para>
+
+           <section xml:id="hash_policies.implementation.collision-chaining">
+             <info><title>
+               Range-Hashing and Ranged-Hashes in Collision-Chaining Tables
+             </title></info>
+
+
+             <para><classname>cc_hash_table</classname> is
+             parametrized by <classname>Hash_Fn</classname> and <classname>Comb_Hash_Fn</classname>, a
+             hash functor and a combining hash functor, respectively.</para>
+
+             <para>In general, <classname>Comb_Hash_Fn</classname> is considered a
+             range-hashing functor. <classname>cc_hash_table</classname>
+             synthesizes a ranged-hash function from <classname>Hash_Fn</classname> and
+             <classname>Comb_Hash_Fn</classname>. The figure below shows an <classname>insert</classname> sequence
+             diagram for this case. The user inserts an element (point A),
+             the container transforms the key into a non-negative integral
+             using the hash functor (points B and C), and transforms the
+             result into a position using the combining functor (points D
+             and E).</para>
+
+             <figure>
+               <title>Insert hash sequence diagram</title>
+               <mediaobject>
+                 <imageobject>
+                   <imagedata align="center" format="PNG" scale="100"
+                              fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_hash_range_hashing_seq_diagram.png"/>
+                 </imageobject>
+                 <textobject>
+                   <phrase>Insert hash sequence diagram</phrase>
+                 </textobject>
+               </mediaobject>
+             </figure>
+             
+             <para>If <classname>cc_hash_table</classname>'s
+             hash-functor, <classname>Hash_Fn</classname> is instantiated by <classname>null_type</classname> , then <classname>Comb_Hash_Fn</classname> is taken to be
+             a ranged-hash function. The graphic below shows an <function>insert</function> sequence
+             diagram. The user inserts an element (point A), the container
+             transforms the key into a position using the combining functor
+             (points B and C).</para>
+
+             <figure>
+               <title>Insert hash sequence diagram with a null policy</title>
+               <mediaobject>
+                 <imageobject>
+                   <imagedata align="center" format="PNG" scale="100"
+                              fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_hash_range_hashing_seq_diagram2.png"/>
+                 </imageobject>
+                 <textobject>
+                   <phrase>Insert hash sequence diagram with a null policy</phrase>
+                 </textobject>
+               </mediaobject>
+             </figure>
+             
+           </section>
+
+           <section xml:id="hash_policies.implementation.probe">
+             <info><title>
+               Probing tables
+             </title></info>
+             <para><classname>gp_hash_table</classname> is parametrized by
+             <classname>Hash_Fn</classname>, <classname>Probe_Fn</classname>,
+             and <classname>Comb_Probe_Fn</classname>. As before, if
+             <classname>Hash_Fn</classname> and <classname>Probe_Fn</classname>
+             are both <classname>null_type</classname>, then
+             <classname>Comb_Probe_Fn</classname> is a ranged-probe
+             functor. Otherwise, <classname>Hash_Fn</classname> is a hash
+             functor, <classname>Probe_Fn</classname> is a functor for offsets
+             from a hash value, and <classname>Comb_Probe_Fn</classname>
+             transforms a probe sequence into a sequence of positions within
+             the table.</para>
+
+           </section>
+
+           <section xml:id="hash_policies.implementation.predefined">
+             <info><title>
+               Pre-Defined Policies
+             </title></info>
+
+             <para>This library contains some pre-defined classes
+             implementing range-hashing and probing functions:</para>
+
+             <orderedlist>
+               <listitem><para><classname>direct_mask_range_hashing</classname>
+               and <classname>direct_mod_range_hashing</classname>
+               are range-hashing functions based on a bit-mask and a modulo
+               operation, respectively.</para></listitem>
+
+               <listitem><para><classname>linear_probe_fn</classname>, and
+               <classname>quadratic_probe_fn</classname> are
+               a linear probe and a quadratic probe function,
+               respectively.</para></listitem>
+             </orderedlist>
+
+             <para>
+               The graphic below shows the relationships.
+             </para>
+             <figure>
+               <title>Hash policy class diagram</title>
+               <mediaobject>
+                 <imageobject>
+                   <imagedata align="center" format="PNG" scale="100"
+                              fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_hash_policy_cd.png"/>
+                 </imageobject>
+                 <textobject>
+                   <phrase>Hash policy class diagram</phrase>
+                 </textobject>
+               </mediaobject>
+             </figure>
+
+
+           </section>
+
+         </section> <!-- impl -->
+
+       </section>
+
+       <section xml:id="container.hash.details.resize_policies">
+         <info><title>Resize Policies</title></info>
+
+         <section xml:id="resize_policies.general">
+           <info><title>General</title></info>
+
+           <para>Hash-tables, as opposed to trees, do not naturally grow or
+           shrink. It is necessary to specify policies to determine how
+           and when a hash table should change its size. Usually, resize
+           policies can be decomposed into orthogonal policies:</para>
+
+           <orderedlist>
+             <listitem><para>A size policy indicating how a hash table
+             should grow (e.g., it should multiply by powers of
+             2).</para></listitem>
+
+             <listitem><para>A trigger policy indicating when a hash
+             table should grow (e.g., a load factor is
+             exceeded).</para></listitem>
+           </orderedlist>
+
+         </section>
+
+         <section xml:id="resize_policies.size">
+           <info><title>Size Policies</title></info>
+
+
+           <para>Size policies determine how a hash table changes size. These
+           policies are simple, and there are relatively few sensible
+           options. An exponential-size policy (with the initial size and
+           growth factors both powers of 2) works well with a mask-based
+           range-hashing function, and is the
+           hard-wired policy used by Dinkumware. A
+           prime-list based policy works well with a modulo-prime range
+           hashing function and is the hard-wired policy used by SGI's
+           implementation.</para>
+
+         </section>
+
+         <section xml:id="resize_policies.trigger">
+           <info><title>Trigger Policies</title></info>
+
+           <para>Trigger policies determine when a hash table changes size.
+           Following is a description of two policies: load-check
+           policies, and collision-check policies.</para>
+
+           <para>Load-check policies are straightforward. The user specifies
+           two factors, Α<subscript>min</subscript> and
+           Α<subscript>max</subscript>, and the hash table maintains the
+           invariant that</para>
+
+           <para>Α<subscript>min</subscript> ≤ (number of
+           stored elements) / (hash-table size) ≤
+           Α<subscript>max</subscript><remark>load factor min max</remark></para>
+
+           <para>Collision-check policies work in the opposite direction of
+           load-check policies. They focus on keeping the number of
+           collisions moderate and hoping that the size of the table will
+           not grow very large, instead of keeping a moderate load-factor
+           and hoping that the number of collisions will be small. A
+           maximal collision-check policy resizes when the longest
+           probe-sequence grows too large.</para>
+
+           <para>Consider the graphic below. Let the size of the hash table
+           be denoted by m, the length of a probe sequence be denoted by k,
+           and some load factor be denoted by Α. We would like to
+           calculate the minimal length of k, such that if there were Α
+           m elements in the hash table, a probe sequence of length k would
+           be found with probability at most 1/m.</para>
+
+           <figure>
+             <title>Balls and bins</title>
+             <mediaobject>
+               <imageobject>
+                 <imagedata align="center" format="PNG" scale="100"
+                            fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_balls_and_bins.png"/>
+               </imageobject>
+               <textobject>
+                 <phrase>Balls and bins</phrase>
+               </textobject>
+             </mediaobject>
+           </figure>
+
+           <para>Denote the probability that a probe sequence of length
+           k appears in bin i by p<subscript>i</subscript>, the
+           length of the probe sequence of bin i by
+           l<subscript>i</subscript>, and assume uniform distribution. Then</para>
+
+
+
+           <equation>
+             <title>
+               Probability of Probe Sequence of Length k
+             </title>
+             <mathphrase>
+               p<subscript>1</subscript> = 
+             </mathphrase>
+           </equation>
+
+           <para>P(l<subscript>1</subscript> ≥ k) =</para>
+
+           <para>
+             P(l<subscript>1</subscript> ≥ α ( 1 + k / α - 1) ≤ (a)
+           </para>
+
+           <para>
+             e ^ ( - ( α ( k / α - 1 )<superscript>2</superscript> ) /2)
+           </para>
+
+           <para>where (a) follows from the Chernoff bound (<xref linkend="biblio.motwani95random"/>). To
+           calculate the probability that some bin contains a probe
+           sequence greater than k, we note that the
+           l<subscript>i</subscript> are negatively-dependent
+           (<xref linkend="biblio.dubhashi98neg"/>)
+           . Let
+           I(.) denote the indicator function. Then</para>
+
+           <equation>
+             <title>
+               Probability Probe Sequence in Some Bin
+             </title>
+             <mathphrase>
+               P( exists<subscript>i</subscript> l<subscript>i</subscript> ≥ k ) = 
+             </mathphrase>
+           </equation>
+
+           <para>P ( ∑ <subscript>i = 1</subscript><superscript>m</superscript>
+           I(l<subscript>i</subscript> ≥ k) ≥ 1 ) =</para>
+
+           <para>P ( ∑ <subscript>i = 1</subscript><superscript>m</superscript> I (
+           l<subscript>i</subscript> ≥ k ) ≥ m p<subscript>1</subscript> ( 1 + 1 / (m
+           p<subscript>1</subscript>) - 1 ) ) ≤ (a)</para>
+
+           <para>e ^ ( ( - m p<subscript>1</subscript> ( 1 / (m p<subscript>1</subscript>)
+           - 1 ) <superscript>2</superscript> ) / 2 ) ,</para>
+
+           <para>where (a) follows from the fact that the Chernoff bound can
+           be applied to negatively-dependent variables (<xref
+           linkend="biblio.dubhashi98neg"/>). Inserting the first probability
+           equation into the second one, and equating with 1/m, we
+           obtain</para>
+
+
+           <para>k ~ √ ( 2 α ln 2 m ln(m) )
+           ) .</para>
+
+         </section>
+
+         <section xml:id="resize_policies.impl">
+           <info><title>Implementation</title></info>
+
+           <para>This sub-subsection describes the implementation of the
+           above in this library. It first describes resize policies and
+           their decomposition into trigger and size policies, then
+           describes pre-defined classes, and finally discusses controlled
+           access the policies' internals.</para>
+
+           <section xml:id="resize_policies.impl.decomposition">
+             <info><title>Decomposition</title></info>
+
+
+             <para>Each hash-based container is parametrized by a
+             <classname>Resize_Policy</classname> parameter; the container derives
+             <classname>public</classname>ly from <classname>Resize_Policy</classname>. For
+             example:</para>
+             <programlisting>
+               cc_hash_table&lt;typename Key,
+               typename Mapped,
+               ...
+               typename Resize_Policy
+               ...&gt; : public Resize_Policy
+             </programlisting>
+
+             <para>As a container object is modified, it continuously notifies
+             its <classname>Resize_Policy</classname> base of internal changes
+             (e.g., collisions encountered and elements being
+             inserted). It queries its <classname>Resize_Policy</classname> base whether
+             it needs to be resized, and if so, to what size.</para>
+
+             <para>The graphic below shows a (possible) sequence diagram
+             of an insert operation. The user inserts an element; the hash
+             table notifies its resize policy that a search has started
+             (point A); in this case, a single collision is encountered -
+             the table notifies its resize policy of this (point B); the
+             container finally notifies its resize policy that the search
+             has ended (point C); it then queries its resize policy whether
+             a resize is needed, and if so, what is the new size (points D
+             to G); following the resize, it notifies the policy that a
+             resize has completed (point H); finally, the element is
+             inserted, and the policy notified (point I).</para>
+
+             <figure>
+               <title>Insert resize sequence diagram</title>
+               <mediaobject>
+                 <imageobject>
+                   <imagedata align="center" format="PNG" scale="100"
+                              fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_insert_resize_sequence_diagram1.png"/>
+                 </imageobject>
+                 <textobject>
+                   <phrase>Insert resize sequence diagram</phrase>
+                 </textobject>
+               </mediaobject>
+             </figure>
+
+
+             <para>In practice, a resize policy can be usually orthogonally
+             decomposed to a size policy and a trigger policy. Consequently,
+             the library contains a single class for instantiating a resize
+             policy: <classname>hash_standard_resize_policy</classname>
+             is parametrized by <classname>Size_Policy</classname> and
+             <classname>Trigger_Policy</classname>, derives <classname>public</classname>ly from
+             both, and acts as a standard delegate (<xref linkend="biblio.gof"/>)
+             to these policies.</para>
+
+             <para>The two graphics immediately below show sequence diagrams
+             illustrating the interaction between the standard resize policy
+             and its trigger and size policies, respectively.</para>
+
+             <figure>
+               <title>Standard resize policy trigger sequence
+               diagram</title>
+               <mediaobject>
+                 <imageobject>
+                   <imagedata align="center" format="PNG" scale="100"
+                              fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_insert_resize_sequence_diagram2.png"/>
+                 </imageobject>
+                 <textobject>
+                   <phrase>Standard resize policy trigger sequence
+                   diagram</phrase>
+                 </textobject>
+               </mediaobject>
+             </figure>
+
+             <figure>
+               <title>Standard resize policy size sequence
+               diagram</title>
+               <mediaobject>
+                 <imageobject>
+                   <imagedata align="center" format="PNG" scale="100"
+                              fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_insert_resize_sequence_diagram3.png"/>
+                 </imageobject>
+                 <textobject>
+                   <phrase>Standard resize policy size sequence
+                   diagram</phrase>
+                 </textobject>
+               </mediaobject>
+             </figure>
+
+
+           </section>
+
+           <section xml:id="resize_policies.impl.predefined">
+             <info><title>Predefined Policies</title></info>
+             <para>The library includes the following
+             instantiations of size and trigger policies:</para>
+
+             <orderedlist>
+               <listitem><para><classname>hash_load_check_resize_trigger</classname>
+               implements a load check trigger policy.</para></listitem>
+
+               <listitem><para><classname>cc_hash_max_collision_check_resize_trigger</classname>
+               implements a collision check trigger policy.</para></listitem>
+
+               <listitem><para><classname>hash_exponential_size_policy</classname>
+               implements an exponential-size policy (which should be used
+               with mask range hashing).</para></listitem>
+
+               <listitem><para><classname>hash_prime_size_policy</classname>
+               implementing a size policy based on a sequence of primes
+               (which should
+               be used with mod range hashing</para></listitem>
+             </orderedlist>
+
+             <para>The graphic below gives an overall picture of the resize-related
+             classes. <classname>basic_hash_table</classname>
+             is parametrized by <classname>Resize_Policy</classname>, which it subclasses
+             publicly. This class is currently instantiated only by <classname>hash_standard_resize_policy</classname>. 
+             <classname>hash_standard_resize_policy</classname>
+             itself is parametrized by <classname>Trigger_Policy</classname> and
+             <classname>Size_Policy</classname>. Currently, <classname>Trigger_Policy</classname> is
+             instantiated by <classname>hash_load_check_resize_trigger</classname>,
+             or <classname>cc_hash_max_collision_check_resize_trigger</classname>;
+             <classname>Size_Policy</classname> is instantiated by <classname>hash_exponential_size_policy</classname>,
+             or <classname>hash_prime_size_policy</classname>.</para>
+
+           </section>
+
+           <section xml:id="resize_policies.impl.internals">
+             <info><title>Controling Access to Internals</title></info>
+
+             <para>There are cases where (controlled) access to resize
+             policies' internals is beneficial. E.g., it is sometimes
+             useful to query a hash-table for the table's actual size (as
+             opposed to its <function>size()</function> - the number of values it
+             currently holds); it is sometimes useful to set a table's
+             initial size, externally resize it, or change load factors.</para>
+
+             <para>Clearly, supporting such methods both decreases the
+             encapsulation of hash-based containers, and increases the
+             diversity between different associative-containers' interfaces.
+             Conversely, omitting such methods can decrease containers'
+             flexibility.</para>
+
+             <para>In order to avoid, to the extent possible, the above
+             conflict, the hash-based containers themselves do not address
+             any of these questions; this is deferred to the resize policies,
+             which are easier to change or replace. Thus, for example,
+             neither <classname>cc_hash_table</classname> nor
+             <classname>gp_hash_table</classname>
+             contain methods for querying the actual size of the table; this
+             is deferred to <classname>hash_standard_resize_policy</classname>.</para>
+
+             <para>Furthermore, the policies themselves are parametrized by
+             template arguments that determine the methods they support
+             (
+             <xref linkend="biblio.alexandrescu01modern"/>
+             shows techniques for doing so). <classname>hash_standard_resize_policy</classname>
+             is parametrized by <classname>External_Size_Access</classname> that
+             determines whether it supports methods for querying the actual
+             size of the table or resizing it. <classname>hash_load_check_resize_trigger</classname>
+             is parametrized by <classname>External_Load_Access</classname> that
+             determines whether it supports methods for querying or
+             modifying the loads. <classname>cc_hash_max_collision_check_resize_trigger</classname>
+             is parametrized by <classname>External_Load_Access</classname> that
+             determines whether it supports methods for querying the
+             load.</para>
+
+             <para>Some operations, for example, resizing a container at
+             run time, or changing the load factors of a load-check trigger
+             policy, require the container itself to resize. As mentioned
+             above, the hash-based containers themselves do not contain
+             these types of methods, only their resize policies.
+             Consequently, there must be some mechanism for a resize policy
+             to manipulate the hash-based container. As the hash-based
+             container is a subclass of the resize policy, this is done
+             through virtual methods. Each hash-based container has a
+             <classname>private</classname> <classname>virtual</classname> method:</para>
+             <programlisting>
+               virtual void
+               do_resize
+               (size_type new_size);
+             </programlisting>
+
+             <para>which resizes the container. Implementations of
+             <classname>Resize_Policy</classname> can export public methods for resizing
+             the container externally; these methods internally call
+             <classname>do_resize</classname> to resize the table.</para>
+
+
+           </section>
+
+         </section>
+
+
+       </section> <!-- resize policies -->
+
+       <section xml:id="container.hash.details.policy_interaction">
+         <info><title>Policy Interactions</title></info>
+         <para>
+         </para>
+         <para>Hash-tables are unfortunately especially susceptible to
+         choice of policies. One of the more complicated aspects of this
+         is that poor combinations of good policies can form a poor
+         container. Following are some considerations.</para>
+
+         <section xml:id="policy_interaction.probesizetrigger">
+           <info><title>probe/size/trigger</title></info>
+
+           <para>Some combinations do not work well for probing containers.
+           For example, combining a quadratic probe policy with an
+           exponential size policy can yield a poor container: when an
+           element is inserted, a trigger policy might decide that there
+           is no need to resize, as the table still contains unused
+           entries; the probe sequence, however, might never reach any of
+           the unused entries.</para>
+
+           <para>Unfortunately, this library cannot detect such problems at
+           compilation (they are halting reducible). It therefore defines
+           an exception class <classname>insert_error</classname> to throw an
+           exception in this case.</para>
+
+         </section>
+
+         <section xml:id="policy_interaction.hashtrigger">
+           <info><title>hash/trigger</title></info>
+
+           <para>Some trigger policies are especially susceptible to poor
+           hash functions. Suppose, as an extreme case, that the hash
+           function transforms each key to the same hash value. After some
+           inserts, a collision detecting policy will always indicate that
+           the container needs to grow.</para>
+
+           <para>The library, therefore, by design, limits each operation to
+           one resize. For each <classname>insert</classname>, for example, it queries
+           only once whether a resize is needed.</para>
+
+         </section>
+
+         <section xml:id="policy_interaction.eqstorehash">
+           <info><title>equivalence functors/storing hash values/hash</title></info>
+
+           <para><classname>cc_hash_table</classname> and
+           <classname>gp_hash_table</classname> are
+           parametrized by an equivalence functor and by a
+           <classname>Store_Hash</classname> parameter. If the latter parameter is
+           <classname>true</classname>, then the container stores with each entry
+           a hash value, and uses this value in case of collisions to
+           determine whether to apply a hash value. This can lower the
+           cost of collision for some types, but increase the cost of
+           collisions for other types.</para>
+
+           <para>If a ranged-hash function or ranged probe function is
+           directly supplied, however, then it makes no sense to store the
+           hash value with each entry. This library's container will
+           fail at compilation, by design, if this is attempted.</para>
+
+         </section>
+
+         <section xml:id="policy_interaction.sizeloadtrigger">
+           <info><title>size/load-check trigger</title></info>
+
+           <para>Assume a size policy issues an increasing sequence of sizes
+           a, a q, a q<superscript>1</superscript>, a q<superscript>2</superscript>, ... For
+           example, an exponential size policy might issue the sequence of
+           sizes 8, 16, 32, 64, ...</para>
+
+           <para>If a load-check trigger policy is used, with loads
+           α<subscript>min</subscript> and α<subscript>max</subscript>,
+           respectively, then it is a good idea to have:</para>
+
+           <orderedlist>
+             <listitem><para>α<subscript>max</subscript> ~ 1 / q</para></listitem>
+
+             <listitem><para>α<subscript>min</subscript> &lt; 1 / (2 q)</para></listitem>
+           </orderedlist>
+
+           <para>This will ensure that the amortized hash cost of each
+           modifying operation is at most approximately 3.</para>
+
+           <para>α<subscript>min</subscript> ~ α<subscript>max</subscript> is, in
+           any case, a bad choice, and α<subscript>min</subscript> &gt;
+           α <subscript>max</subscript> is horrendous.</para>
+
+         </section>
+
+       </section>
+
+      </section> <!-- details -->
+
+    </section> <!-- hash -->
+
+    <!-- tree -->
+    <section xml:id="pbds.design.container.tree">
+      <info><title>tree</title></info>
+
+      <section xml:id="container.tree.interface">
+       <info><title>Interface</title></info>
+
+       <para>The tree-based container has the following declaration:</para>
+       <programlisting>
+         template&lt;
+         typename Key,
+         typename Mapped,
+         typename Cmp_Fn = std::less&lt;Key&gt;,
+         typename Tag = rb_tree_tag,
+         template&lt;
+         typename Const_Node_Iterator,
+         typename Node_Iterator,
+         typename Cmp_Fn_,
+         typename Allocator_&gt;
+         class Node_Update = null_node_update,
+         typename Allocator = std::allocator&lt;char&gt; &gt;
+         class tree;
+       </programlisting>
+
+       <para>The parameters have the following meaning:</para>
+
+       <orderedlist>
+         <listitem>
+         <para><classname>Key</classname> is the key type.</para></listitem>
+
+         <listitem>
+         <para><classname>Mapped</classname> is the mapped-policy.</para></listitem>
+
+         <listitem>
+         <para><classname>Cmp_Fn</classname> is a key comparison functor</para></listitem>
+
+         <listitem>
+           <para><classname>Tag</classname> specifies which underlying data structure
+         to use.</para></listitem>
+
+         <listitem>
+           <para><classname>Node_Update</classname> is a policy for updating node
+         invariants.</para></listitem>
+
+         <listitem>
+           <para><classname>Allocator</classname> is an allocator
+         type.</para></listitem>
+       </orderedlist>
+
+       <para>The <classname>Tag</classname> parameter specifies which underlying
+       data structure to use. Instantiating it by <classname>rb_tree_tag</classname>, <classname>splay_tree_tag</classname>, or
+       <classname>ov_tree_tag</classname>,
+       specifies an underlying red-black tree, splay tree, or
+       ordered-vector tree, respectively; any other tag is illegal.
+       Note that containers based on the former two contain more types
+       and methods than the latter (e.g.,
+       <classname>reverse_iterator</classname> and <classname>rbegin</classname>), and different
+       exception and invalidation guarantees.</para>
+
+      </section>
+
+      <section xml:id="container.tree.details">
+       <info><title>Details</title></info>
+
+       <section xml:id="container.tree.node">
+         <info><title>Node Invariants</title></info>
+
+
+         <para>Consider the two trees in the graphic below, labels A and B. The first
+         is a tree of floats; the second is a tree of pairs, each
+         signifying a geometric line interval. Each element in a tree is refered to as a node of the tree. Of course, each of
+         these trees can support the usual queries: the first can easily
+         search for <classname>0.4</classname>; the second can easily search for
+         <classname>std::make_pair(10, 41)</classname>.</para>
+
+         <para>Each of these trees can efficiently support other queries.
+         The first can efficiently determine that the 2rd key in the
+         tree is <constant>0.3</constant>; the second can efficiently determine
+         whether any of its intervals overlaps
+         <programlisting>std::make_pair(29,42)</programlisting> (useful in geometric
+         applications or distributed file systems with leases, for
+         example).  It should be noted that an <classname>std::set</classname> can
+         only solve these types of problems with linear complexity.</para>
+
+         <para>In order to do so, each tree stores some metadata in
+         each node, and maintains node invariants (see <xref linkend="biblio.clrs2001"/>.) The first stores in
+         each node the size of the sub-tree rooted at the node; the
+         second stores at each node the maximal endpoint of the
+         intervals at the sub-tree rooted at the node.</para>
+
+         <figure>
+           <title>Tree node invariants</title>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_tree_node_invariants.png"/>
+             </imageobject>
+             <textobject>
+               <phrase>Tree node invariants</phrase>
+             </textobject>
+           </mediaobject>
+         </figure>
+         
+         <para>Supporting such trees is difficult for a number of
+         reasons:</para>
+
+         <orderedlist>
+           <listitem><para>There must be a way to specify what a node's metadata
+           should be (if any).</para></listitem>
+
+           <listitem><para>Various operations can invalidate node
+           invariants.  The graphic below shows how a right rotation,
+           performed on A, results in B, with nodes x and y having
+           corrupted invariants (the grayed nodes in C). The graphic shows
+           how an insert, performed on D, results in E, with nodes x and y
+           having corrupted invariants (the grayed nodes in F). It is not
+           feasible to know outside the tree the effect of an operation on
+           the nodes of the tree.</para></listitem>
+
+           <listitem><para>The search paths of standard associative containers are
+           defined by comparisons between keys, and not through
+           metadata.</para></listitem>
+
+           <listitem><para>It is not feasible to know in advance which methods trees
+           can support. Besides the usual <classname>find</classname> method, the
+           first tree can support a <classname>find_by_order</classname> method, while
+           the second can support an <classname>overlaps</classname> method.</para></listitem>
+         </orderedlist>
+
+         <figure>
+           <title>Tree node invalidation</title>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_tree_node_invalidations.png"/>
+             </imageobject>
+             <textobject>
+               <phrase>Tree node invalidation</phrase>
+             </textobject>
+           </mediaobject>
+         </figure>
+
+         <para>These problems are solved by a combination of two means:
+         node iterators, and template-template node updater
+         parameters.</para>
+
+         <section xml:id="container.tree.node.iterators">
+           <info><title>Node Iterators</title></info>
+
+
+           <para>Each tree-based container defines two additional iterator
+           types, <classname>const_node_iterator</classname>
+           and <classname>node_iterator</classname>.
+           These iterators allow descending from a node to one of its
+           children. Node iterator allow search paths different than those
+           determined by the comparison functor. The <classname>tree</classname>
+           supports the methods:</para>
+           <programlisting>
+             const_node_iterator
+             node_begin() const;
+
+             node_iterator
+             node_begin();
+
+             const_node_iterator
+             node_end() const;
+
+             node_iterator
+             node_end(); 
+           </programlisting>
+
+           <para>The first pairs return node iterators corresponding to the
+           root node of the tree; the latter pair returns node iterators
+           corresponding to a just-after-leaf node.</para>
+         </section>
+
+         <section xml:id="container.tree.node.updator">
+           <info><title>Node Updator</title></info>
+
+           <para>The tree-based containers are parametrized by a
+           <classname>Node_Update</classname> template-template parameter. A
+           tree-based container instantiates
+           <classname>Node_Update</classname> to some
+           <classname>node_update</classname> class, and publicly subclasses
+           <classname>node_update</classname>. The graphic below shows this
+           scheme, as well as some predefined policies (which are explained
+           below).</para>
+
+           <figure>
+             <title>A tree and its update policy</title>
+             <mediaobject>
+               <imageobject>
+                 <imagedata align="center" format="PNG" scale="100"
+                            fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_tree_node_updator_policy_cd.png"/>
+               </imageobject>
+               <textobject>
+                 <phrase>A tree and its update policy</phrase>
+               </textobject>
+             </mediaobject>
+           </figure>
+
+           <para><classname>node_update</classname> (an instantiation of
+           <classname>Node_Update</classname>) must define <classname>metadata_type</classname> as
+           the type of metadata it requires. For order statistics,
+           e.g., <classname>metadata_type</classname> might be <classname>size_t</classname>.
+           The tree defines within each node a <classname>metadata_type</classname>
+           object.</para>
+
+           <para><classname>node_update</classname> must also define the following method
+           for restoring node invariants:</para>
+           <programlisting>
+             void 
+             operator()(node_iterator nd_it, const_node_iterator end_nd_it)
+           </programlisting>
+
+           <para>In this method, <varname>nd_it</varname> is a
+           <classname>node_iterator</classname> corresponding to a node whose
+           A) all descendants have valid invariants, and B) its own
+           invariants might be violated; <classname>end_nd_it</classname> is
+           a <classname>const_node_iterator</classname> corresponding to a
+           just-after-leaf node. This method should correct the node
+           invariants of the node pointed to by
+           <classname>nd_it</classname>. For example, say node x in the
+           graphic below label A has an invalid invariant, but its' children,
+           y and z have valid invariants. After the invocation, all three
+           nodes should have valid invariants, as in label B.</para>
+
+
+           <figure>
+             <title>Restoring node invariants</title>
+             <mediaobject>
+               <imageobject>
+                 <imagedata align="center" format="PNG" scale="100"
+                            fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_restoring_node_invariants.png"/>
+               </imageobject>
+               <textobject>
+                 <phrase>Restoring node invariants</phrase>
+               </textobject>
+             </mediaobject>
+           </figure>
+
+           <para>When a tree operation might invalidate some node invariant,
+           it invokes this method in its <classname>node_update</classname> base to
+           restore the invariant. For example, the graphic below shows
+           an <function>insert</function> operation (point A); the tree performs some
+           operations, and calls the update functor three times (points B,
+           C, and D). (It is well known that any <function>insert</function>,
+           <function>erase</function>, <function>split</function> or <function>join</function>, can restore
+           all node invariants by a small number of node invariant updates (<xref linkend="biblio.clrs2001"/>)
+           .</para>
+
+           <figure>
+             <title>Insert update sequence</title>
+             <mediaobject>
+               <imageobject>
+                 <imagedata align="center" format="PNG" scale="100"
+                            fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_update_seq_diagram.png"/>
+               </imageobject>
+               <textobject>
+                 <phrase>Insert update sequence</phrase>
+               </textobject>
+             </mediaobject>
+           </figure>
+
+           <para>To complete the description of the scheme, three questions
+           need to be answered:</para>
+
+           <orderedlist>
+             <listitem><para>How can a tree which supports order statistics define a
+             method such as <classname>find_by_order</classname>?</para></listitem>
+
+             <listitem><para>How can the node updater base access methods of the
+             tree?</para></listitem>
+
+             <listitem><para>How can the following cyclic dependency be resolved?
+             <classname>node_update</classname> is a base class of the tree, yet it
+             uses node iterators defined in the tree (its child).</para></listitem>
+           </orderedlist>
+
+           <para>The first two questions are answered by the fact that
+           <classname>node_update</classname> (an instantiation of
+           <classname>Node_Update</classname>) is a <emphasis>public</emphasis> base class
+           of the tree. Consequently:</para>
+
+           <orderedlist>
+             <listitem><para>Any public methods of
+             <classname>node_update</classname> are automatically methods of
+             the tree (<xref linkend="biblio.alexandrescu01modern"/>).
+             Thus an order-statistics node updater,
+             <classname>tree_order_statistics_node_update</classname> defines
+             the <function>find_by_order</function> method; any tree
+             instantiated by this policy consequently supports this method as
+             well.</para></listitem>
+
+             <listitem><para>In C++, if a base class declares a method as
+             <literal>virtual</literal>, it is
+             <literal>virtual</literal> in its subclasses. If
+             <classname>node_update</classname> needs to access one of the
+             tree's methods, say the member function
+             <function>end</function>, it simply declares that method as
+             <literal>virtual</literal> abstract.</para></listitem>
+           </orderedlist>
+
+           <para>The cyclic dependency is solved through template-template
+           parameters. <classname>Node_Update</classname> is parametrized by
+           the tree's node iterators, its comparison functor, and its
+           allocator type. Thus, instantiations of
+           <classname>Node_Update</classname> have all information
+           required.</para>
+
+           <para>This library assumes that constructing a metadata object and
+           modifying it are exception free. Suppose that during some method,
+           say <classname>insert</classname>, a metadata-related operation
+           (e.g., changing the value of a metadata) throws an exception. Ack!
+           Rolling back the method is unusually complex.</para>
+
+           <para>Previously, a distinction was made between redundant
+           policies and null policies. Node invariants show a
+           case where null policies are required.</para>
+
+           <para>Assume a regular tree is required, one which need not
+           support order statistics or interval overlap queries.
+           Seemingly, in this case a redundant policy - a policy which
+           doesn't affect nodes' contents would suffice. This, would lead
+           to the following drawbacks:</para>
+
+           <orderedlist>
+             <listitem><para>Each node would carry a useless metadata object, wasting
+             space.</para></listitem>
+
+             <listitem><para>The tree cannot know if its
+             <classname>Node_Update</classname> policy actually modifies a
+             node's metadata (this is halting reducible). In the graphic
+             below, assume the shaded node is inserted. The tree would have
+             to traverse the useless path shown to the root, applying
+             redundant updates all the way.</para></listitem>
+           </orderedlist>
+           <figure>
+             <title>Useless update path</title>
+             <mediaobject>
+               <imageobject>
+                 <imagedata align="center" format="PNG" scale="100"
+                            fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_rationale_null_node_updator.png"/>
+               </imageobject>
+               <textobject>
+                 <phrase>Useless update path</phrase>
+               </textobject>
+             </mediaobject>
+           </figure>
+
+
+           <para>A null policy class, <classname>null_node_update</classname>
+           solves both these problems. The tree detects that node
+           invariants are irrelevant, and defines all accordingly.</para>
+
+         </section>
+
+       </section> 
+
+       <section xml:id="container.tree.details.split">
+         <info><title>Split and Join</title></info>
+
+         <para>Tree-based containers support split and join methods.
+         It is possible to split a tree so that it passes
+         all nodes with keys larger than a given key to a different
+         tree. These methods have the following advantages over the
+         alternative of externally inserting to the destination
+         tree and erasing from the source tree:</para>
+
+         <orderedlist>
+           <listitem><para>These methods are efficient - red-black trees are split
+           and joined in poly-logarithmic complexity; ordered-vector
+           trees are split and joined at linear complexity. The
+           alternatives have super-linear complexity.</para></listitem>
+
+           <listitem><para>Aside from orders of growth, these operations perform
+           few allocations and de-allocations. For red-black trees, allocations are not performed,
+           and the methods are exception-free. </para></listitem>
+         </orderedlist>
+       </section>
+
+      </section> <!-- details -->
+
+    </section> <!-- tree -->
+
+    <!-- trie -->
+    <section xml:id="pbds.design.container.trie">
+      <info><title>Trie</title></info>
+
+      <section xml:id="container.trie.interface">
+       <info><title>Interface</title></info>
+
+       <para>The trie-based container has the following declaration:</para>
+       <programlisting>
+         template&lt;typename Key,
+         typename Mapped,
+         typename Cmp_Fn = std::less&lt;Key&gt;,
+         typename Tag = pat_trie_tag,
+         template&lt;typename Const_Node_Iterator,
+         typename Node_Iterator,
+         typename E_Access_Traits_,
+         typename Allocator_&gt;
+         class Node_Update = null_node_update,
+         typename Allocator = std::allocator&lt;char&gt; &gt;
+         class trie;
+       </programlisting>
+
+       <para>The parameters have the following meaning:</para>
+
+       <orderedlist>
+         <listitem><para><classname>Key</classname> is the key type.</para></listitem>
+
+         <listitem><para><classname>Mapped</classname> is the mapped-policy.</para></listitem>
+
+         <listitem><para><classname>E_Access_Traits</classname> is described in below.</para></listitem>
+
+         <listitem><para><classname>Tag</classname> specifies which underlying data structure
+         to use, and is described shortly.</para></listitem>
+
+         <listitem><para><classname>Node_Update</classname> is a policy for updating node
+         invariants. This is described below.</para></listitem>
+
+         <listitem><para><classname>Allocator</classname> is an allocator
+         type.</para></listitem>
+       </orderedlist>
+
+       <para>The <classname>Tag</classname> parameter specifies which underlying
+       data structure to use. Instantiating it by <classname>pat_trie_tag</classname>, specifies an
+       underlying PATRICIA trie (explained shortly); any other tag is
+       currently illegal.</para>
+
+       <para>Following is a description of a (PATRICIA) trie
+       (this implementation follows <xref linkend="biblio.okasaki98mereable"/> and 
+       <xref linkend="biblio.filliatre2000ptset"/>). 
+       </para>
+
+       <para>A (PATRICIA) trie is similar to a tree, but with the
+       following differences:</para>
+
+       <orderedlist>
+         <listitem><para>It explicitly views keys as a sequence of elements.
+         E.g., a trie can view a string as a sequence of
+         characters; a trie can view a number as a sequence of
+         bits.</para></listitem>
+
+         <listitem><para>It is not (necessarily) binary. Each node has fan-out n
+         + 1, where n is the number of distinct
+         elements.</para></listitem>
+
+         <listitem><para>It stores values only at leaf nodes.</para></listitem>
+
+         <listitem><para>Internal nodes have the properties that A) each has at
+         least two children, and B) each shares the same prefix with
+         any of its descendant.</para></listitem>
+       </orderedlist>
+
+       <para>A (PATRICIA) trie has some useful properties:</para>
+
+       <orderedlist>
+         <listitem><para>It can be configured to use large node fan-out, giving it
+         very efficient find performance (albeit at insertion
+         complexity and size).</para></listitem>
+
+         <listitem><para>It works well for common-prefix keys.</para></listitem>
+
+         <listitem><para>It can support efficiently queries such as which
+         keys match a certain prefix. This is sometimes useful in file
+         systems and routers, and for "type-ahead" aka predictive text matching
+         on mobile devices.</para></listitem>
+       </orderedlist>
+
+
+      </section>
+
+      <section xml:id="container.trie.details">
+       <info><title>Details</title></info>
+
+       <section xml:id="container.trie.details.etraits">
+         <info><title>Element Access Traits</title></info>
+
+         <para>A trie inherently views its keys as sequences of elements.
+         For example, a trie can view a string as a sequence of
+         characters. A trie needs to map each of n elements to a
+         number in {0, n - 1}. For example, a trie can map a
+         character <varname>c</varname> to
+         <programlisting>static_cast&lt;size_t&gt;(c)</programlisting>.</para>
+
+         <para>Seemingly, then, a trie can assume that its keys support
+         (const) iterators, and that the <classname>value_type</classname> of this
+         iterator can be cast to a <classname>size_t</classname>. There are several
+         reasons, though, to decouple the mechanism by which the trie
+         accesses its keys' elements from the trie:</para>
+
+         <orderedlist>
+           <listitem><para>In some cases, the numerical value of an element is
+           inappropriate. Consider a trie storing DNA strings. It is
+           logical to use a trie with a fan-out of 5 = 1 + |{'A', 'C',
+           'G', 'T'}|. This requires mapping 'T' to 3, though.</para></listitem>
+
+           <listitem><para>In some cases the keys' iterators are different than what
+           is needed. For example, a trie can be used to search for
+           common suffixes, by using strings'
+           <classname>reverse_iterator</classname>. As another example, a trie mapping
+           UNICODE strings would have a huge fan-out if each node would
+           branch on a UNICODE character; instead, one can define an
+           iterator iterating over 8-bit (or less) groups.</para></listitem>
+         </orderedlist>
+
+         <para>trie is,
+         consequently, parametrized by <classname>E_Access_Traits</classname> -
+         traits which instruct how to access sequences' elements.
+         <classname>string_trie_e_access_traits</classname>
+         is a traits class for strings. Each such traits define some
+         types, like:</para>
+         <programlisting>
+           typename E_Access_Traits::const_iterator
+         </programlisting>
+
+         <para>is a const iterator iterating over a key's elements. The
+         traits class must also define methods for obtaining an iterator
+         to the first and last element of a key.</para>
+
+         <para>The graphic below shows a
+         (PATRICIA) trie resulting from inserting the words: "I wish
+         that I could ever see a poem lovely as a trie" (which,
+         unfortunately, does not rhyme).</para>
+
+         <para>The leaf nodes contain values; each internal node contains
+         two <classname>typename E_Access_Traits::const_iterator</classname>
+         objects, indicating the maximal common prefix of all keys in
+         the sub-tree. For example, the shaded internal node roots a
+         sub-tree with leafs "a" and "as". The maximal common prefix is
+         "a". The internal node contains, consequently, to const
+         iterators, one pointing to <varname>'a'</varname>, and the other to
+         <varname>'s'</varname>.</para>
+
+         <figure>
+           <title>A PATRICIA trie</title>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_pat_trie.png"/>
+             </imageobject>
+             <textobject>
+               <phrase>A PATRICIA trie</phrase>
+             </textobject>
+           </mediaobject>
+         </figure>
+
+       </section>
+
+       <section xml:id="container.trie.details.node">
+         <info><title>Node Invariants</title></info>
+
+         <para>Trie-based containers support node invariants, as do
+         tree-based containers. There are two minor
+         differences, though, which, unfortunately, thwart sharing them
+         sharing the same node-updating policies:</para>
+
+         <orderedlist>
+           <listitem>
+             <para>A trie's <classname>Node_Update</classname> template-template
+             parameter is parametrized by <classname>E_Access_Traits</classname>, while
+             a tree's <classname>Node_Update</classname> template-template parameter is
+           parametrized by <classname>Cmp_Fn</classname>.</para></listitem>
+
+           <listitem><para>Tree-based containers store values in all nodes, while
+           trie-based containers (at least in this implementation) store
+           values in leafs.</para></listitem>
+         </orderedlist>
+
+         <para>The graphic below shows the scheme, as well as some predefined
+         policies (which are explained below).</para>
+
+         <figure>
+           <title>A trie and its update policy</title>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_trie_node_updator_policy_cd.png"/>
+             </imageobject>
+             <textobject>
+               <phrase>A trie and its update policy</phrase>
+             </textobject>
+           </mediaobject>
+         </figure>
+
+
+         <para>This library offers the following pre-defined trie node
+         updating policies:</para>
+
+         <orderedlist>
+           <listitem>
+             <para>
+               <classname>trie_order_statistics_node_update</classname>
+               supports order statistics.
+             </para>
+           </listitem>
+
+           <listitem><para><classname>trie_prefix_search_node_update</classname>
+           supports searching for ranges that match a given prefix.</para></listitem>
+
+           <listitem><para><classname>null_node_update</classname>
+           is the null node updater.</para></listitem>
+         </orderedlist>
+
+       </section>
+
+       <section xml:id="container.trie.details.split">
+         <info><title>Split and Join</title></info>
+         <para>Trie-based containers support split and join methods; the
+         rationale is equal to that of tree-based containers supporting
+         these methods.</para>
+       </section>
+
+      </section> <!-- details -->
+
+    </section> <!-- trie -->
+
+    <!-- list_update -->
+    <section xml:id="pbds.design.container.list">
+      <info><title>List</title></info>
+
+      <section xml:id="container.list.interface">
+       <info><title>Interface</title></info>
+
+       <para>The list-based container has the following declaration:</para>
+       <programlisting>
+         template&lt;typename Key,
+         typename Mapped,
+         typename Eq_Fn = std::equal_to&lt;Key&gt;,
+         typename Update_Policy = move_to_front_lu_policy&lt;&gt;,
+         typename Allocator = std::allocator&lt;char&gt; &gt;
+         class list_update;
+       </programlisting>
+
+       <para>The parameters have the following meaning:</para>
+
+       <orderedlist>
+         <listitem>
+           <para>
+             <classname>Key</classname> is the key type.
+           </para>
+         </listitem>
+
+         <listitem>
+           <para>
+             <classname>Mapped</classname> is the mapped-policy.
+           </para>
+         </listitem>
+
+         <listitem>
+           <para>
+             <classname>Eq_Fn</classname> is a key equivalence functor.
+           </para>
+         </listitem>
+
+         <listitem>
+           <para>
+             <classname>Update_Policy</classname> is a policy updating positions in
+             the list based on access patterns. It is described in the
+             following subsection.
+           </para>
+         </listitem>
+
+         <listitem>
+           <para>
+             <classname>Allocator</classname> is an allocator type.
+           </para>
+         </listitem>
+       </orderedlist>
+
+       <para>A list-based associative container is a container that
+       stores elements in a linked-list. It does not order the elements
+       by any particular order related to the keys.  List-based
+       containers are primarily useful for creating "multimaps". In fact,
+       list-based containers are designed in this library expressly for
+       this purpose.</para>
+
+       <para>List-based containers might also be useful for some rare
+       cases, where a key is encapsulated to the extent that only
+       key-equivalence can be tested. Hash-based containers need to know
+       how to transform a key into a size type, and tree-based containers
+       need to know if some key is larger than another.  List-based
+       associative containers, conversely, only need to know if two keys
+       are equivalent.</para>
+
+       <para>Since a list-based associative container does not order
+       elements by keys, is it possible to order the list in some
+       useful manner? Remarkably, many on-line competitive
+       algorithms exist for reordering lists to reflect access
+       prediction. (See <xref linkend="biblio.motwani95random"/> and <xref linkend="biblio.andrew04mtf"/>).
+       </para>
+
+      </section>
+
+      <section xml:id="container.list.details">
+       <info><title>Details</title></info>
+       <para>
+       </para>
+       <section xml:id="container.list.details.ds">
+         <info><title>Underlying Data Structure</title></info>
+
+         <para>The graphic below shows a
+         simple list of integer keys. If we search for the integer 6, we
+         are paying an overhead: the link with key 6 is only the fifth
+         link; if it were the first link, it could be accessed
+         faster.</para>
+
+         <figure>
+           <title>A simple list</title>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_simple_list.png"/>
+             </imageobject>
+             <textobject>
+               <phrase>A simple list</phrase>
+             </textobject>
+           </mediaobject>
+         </figure>
+
+         <para>List-update algorithms reorder lists as elements are
+         accessed. They try to determine, by the access history, which
+         keys to move to the front of the list. Some of these algorithms
+         require adding some metadata alongside each entry.</para>
+
+         <para>For example, in the graphic below label A shows the counter
+         algorithm. Each node contains both a key and a count metadata
+         (shown in bold). When an element is accessed (e.g. 6) its count is
+         incremented, as shown in label B. If the count reaches some
+         predetermined value, say 10, as shown in label C, the count is set
+         to 0 and the node is moved to the front of the list, as in label
+         D.
+         </para>
+
+         <figure>
+           <title>The counter algorithm</title>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_list_update.png"/>
+             </imageobject>
+             <textobject>
+               <phrase>The counter algorithm</phrase>
+             </textobject>
+           </mediaobject>
+         </figure>
+
+
+       </section>
+
+       <section xml:id="container.list.details.policies">
+         <info><title>Policies</title></info>
+
+         <para>this library allows instantiating lists with policies
+         implementing any algorithm moving nodes to the front of the
+         list (policies implementing algorithms interchanging nodes are
+         unsupported).</para>
+
+         <para>Associative containers based on lists are parametrized by a
+         <classname>Update_Policy</classname> parameter. This parameter defines the
+         type of metadata each node contains, how to create the
+         metadata, and how to decide, using this metadata, whether to
+         move a node to the front of the list. A list-based associative
+         container object derives (publicly) from its update policy.
+         </para>
+
+         <para>An instantiation of <classname>Update_Policy</classname> must define
+         internally <classname>update_metadata</classname> as the metadata it
+         requires. Internally, each node of the list contains, besides
+         the usual key and data, an instance of <classname>typename
+         Update_Policy::update_metadata</classname>.</para>
+
+         <para>An instantiation of <classname>Update_Policy</classname> must define
+         internally two operators:</para>
+         <programlisting>
+           update_metadata
+           operator()();
+
+           bool
+           operator()(update_metadata &amp;);
+         </programlisting>
+
+         <para>The first is called by the container object, when creating a
+         new node, to create the node's metadata. The second is called
+         by the container object, when a node is accessed (
+         when a find operation's key is equivalent to the key of the
+         node), to determine whether to move the node to the front of
+         the list.
+         </para>
+
+         <para>The library contains two predefined implementations of
+         list-update policies. The first
+         is <classname>lu_counter_policy</classname>, which implements the
+         counter algorithm described above. The second is
+         <classname>lu_move_to_front_policy</classname>,
+         which unconditionally move an accessed element to the front of
+         the list. The latter type is very useful in this library,
+         since there is no need to associate metadata with each element.
+         (See <xref linkend="biblio.andrew04mtf"/> 
+         </para>
+
+       </section>
+
+       <section xml:id="container.list.details.mapped">
+         <info><title>Use in Multimaps</title></info>
+
+         <para>In this library, there are no equivalents for the standard's
+         multimaps and multisets; instead one uses an associative
+         container mapping primary keys to secondary keys.</para>
+
+         <para>List-based containers are especially useful as associative
+         containers for secondary keys. In fact, they are implemented
+         here expressly for this purpose.</para>
+
+         <para>To begin with, these containers use very little per-entry
+         structure memory overhead, since they can be implemented as
+         singly-linked lists. (Arrays use even lower per-entry memory
+         overhead, but they are less flexible in moving around entries,
+         and have weaker invalidation guarantees).</para>
+
+         <para>More importantly, though, list-based containers use very
+         little per-container memory overhead. The memory overhead of an
+         empty list-based container is practically that of a pointer.
+         This is important for when they are used as secondary
+         associative-containers in situations where the average ratio of
+         secondary keys to primary keys is low (or even 1).</para>
+
+         <para>In order to reduce the per-container memory overhead as much
+         as possible, they are implemented as closely as possible to
+         singly-linked lists.</para>
+
+         <orderedlist>
+           <listitem>
+             <para>
+               List-based containers do not store internally the number
+               of values that they hold. This means that their <function>size</function>
+               method has linear complexity (just like <classname>std::list</classname>).
+               Note that finding the number of equivalent-key values in a
+               standard multimap also has linear complexity (because it must be
+               done,  via <function>std::distance</function> of the
+               multimap's <function>equal_range</function> method), but usually with
+               higher constants.
+             </para>
+           </listitem>
+
+           <listitem>
+             <para>
+               Most associative-container objects each hold a policy
+               object (a hash-based container object holds a
+               hash functor). List-based containers, conversely, only have
+               class-wide policy objects.
+             </para>
+           </listitem>
+         </orderedlist>
+
+
+       </section>
+
+      </section> <!-- details -->
+
+    </section> <!-- list -->
+
+
+    <!-- priority_queue -->
+    <section xml:id="pbds.design.container.priority_queue">
+      <info><title>Priority Queue</title></info>
+
+      <section xml:id="container.priority_queue.interface">
+       <info><title>Interface</title></info>
+
+       <para>The priority queue container has the following
+       declaration:
+       </para>
+       <programlisting>
+         template&lt;typename  Value_Type,
+         typename  Cmp_Fn = std::less&lt;Value_Type&gt;,
+         typename  Tag = pairing_heap_tag,
+         typename  Allocator = std::allocator&lt;char &gt; &gt;
+         class priority_queue;
+       </programlisting>
+
+       <para>The parameters have the following meaning:</para>
+
+       <orderedlist>
+         <listitem><para><classname>Value_Type</classname> is the value type.</para></listitem>
+
+         <listitem><para><classname>Cmp_Fn</classname> is a value comparison functor</para></listitem>
+
+         <listitem><para><classname>Tag</classname> specifies which underlying data structure
+         to use.</para></listitem>
+
+         <listitem><para><classname>Allocator</classname> is an allocator
+         type.</para></listitem>
+       </orderedlist>
+
+       <para>The <classname>Tag</classname> parameter specifies which underlying
+       data structure to use. Instantiating it by<classname>pairing_heap_tag</classname>,<classname>binary_heap_tag</classname>,
+       <classname>binomial_heap_tag</classname>,
+       <classname>rc_binomial_heap_tag</classname>,
+       or <classname>thin_heap_tag</classname>,
+       specifies, respectively, 
+       an underlying pairing heap (<xref linkend="biblio.fredman86pairing"/>),
+       binary heap (<xref linkend="biblio.clrs2001"/>),
+       binomial heap (<xref linkend="biblio.clrs2001"/>),
+       a binomial heap with a redundant binary counter (<xref linkend="biblio.maverik_lowerbounds"/>),
+       or a thin heap (<xref linkend="biblio.kt99fat_heaps"/>).
+       </para>
+
+       <para>
+         As mentioned in the tutorial,
+         <classname>__gnu_pbds::priority_queue</classname> shares most of the
+         same interface with <classname>std::priority_queue</classname>.
+         E.g. if <varname>q</varname> is a priority queue of type
+         <classname>Q</classname>, then <function>q.top()</function> will
+         return the "largest" value in the container (according to
+         <classname>typename
+         Q::cmp_fn</classname>). <classname>__gnu_pbds::priority_queue</classname>
+         has a larger (and very slightly different) interface than
+         <classname>std::priority_queue</classname>, however, since typically
+         <classname>push</classname> and <classname>pop</classname> are deemed
+       insufficient for manipulating priority-queues. </para>
+
+       <para>Different settings require different priority-queue
+       implementations which are described in later; see traits
+       discusses ways to differentiate between the different traits of
+       different implementations.</para>
+
+
+      </section>
+
+      <section xml:id="container.priority_queue.details">
+       <info><title>Details</title></info>
+
+       <section xml:id="container.priority_queue.details.iterators">
+         <info><title>Iterators</title></info>
+
+         <para>There are many different underlying-data structures for
+         implementing priority queues. Unfortunately, most such
+         structures are oriented towards making <function>push</function> and
+         <function>top</function> efficient, and consequently don't allow efficient
+         access of other elements: for instance, they cannot support an efficient
+         <function>find</function> method. In the use case where it
+         is important to both access and "do something with" an
+         arbitrary value, one would be out of luck. For example, many graph algorithms require
+         modifying a value (typically increasing it in the sense of the
+         priority queue's comparison functor).</para>
+
+         <para>In order to access and manipulate an arbitrary value in a
+         priority queue, one needs to reference the internals of the
+         priority queue from some form of an associative container -
+         this is unavoidable. Of course, in order to maintain the
+         encapsulation of the priority queue, this needs to be done in a
+         way that minimizes exposure to implementation internals.</para>
+
+         <para>In this library the priority queue's <function>insert</function>
+         method returns an iterator, which if valid can be used for subsequent <function>modify</function> and
+         <function>erase</function> operations. This both preserves the priority
+         queue's encapsulation, and allows accessing arbitrary values (since the
+         returned iterators from the <function>push</function> operation can be
+         stored in some form of associative container).</para>
+
+         <para>Priority queues' iterators present a problem regarding their
+         invalidation guarantees. One assumes that calling
+         <function>operator++</function> on an iterator will associate it
+         with the "next" value. Priority-queues are
+         self-organizing: each operation changes what the "next" value
+         means. Consequently, it does not make sense that <function>push</function>
+         will return an iterator that can be incremented - this can have
+         no possible use. Also, as in the case of hash-based containers,
+         it is awkward to define if a subsequent <function>push</function> operation
+         invalidates a prior returned iterator: it invalidates it in the
+         sense that its "next" value is not related to what it
+         previously considered to be its "next" value. However, it might not
+         invalidate it, in the sense that it can be
+         de-referenced and used for <function>modify</function> and <function>erase</function>
+         operations.</para>
+
+         <para>Similarly to the case of the other unordered associative
+         containers, this library uses a distinction between
+         point-type and range type iterators. A priority queue's <classname>iterator</classname> can always be
+         converted to a <classname>point_iterator</classname>, and a
+         <classname>const_iterator</classname> can always be converted to a
+         <classname>point_const_iterator</classname>.</para>
+
+         <para>The following snippet demonstrates manipulating an arbitrary
+         value:</para>
+         <programlisting>
+           // A priority queue of integers.
+           priority_queue&lt;int &gt; p;
+
+           // Insert some values into the priority queue.
+           priority_queue&lt;int &gt;::point_iterator it = p.push(0);
+
+           p.push(1);
+           p.push(2);
+
+           // Now modify a value.
+           p.modify(it, 3);
+
+           assert(p.top() == 3);
+         </programlisting>
+
+         
+         <para>It should be noted that an alternative design could embed an
+         associative container in a priority queue. Could, but most
+         probably should not. To begin with, it should be noted that one
+         could always encapsulate a priority queue and an associative
+         container mapping values to priority queue iterators with no
+         performance loss. One cannot, however, "un-encapsulate" a priority
+         queue embedding an associative container, which might lead to
+         performance loss. Assume, that one needs to associate each value
+         with some data unrelated to priority queues. Then using
+         this library's design, one could use an
+         associative container mapping each value to a pair consisting of
+         this data and a priority queue's iterator. Using the embedded
+         method would need to use two associative containers. Similar
+         problems might arise in cases where a value can reside
+         simultaneously in many priority queues.</para>
+
+       </section>
+
+
+       <section xml:id="container.priority_queue.details.d">
+         <info><title>Underlying Data Structure</title></info>
+
+         <para>There are three main implementations of priority queues: the
+         first employs a binary heap, typically one which uses a
+         sequence; the second uses a tree (or forest of trees), which is
+         typically less structured than an associative container's tree;
+         the third simply uses an associative container. These are
+         shown in the graphic below, in labels A1 and A2, label B, and label C.</para>
+
+         <figure>
+           <title>Underlying Priority-Queue Data-Structures.</title>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_priority_queue_different_underlying_dss.png"/>
+             </imageobject>
+             <textobject>
+               <phrase>Underlying Priority-Queue Data-Structures.</phrase>
+             </textobject>
+           </mediaobject>
+         </figure>
+
+         <para>Roughly speaking, any value that is both pushed and popped
+         from a priority queue must incur a logarithmic expense (in the
+         amortized sense). Any priority queue implementation that would
+         avoid this, would violate known bounds on comparison-based
+         sorting (see <xref linkend="biblio.clrs2001"/> and <xref linkend="biblio.brodal96priority"/>).
+         </para>
+
+         <para>Most implementations do
+         not differ in the asymptotic amortized complexity of
+         <function>push</function> and <function>pop</function> operations, but they differ in
+         the constants involved, in the complexity of other operations
+         (e.g., <function>modify</function>), and in the worst-case
+         complexity of single operations. In general, the more
+         "structured" an implementation (i.e., the more internal
+         invariants it possesses) - the higher its amortized complexity
+         of <function>push</function> and <function>pop</function> operations.</para>
+
+         <para>This library implements different algorithms using a
+         single class: <classname>priority_queue</classname>.
+         Instantiating the <classname>Tag</classname> template parameter, "selects"
+         the implementation:</para>
+
+         <orderedlist>
+           <listitem><para>
+             Instantiating <classname>Tag = binary_heap_tag</classname> creates
+             a binary heap of the form in represented in the graphic with labels A1 or A2. The former is internally
+             selected by priority_queue
+             if <classname>Value_Type</classname> is instantiated by a primitive type
+             (e.g., an <type>int</type>); the latter is
+             internally selected for all other types (e.g.,
+             <classname>std::string</classname>). This implementations is relatively
+             unstructured, and so has good <classname>push</classname> and <classname>pop</classname>
+             performance; it is the "best-in-kind" for primitive
+             types, e.g., <type>int</type>s. Conversely, it has
+             high worst-case performance, and can support only linear-time
+           <function>modify</function> and <function>erase</function> operations.</para></listitem>
+
+           <listitem><para>Instantiating <classname>Tag =
+           pairing_heap_tag</classname> creates a pairing heap of the form
+           in represented by label B in the graphic above. This
+           implementations too is relatively unstructured, and so has good
+           <function>push</function> and <function>pop</function>
+           performance; it is the "best-in-kind" for non-primitive types,
+           e.g., <classname>std:string</classname>s. It also has very good
+           worst-case <function>push</function> and
+           <function>join</function> performance (O(1)), but has high
+           worst-case <function>pop</function>
+           complexity.</para></listitem>
+
+           <listitem><para>Instantiating <classname>Tag =
+           binomial_heap_tag</classname> creates a binomial heap of the
+           form repsented by label B in the graphic above. This
+           implementations is more structured than a pairing heap, and so
+           has worse <function>push</function> and <function>pop</function>
+           performance. Conversely, it has sub-linear worst-case bounds for
+           <function>pop</function>, e.g., and so it might be preferred in
+           cases where responsiveness is important.</para></listitem>
+
+           <listitem><para>Instantiating <classname>Tag =
+           rc_binomial_heap_tag</classname> creates a binomial heap of the
+           form represented in label B above, accompanied by a redundant
+           counter which governs the trees. This implementations is
+           therefore more structured than a binomial heap, and so has worse
+           <function>push</function> and <function>pop</function>
+           performance. Conversely, it guarantees O(1)
+           <function>push</function> complexity, and so it might be
+           preferred in cases where the responsiveness of a binomial heap
+           is insufficient.</para></listitem>
+
+           <listitem><para>Instantiating <classname>Tag =
+           thin_heap_tag</classname> creates a thin heap of the form
+           represented by the label B in the graphic above. This
+           implementations too is more structured than a pairing heap, and
+           so has worse <function>push</function> and
+           <function>pop</function> performance. Conversely, it has better
+           worst-case and identical amortized complexities than a Fibonacci
+           heap, and so might be more appropriate for some graph
+           algorithms.</para></listitem>
+         </orderedlist>
+
+         <para>Of course, one can use any order-preserving associative
+         container as a priority queue, as in the graphic above label C, possibly by creating an adapter class
+         over the associative container (much as 
+         <classname>std::priority_queue</classname> can adapt <classname>std::vector</classname>).
+         This has the advantage that no cross-referencing is necessary
+         at all; the priority queue itself is an associative container.
+         Most associative containers are too structured to compete with
+         priority queues in terms of <function>push</function> and <function>pop</function>
+         performance.</para>
+
+
+
+       </section>
+
+       <section xml:id="container.priority_queue.details.traits">
+         <info><title>Traits</title></info>
+
+         <para>It would be nice if all priority queues could
+         share exactly the same behavior regardless of implementation. Sadly, this is not possible. Just one for instance is in join operations: joining
+         two binary heaps might throw an exception (not corrupt
+         any of the heaps on which it operates), but joining two pairing
+         heaps is exception free.</para>
+
+         <para>Tags and traits are very useful for manipulating generic
+         types. <classname>__gnu_pbds::priority_queue</classname>
+         publicly defines <classname>container_category</classname> as one of the tags. Given any
+         container <classname>Cntnr</classname>, the tag of the underlying
+         data structure can be found via <classname>typename 
+         Cntnr::container_category</classname>; this is one of the possible tags shown in the graphic below.
+         </para>
+
+         <figure>
+           <title>Priority-Queue Data-Structure Tags.</title>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_priority_queue_tag_hierarchy.png"/>
+             </imageobject>
+             <textobject>
+               <phrase>Priority-Queue Data-Structure Tags.</phrase>
+             </textobject>
+           </mediaobject>
+         </figure>
+
+
+         <para>Additionally, a traits mechanism can be used to query a
+         container type for its attributes. Given any container
+         <classname>Cntnr</classname>, then <programlisting>__gnu_pbds::container_traits&lt;Cntnr&gt;</programlisting>
+         is a traits class identifying the properties of the
+         container.</para>
+
+         <para>To find if a container might throw if two of its objects are
+         joined, one can use 
+         <programlisting>
+           container_traits&lt;Cntnr&gt;::split_join_can_throw
+         </programlisting>
+         </para>
+
+         <para>
+           Different priority-queue implementations have different invalidation guarantees. This is
+           especially important, since there is no way to access an arbitrary
+           value of priority queues except for iterators. Similarly to
+           associative containers, one can use
+           <programlisting>
+             container_traits&lt;Cntnr&gt;::invalidation_guarantee
+           </programlisting>
+         to get the invalidation guarantee type of a priority queue.</para>
+
+         <para>It is easy to understand from the graphic above, what <classname>container_traits&lt;Cntnr&gt;::invalidation_guarantee</classname>
+         will be for different implementations. All implementations of
+         type represented by label B have <classname>point_invalidation_guarantee</classname>:
+         the container can freely internally reorganize the nodes -
+         range-type iterators are invalidated, but point-type iterators
+         are always valid. Implementations of type represented by labels A1 and A2 have <classname>basic_invalidation_guarantee</classname>:
+         the container can freely internally reallocate the array - both
+         point-type and range-type iterators might be invalidated.</para>
+
+         <para>
+           This has major implications, and constitutes a good reason to avoid
+           using binary heaps. A binary heap can perform <function>modify</function>
+           or <function>erase</function> efficiently given a valid point-type
+           iterator. However, in order to supply it with a valid point-type
+           iterator, one needs to iterate (linearly) over all
+           values, then supply the relevant iterator (recall that a
+           range-type iterator can always be converted to a point-type
+           iterator). This means that if the number of <function>modify</function> or
+           <function>erase</function> operations is non-negligible (say
+           super-logarithmic in the total sequence of operations) - binary
+           heaps will perform badly.
+         </para>
+
+       </section>
+
+      </section> <!-- details -->
+
+    </section> <!-- priority_queue -->
+
+
+
+  </section> <!-- container -->
+
+  </section> <!-- design -->
+
+
+
+  <!-- S04: Test -->
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml"
+             href="test_policy_data_structures.xml">
+  </xi:include>
+
+  <!-- S05: Reference/Acknowledgments -->
+  <section xml:id="pbds.ack">
+    <info><title>Acknowledgments</title></info>
+    <?dbhtml filename="policy_data_structures_biblio.html"?>
+
+    <para>
+      Written by Ami Tavory and Vladimir Dreizin (IBM Haifa Research
+      Laboratories), and Benjamin Kosnik (Red Hat).
+    </para>
+
+    <para>
+      This library was partially written at
+      <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.haifa.il.ibm.com/">IBM's Haifa Research Labs</link>.
+      It is based heavily on policy-based design and uses many useful
+      techniques from Modern C++ Design: Generic Programming and Design
+      Patterns Applied by Andrei Alexandrescu.
+    </para>
+
+    <para>
+      Two ideas are borrowed from the SGI-STL implementation:
+    </para>
+
+    <orderedlist>
+      <listitem>
+       <para>
+         The prime-based resize policies use a list of primes taken from
+         the SGI-STL implementation.
+       </para>
+      </listitem>
+
+      <listitem>
+       <para>
+         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.
+       </para>
+      </listitem>
+    </orderedlist>
+
+    <para>
+      Some test utilities borrow ideas from
+      <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.boost.org/doc/libs/release/libs/timer/index.html">boost::timer</link>.
+    </para>
+
+    <para>
+      We would like to thank Scott Meyers for useful comments (without
+      attributing to him any flaws in the design or implementation of the
+      library).
+    </para>
+    <para>We would like to thank Matt Austern for the suggestion to
+    include tries.</para>
+  </section>
+
+  <!-- S06: Biblio -->
+  <bibliography xml:id="pbds.biblio">
+    <info>
+      <title>
+       Bibliography
+      </title>
+    </info>
+    <?dbhtml filename="policy_data_structures_biblio.html"?>
+
+    <!-- 01 -->
+    <biblioentry xml:id="biblio.abrahams97exception">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1075.pdf">
+         STL Exception Handling Contract
+       </link>
+      </title>
+      <date>1997</date>
+
+      <author>
+       <personname>
+         <firstname>
+           Dave
+         </firstname>
+         <surname>
+           Abrahams
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         ISO SC22/WG21
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 02 -->
+    <biblioentry xml:id="biblio.alexandrescu01modern">
+      <title>
+       Modern C++ Design: Generic Programming and Design Patterns Applied
+      </title>
+      <date>
+       2001
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Andrei
+         </firstname>
+         <surname>
+           Alexandrescu
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         Addison-Wesley Publishing Company
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 03 -->
+    <biblioentry xml:id="biblio.andrew04mtf">
+      <title>
+       MTF, Bit, and COMB: A Guide to Deterministic and Randomized
+       Algorithms for the List Update Problem
+      </title>
+
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             K.
+           </firstname>
+           <surname>
+             Andrew
+           </surname>
+         </personname>
+       </author>
+
+       <author>
+         <personname>
+           <firstname>
+             D.
+           </firstname>
+           <surname>
+             Gleich
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+    </biblioentry>
+
+    <!-- 04 -->
+    <biblioentry xml:id="biblio.austern00noset">
+      <title>
+       Why You Shouldn't Use set - and What You Should Use Instead
+      </title>
+      <date>
+       April, 2000
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Matthew
+         </firstname>
+         <surname>
+           Austern
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         C++ Report
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 05 -->
+    <biblioentry xml:id="biblio.austern01htprop">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="http://www.open-std.org/JTC1/sc22/wg21/docs/papers/2001/n1326.html">
+         A Proposal to Add Hashtables to the Standard Library
+       </link>
+      </title>
+      <date>
+       2001
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Matthew
+         </firstname>
+         <surname>
+           Austern
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         ISO SC22/WG21
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 06 -->
+    <biblioentry xml:id="biblio.austern98segmentedit">
+      <title>
+       Segmented iterators and hierarchical algorithms
+      </title>
+      <date>
+       April, 1998
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Matthew
+         </firstname>
+         <surname>
+           Austern
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         Generic Programming
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 07 -->
+    <biblioentry xml:id="biblio.dawestimer">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="www.boost.org/doc/libs/release/libs/timer/">
+         Boost Timer Library
+       </link>
+      </title>
+
+      <author>
+       <personname>
+         <firstname>
+           Beeman
+         </firstname>
+         <surname>
+           Dawes
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         Boost
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 08 -->
+    <biblioentry xml:id="biblio.clearypool">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="www.boost.org/doc/libs/release/libs/pool/">
+         Boost Pool Library
+       </link>
+      </title>
+
+      <author>
+       <personname>
+         <firstname>
+           Stephen
+         </firstname>
+         <surname>
+           Cleary
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         Boost
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 09 -->
+    <biblioentry xml:id="biblio.maddocktraits">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="www.boost.org/doc/libs/release/libs/type_traits/">
+         Boost Type Traits Library
+       </link>
+      </title>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             Maddock
+           </firstname>
+           <surname>
+             John
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             Stephen
+           </firstname>
+           <surname>
+             Cleary
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+      <publisher>
+       <publishername>
+         Boost
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 10 -->
+    <biblioentry xml:id="biblio.brodal96priority">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="http://portal.acm.org/citation.cfm?id=313883">
+         Worst-case efficient priority queues
+       </link>
+      </title>
+
+      <author>
+       <personname>
+         <firstname>
+           Gerth
+         </firstname>
+         <surname>
+           Stolting Brodal
+         </surname>
+       </personname>
+      </author>
+
+    </biblioentry>
+
+    <!-- 11 -->
+    <biblioentry xml:id="biblio.bulkamayheweff">
+      <title>
+       Efficient C++ Programming Techniques
+      </title>
+      <date>
+       1997
+      </date>
+
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             D.
+           </firstname>
+           <surname>
+             Bulka
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             D.
+           </firstname>
+           <surname>
+             Mayhew
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+
+      <publisher>
+       <publishername>
+         Addison-Wesley Publishing Company
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 12 -->
+    <biblioentry xml:id="biblio.clrs2001">
+      <title>
+       Introduction to Algorithms, 2nd edition
+      </title>
+      <date>
+       2001
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             T. H.
+           </firstname>
+           <surname>
+             Cormen
+           </surname>
+         </personname>
+       </author>
+
+       <author>
+         <personname>
+           <firstname>
+             C. E.
+           </firstname>
+           <surname>
+             Leiserson
+           </surname>
+         </personname>
+       </author>
+
+       <author>
+         <personname>
+           <firstname>
+             R. L.
+           </firstname>
+           <surname>
+             Rivest
+           </surname>
+         </personname>
+       </author>
+
+       <author>
+         <personname>
+           <firstname>
+             C.
+           </firstname>
+           <surname>
+             Stein
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+      <publisher>
+       <publishername>
+         MIT Press
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 13 -->
+    <biblioentry xml:id="biblio.dubhashi98neg">
+      <title>
+       Balls and bins: A study in negative dependence
+      </title>
+      <date>
+       1998
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             D.
+           </firstname>
+           <surname>
+             Dubashi
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             D.
+           </firstname>
+           <surname>
+             Ranjan
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+
+      <publisher>
+       <publishername>
+         Random Structures and Algorithms 13
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 14 -->
+    <biblioentry xml:id="biblio.fagin79extendible">
+      <title>
+       Extendible hashing - a fast access method for dynamic files
+      </title>
+      <date>
+       1979
+      </date>
+
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             R.
+           </firstname>
+           <surname>
+             Fagin
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             J.
+           </firstname>
+           <surname>
+             Nievergelt
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             N.
+           </firstname>
+           <surname>
+             Pippenger
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             H. R.
+           </firstname>
+           <surname>
+             Strong
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+
+      <publisher>
+       <publishername>
+         ACM Trans. Database Syst. 4
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+
+
+    <!-- 15 -->
+    <biblioentry xml:id="biblio.filliatre2000ptset">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="http://cristal.inria.fr/~frisch/icfp06_contest/advtr/applyOmatic/ptset.ml">
+         Ptset: Sets of integers implemented as Patricia trees
+       </link>
+      </title>
+
+      <date>
+       2000
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Jean-Christophe
+         </firstname>
+         <surname>
+           Filliatre
+         </surname>
+       </personname>
+      </author>
+    </biblioentry>
+
+
+
+    <!-- 16 -->
+    <biblioentry xml:id="biblio.fredman86pairing">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="http://www.cs.cmu.edu/~sleator/papers/pairing-heaps.pdf">
+         The pairing heap: a new form of self-adjusting heap
+       </link>
+      </title>
+      <date>
+       1986
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             M. L.
+           </firstname>
+           <surname>
+             Fredman
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             R.
+           </firstname>
+           <surname>
+             Sedgewick
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             D. D.
+           </firstname>
+           <surname>
+             Sleator
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             R. E.
+           </firstname>
+           <surname>
+             Tarjan
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+    </biblioentry>
+
+
+    <!-- 17 -->
+    <biblioentry xml:id="biblio.gof">
+      <title>
+       Design Patterns - Elements of Reusable Object-Oriented Software
+      </title>
+      <date>
+       1995
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             E.
+           </firstname>
+           <surname>
+             Gamma
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             R.
+           </firstname>
+           <surname>
+             Helm
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             R.
+           </firstname>
+           <surname>
+             Johnson
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             J.
+           </firstname>
+           <surname>
+             Vlissides
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+      <publisher>
+       <publishername>
+         Addison-Wesley Publishing Company
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 18 -->
+    <biblioentry xml:id="biblio.garg86order">
+      <title>
+       Order-preserving key transformations
+      </title>
+      <date>
+       1986
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             A. K.
+           </firstname>
+           <surname>
+             Garg
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             C. C.
+           </firstname>
+           <surname>
+             Gotlieb
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+
+      <publisher>
+       <publishername>
+         Trans. Database Syst. 11
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 19 -->
+    <biblioentry xml:id="biblio.hyslop02making">
+      <title>
+       Making a real hash of things
+      </title>
+      <date>
+       May 2002
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             J.
+           </firstname>
+           <surname>
+             Hyslop
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             Herb
+           </firstname>
+           <surname>
+             Sutter
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+
+      <publisher>
+       <publishername>
+         C++ Report
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 20 -->
+    <biblioentry xml:id="biblio.jossutis01stl">
+      <title>
+       The C++ Standard Library - A Tutorial and Reference
+      </title>
+      <date>
+       2001
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           N. M.
+         </firstname>
+         <surname>
+           Jossutis
+         </surname>
+       </personname>
+      </author>
+      <publisher>
+       <publishername>
+         Addison-Wesley Publishing Company
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 21 -->
+    <biblioentry xml:id="biblio.kt99fat_heaps">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="http://www.cs.princeton.edu/research/techreps/TR-597-99">
+         New Heap Data Structures
+       </link>
+      </title>
+      <date>
+       1999
+      </date>
+
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             Haim
+           </firstname>
+           <surname>
+             Kaplan
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             Robert E.
+           </firstname>
+           <surname>
+             Tarjan
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+    </biblioentry>
+
+
+    <!-- 22 -->
+    <biblioentry xml:id="biblio.kleft00sets">
+      <title>
+       Are Set Iterators Mutable or Immutable?
+      </title>
+      <date>
+       October 2000
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             Angelika
+           </firstname>
+           <surname>
+             Langer
+           </surname>
+         </personname>
+       </author>
+
+       <author>
+         <personname>
+           <firstname>
+             Klaus
+           </firstname>
+           <surname>
+             Kleft
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+
+      <publisher>
+       <publishername>
+         C/C++ Users Jornal
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 23 -->
+    <biblioentry xml:id="biblio.knuth98sorting">
+      <title>
+       The Art of Computer Programming - Sorting and Searching
+      </title>
+      <date>
+       1998
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           D. E.
+         </firstname>
+         <surname>
+           Knuth
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         Addison-Wesley Publishing Company
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 24 -->
+    <biblioentry xml:id="biblio.liskov98data">
+      <title>
+       Data abstraction and hierarchy
+      </title>
+      <date>
+       May 1998
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           B.
+         </firstname>
+         <surname>
+           Liskov
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         SIGPLAN Notices 23
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 25 -->
+    <biblioentry xml:id="biblio.litwin80lh">
+      <title>
+       Linear hashing: A new tool for file and table addressing
+      </title>
+      <date>
+       June 1980
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           W.
+         </firstname>
+         <surname>
+           Litwin
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         Proceedings of International Conference on Very Large Data Bases
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 26 -->
+    <biblioentry xml:id="biblio.maverik_lowerbounds">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="http://magic.aladdin.cs.cmu.edu/2005/08/01/deamortization-part-2-binomial-heaps">
+         Deamortization - Part 2: Binomial Heaps
+       </link>
+      </title>
+      <date>
+       2005
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Maverik
+         </firstname>
+         <surname>
+           Woo
+         </surname>
+       </personname>
+      </author>
+    </biblioentry>
+
+    <!-- 27 -->
+    <biblioentry xml:id="biblio.meyers96more">
+      <title>
+       More Effective C++: 35 New Ways to Improve Your Programs and Designs
+      </title>
+      <date>
+       1996
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Scott
+         </firstname>
+         <surname>
+           Meyers
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         Addison-Wesley Publishing Company
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 28 -->
+    <biblioentry xml:id="biblio.meyers00nonmember">
+      <title>
+       How Non-Member Functions Improve Encapsulation
+      </title>
+      <date>
+       2000
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Scott
+         </firstname>
+         <surname>
+           Meyers
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         C/C++ Users Journal
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 29 -->
+    <biblioentry xml:id="biblio.meyers01stl">
+      <title>
+       Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library
+      </title>
+      <date>
+       2001
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Scott
+         </firstname>
+         <surname>
+           Meyers
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         Addison-Wesley Publishing Company
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 30 -->
+    <biblioentry xml:id="biblio.meyers02both">
+      <title>
+       Class Template, Member Template - or Both?
+      </title>
+      <date>
+       2003
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Scott
+         </firstname>
+         <surname>
+           Meyers
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         C/C++ Users Journal
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 31 -->
+    <biblioentry xml:id="biblio.motwani95random">
+      <title>
+       Randomized Algorithms
+      </title>
+      <date>
+       2003
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             R.
+           </firstname>
+           <surname>
+             Motwani
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             P.
+           </firstname>
+           <surname>
+             Raghavan
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+      <publisher>
+       <publishername>
+         Cambridge University Press
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 32 -->
+    <biblioentry xml:id="biblio.mscom">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="http://www.microsoft.com/com">
+         COM: Component Model Object Technologies
+       </link>
+      </title>
+      <publisher>
+       <publishername>
+         Microsoft
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 33 -->
+    <biblioentry xml:id="biblio.musser95rationale">
+      <title>
+       Rationale for Adding Hash Tables to the C++ Standard Template Library
+      </title>
+      <date>
+       1995
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           David R.
+         </firstname>
+         <surname>
+           Musser
+         </surname>
+       </personname>
+      </author>
+
+    </biblioentry>
+
+    <!-- 35 -->
+    <biblioentry xml:id="biblio.musser96stltutorial">
+      <title>
+       STL Tutorial and Reference Guide
+      </title>
+      <date>
+       1996
+      </date>
+
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             David R.
+           </firstname>
+           <surname>
+             Musser
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             A.
+           </firstname>
+           <surname>
+             Saini
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+      <publisher>
+       <publishername>
+         Addison-Wesley Publishing Company
+       </publishername>
+      </publisher>
+
+    </biblioentry>
+
+
+    <!-- 36 -->
+    <biblioentry xml:id="biblio.nelson96stlpq">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="http://www.dogma.net/markn/articles/pq_stl/priority.htm">Priority Queues and the STL
+       </link>
+      </title>
+      <date>
+       January 1996
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Mark
+         </firstname>
+         <surname>
+           Nelson
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         Dr. Dobbs Journal
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 37 -->
+    <biblioentry xml:id="biblio.okasaki98mereable">
+      <title>
+       Fast mergeable integer maps
+      </title>
+      <date>
+       September 1998
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             C.
+           </firstname>
+           <surname>
+             Okasaki
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             A.
+           </firstname>
+           <surname>
+             Gill
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+      <publisher>
+       <publishername>
+         In Workshop on ML
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 38 -->
+    <biblioentry xml:id="biblio.sgi_stl">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="http://www.sgi.com/tech/stl">
+         Standard Template Library Programmer's Guide
+       </link>
+      </title>
+      <author>
+       <personname>
+         <firstname>
+           Matt
+         </firstname>
+         <surname>
+           Austern
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         SGI
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 39 -->
+    <biblioentry xml:id="biblio.select_man">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="http://www.scit.wlv.ac.uk/cgi-bin/mansec?3C+select">
+         select
+       </link>
+      </title>
+    </biblioentry>
+
+
+    <!-- 40 -->
+    <biblioentry xml:id="biblio.sleator84amortized">
+      <title>
+       Amortized Efficiency of List Update Problems
+      </title>
+      <date>
+       1984
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             D. D.
+           </firstname>
+           <surname>
+             Sleator
+           </surname>
+         </personname>
+       </author>
+
+       <author>
+         <personname>
+           <firstname>
+             R. E.
+           </firstname>
+           <surname>
+             Tarjan
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+
+      <publisher>
+       <publishername>
+         ACM Symposium on Theory of Computing
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 41 -->
+    <biblioentry xml:id="biblio.sleator85self">
+      <title>
+       Self-Adjusting Binary Search Trees
+      </title>
+      <date>
+       1985
+      </date>
+
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             D. D.
+           </firstname>
+           <surname>
+             Sleator
+           </surname>
+         </personname>
+       </author>
+
+       <author>
+         <personname>
+           <firstname>
+             R. E.
+           </firstname>
+           <surname>
+             Tarjan
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+
+      <publisher>
+       <publishername>
+         ACM Symposium on Theory of Computing
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 42 -->
+    <biblioentry xml:id="biblio.stepanov94standard">
+      <title>
+       The Standard Template Library
+      </title>
+      <date>
+       1984
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             A. A.
+           </firstname>
+           <surname>
+             Stepanov
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             M.
+           </firstname>
+           <surname>
+             Lee
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+    </biblioentry>
+
+    <!-- 43 -->
+    <biblioentry xml:id="biblio.stroustrup97cpp">
+      <title>
+       The C++ Programming Langugage
+      </title>
+      <date>
+       1997
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Bjarne
+         </firstname>
+         <surname>
+           Stroustrup
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         Addison-Wesley Publishing Company
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 44 -->
+    <biblioentry xml:id="biblio.vandevoorde2002cpptemplates">
+      <title>
+       C++ Templates: The Complete Guide
+      </title>
+      <date>
+       2002
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             D.
+           </firstname>
+           <surname>
+             Vandevoorde
+           </surname>
+         </personname>
+       </author>
+
+       <author>
+         <personname>
+           <firstname>
+             N. M.
+           </firstname>
+           <surname>
+             Josuttis
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+      <publisher>
+       <publishername>
+         Addison-Wesley Publishing Company
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 45 -->
+    <biblioentry xml:id="biblio.wickland96thirty">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="http://myweb.wvnet.edu/~gsa00121/books/amongdead30.zip">
+         Thirty Years Among the Dead
+       </link>
+      </title>
+      <date>
+       1996
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           C. A.
+         </firstname>
+         <surname>
+           Wickland
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         National Psychological Institute
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+
+  </bibliography>
+
+</chapter>
index 808ca0341cda7befe4d76d21c906f6869963c1ac..fd4b6fd910a149af4d307803b1cd591f02f6d4fa 100644 (file)
@@ -8,6 +8,7 @@
   <copyright>
     <year>2009</year>
     <year>2010</year>
+    <year>2011</year>
     <holder>
       <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.fsf.org">FSF</link>
     </holder>
diff --git a/libstdc++-v3/doc/xml/manual/test_policy_data_structures.xml b/libstdc++-v3/doc/xml/manual/test_policy_data_structures.xml
new file mode 100644 (file)
index 0000000..0c0fc03
--- /dev/null
@@ -0,0 +1,9774 @@
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+        xml:id="pbds.test" xreflabel="Test">
+  <info><title>Testing</title></info>
+  <?dbhtml filename="policy_based_data_structures_test.html"?>
+
+  <!-- S01 regression -->
+  <section xml:id="pbds.test.regression">
+    <info><title>Regression</title></info>
+
+    <para>The library contains a single comprehensive regression test.
+    For a given container type in this library, the test creates
+    an object of the container type and an object of the
+    corresponding standard type (e.g., <classname>std::set</classname>). It
+    then performs a random sequence of methods with random
+    arguments (e.g., inserts, erases, and so forth) on both
+    objects. At each operation, the test checks the return value of
+    the method, and optionally both compares this library's
+    object with the standard's object as well as performing other
+    consistency checks on this library's object (e.g.,
+    order preservation, when applicable, or node invariants, when
+    applicable).</para>
+
+    <para>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 (e.g.,
+    resource leaks and multiple de-allocations). Both
+    this library's containers and the containers' value-types are
+    configured to use this allocator.</para>
+
+    <para>For granularity, the test is split into the
+    several sources, each checking only some containers.</para>
+
+    <para>For more details, consult the files in
+    <filename>testsuite/ext/pb_ds/regression</filename>.</para>
+  </section>
+
+  <!-- S02 performance -->
+  <section xml:id="pbds.test.performance">
+    <info><title>Performance</title></info>
+
+    <section xml:id="performance.hash">
+      <info><title>Hash-Based</title></info>
+      <para></para>
+
+      <!-- 01 <a href="hash_text_find_find_timing_test"> -->
+      <section xml:id="performance.hash.text_find">
+       <info><title>
+         Text <function>find</function>
+       </title></info>
+       <para></para>
+
+       <section xml:id="hash.text_find.info">
+         <info><title>
+           Description
+         </title></info>
+
+         <para>
+           This test inserts a number of values with keys from an
+           arbitrary text (<xref
+           linkend="biblio.wickland96thirty"/>) into a container,
+           then performs a series of finds using
+           <function>find</function> . It measures the average
+           time for <function>find</function> as a function of
+         the number of values inserted.</para>
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/text_find_timing_test.cc
+           </filename>
+         </para>
+
+         <para>
+           And uses the data file:
+           <filename>
+             filethirty_years_among_the_dead_preproc.txt
+           </filename>
+         </para>
+
+         <para>The test checks the effect of different range-hashing
+         functions, trigger policies, and cache-hashing policies.
+         </para>
+
+       </section>
+
+       <section xml:id="hash.text_find.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>The graphic below show the results for the native
+         and collision-chaining hash types the the function
+         applied being a text find timing test using
+         <function>find</function>.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_text_find_timing_test_hash_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_hash_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="5" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <colspec colname="c4"/>
+             <colspec colname="c5"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   n_hash_map_ncah
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::tr1::unordered_map</classname>
+                 </entry>
+                 <entry>
+                   <classname>cache_hash_code</classname>
+                 </entry>
+                 <entry>
+                   <constant>false</constant>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <!-- hash 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mod_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_prime_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/1
+                 </entry>
+               </row>
+
+               <!-- hash 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   cc_hash_mask_exp_nea_lc_1div8_1div2_sth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>
+                     cc_hash_table
+                   </classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+               <!-- hash 03 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/1
+                 </entry>
+               </row>
+
+               <!-- hash 04 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map
+                 </entry>
+               </row>
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+       </section>
+
+       <section xml:id="hash.text_find.observations">
+         <info><title>
+           Observations
+         </title></info>
+
+         <para>In this setting, the range-hashing scheme affects performance
+         more than other policies. As the results show, containers using
+         mod-based range-hashing (including the native hash-based container,
+         which is currently hard-wired to this scheme) have lower performance
+         than those using mask-based range-hashing. A modulo-based
+         range-hashing scheme's main benefit is that it takes into account
+         all hash-value bits. Standard string hash-functions are designed to
+         create hash values that are nearly-uniform as is (<xref
+         linkend="biblio.knuth98sorting"/>).</para>
+
+         <para>Trigger policies, i.e. the load-checks constants, affect
+         performance to a lesser extent.</para>
+
+         <para>Perhaps surprisingly, storing the hash value alongside each
+         entry affects performance only marginally, at least in this
+         library's implementation. (Unfortunately, it was not possible to run
+         the tests with <classname>std::tr1::unordered_map</classname> 's
+         <classname>cache_hash_code = true</classname> , as it appeared to
+         malfuntion.)</para>
+
+       </section>
+
+      </section>
+
+      <!-- 02 <a href="hash_int_find_timing_test"> -->
+      <section xml:id="performance.hash.int_find">
+       <info><title>
+         Integer <function>find</function>
+       </title></info>
+       <para></para>
+
+       <section xml:id="hash.int_find.info">
+         <info><title>
+           Description
+         </title></info>
+
+         <para>This test inserts a number of values with uniform
+         integer keys into a container, then performs a series of finds
+         using <function>find</function>. It measures the average time
+         for <function>find</function> as a function of the number of values
+         inserted.</para>
+
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/random_int_find_timing.cc
+           </filename>
+         </para>
+
+         <para>The test checks the effect of different underlying
+         hash-tables,
+         range-hashing functions, and trigger policies.</para>
+
+       </section>
+
+       <section xml:id="hash.int_find.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>
+           There are two sets of results for this type, one for
+           collision-chaining hashes, and one for general-probe hashes.
+         </para>
+
+         <para>The first graphic below shows the results for the native and
+         collision-chaining hash types. The function applied being a random
+         integer timing test using <function>find</function>.
+         </para>
+
+         <!-- results graphic 01 -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_cc_hash_random_int_find_timing_test_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_find_timing_test_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="5" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <colspec colname="c4"/>
+             <colspec colname="c5"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   n_hash_map_ncah
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::tr1::unordered_map</classname>
+                 </entry>
+                 <entry>
+                   <classname>cache_hash_code</classname>
+                 </entry>
+                 <entry>
+                   <constant>false</constant>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <!-- hash 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mod_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_prime_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/1
+                 </entry>
+               </row>
+
+               <!-- hash 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   cc_hash_mod_prime_nea_lc_1div8_1div2_nsth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>
+                     cc_hash_table
+                   </classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mod_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_prime_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+               <!-- hash 03 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/1
+                 </entry>
+               </row>
+
+               <!-- hash 04 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map
+                 </entry>
+               </row>
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+         <para>
+         </para>
+
+         <para>
+         </para>
+
+         <para>And the second graphic shows the results for the native and
+         general-probe hash types. The function applied being a random
+         integer timing test using <function>find</function>.
+         </para>
+
+         <!-- results graphic 02 -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_gp_hash_random_int_find_timing_test_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_find_timing_test_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="5" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <colspec colname="c4"/>
+             <colspec colname="c5"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   n_hash_map_ncah
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::tr1::unordered_map</classname>
+                 </entry>
+                 <entry>
+                   <classname>cache_hash_code</classname>
+                 </entry>
+                 <entry>
+                   <constant>false</constant>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <!-- hash 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="3" valign="top">
+                   <classname>gp_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mod_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Probe_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>quadratic_probe_fn</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_prime_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+               <!-- hash 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="3" valign="top">
+                   <classname>
+                     gp_hash_table
+                   </classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Probe_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>linear_probe_fn</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+       </section>
+
+       <section xml:id="hash.int_find.observations">
+         <info><title>
+           Observations
+         </title></info>
+
+         <para>In this setting, the choice of underlying hash-table affects
+         performance most, then the range-hashing scheme and, only finally,
+         other policies.</para>
+
+         <para>When comparing probing and chaining containers, it is
+         apparent that the probing containers are less efficient than the
+         collision-chaining containers (
+         <classname>std::tr1::unordered_map</classname> uses
+         collision-chaining) in this case.</para>
+
+         <para>Hash-Based Integer Subscript Insert Timing Test shows
+         a different case, where the situation is reversed;
+         </para>
+
+         <para>Within each type of hash-table, the range-hashing scheme
+         affects performance more than other policies; Hash-Based Text
+         <function>find</function> Find Timing Test also shows this. In the
+         above graphics should be noted that
+         <classname>std::tr1::unordered_map</classname> are hard-wired
+         currently to mod-based schemes.
+         </para>
+
+       </section>
+
+      </section>
+
+      <!-- 03 <a href="hash_int_subscript_find_test"> -->
+      <section xml:id="performance.hash.int_subscript_find">
+       <info><title>
+         Integer Subscript <function>find</function>
+       </title></info>
+       <para></para>
+
+       <section xml:id="hash.int_subscript_find.info">
+         <info><title>
+           Description
+         </title></info>
+
+         <para>This test inserts a number of values with uniform
+         integer keys into a container, then performs a series of finds
+         using <function>operator[]</function>. It measures the average time
+         for <function>operator[]</function> as a function of the number of
+         values inserted.</para>
+
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/random_int_subscript_find_timing.cc
+           </filename>
+         </para>
+
+         <para>The test checks the effect of different underlying
+         hash-tables, range-hashing functions, and trigger policies.</para>
+
+
+       </section>
+
+       <section xml:id="hash.int_subscript_find.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>
+           There are two sets of results for this type, one for
+           collision-chaining hashes, and one for general-probe hashes.
+         </para>
+
+         <para>The first graphic below shows the results for the native
+         and collision-chaining hash types, using as the function
+         applied an integer subscript timing test with
+         <function>find</function>.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_cc_hash_random_int_subscript_timing_test_find_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_find_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+         <informaltable frame="all">
+
+           <tgroup cols="5" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <colspec colname="c4"/>
+             <colspec colname="c5"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   n_hash_map_ncah
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::tr1::unordered_map</classname>
+                 </entry>
+                 <entry>
+                   <classname>cache_hash_code</classname>
+                 </entry>
+                 <entry>
+                   <constant>false</constant>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <!-- hash 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mod_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_prime_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/1
+                 </entry>
+               </row>
+
+               <!-- hash 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   cc_hash_mod_prime_nea_lc_1div8_1div2_nsth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mod_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_prime_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+               <!-- hash 03 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/1
+                 </entry>
+               </row>
+
+               <!-- hash 04 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map
+                 </entry>
+               </row>
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+         <para>
+         </para>
+
+         <para>
+         </para>
+
+         <para>And the second graphic shows the results for the native and
+         general-probe hash types. The function applied being a random
+         integer timing test using <function>find</function>.
+         </para>
+
+         <!-- results graphic 02 -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_gp_hash_random_int_subscript_timing_test_find_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_find_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="5" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <colspec colname="c4"/>
+             <colspec colname="c5"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   n_hash_map_ncah
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::tr1::unordered_map</classname>
+                 </entry>
+                 <entry>
+                   <classname>cache_hash_code</classname>
+                 </entry>
+                 <entry>
+                   <constant>false</constant>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <!-- hash 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="3" valign="top">
+                   <classname>gp_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mod_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Probe_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>quadratic_probe_fn</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_prime_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+               <!-- hash 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="3" valign="top">
+                   <classname>
+                     gp_hash_table
+                   </classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Probe_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>linear_probe_fn</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+       </section>
+
+       <section xml:id="hash.int_subscript_find.observations">
+         <info><title>
+           Observations
+         </title></info>
+         <para>This test shows similar results to Hash-Based
+         Integer <classname>find</classname> Find Timing test.</para>
+
+       </section>
+
+      </section>
+
+      <!-- 04 <a href="hash_random_int_subscript_insert_timing_test"> -->
+      <section xml:id="performance.hash.int_subscript_insert">
+       <info><title>
+         Integer Subscript <function>insert</function>
+       </title></info>
+       <para></para>
+
+       <section xml:id="hash.int_subscript_insert.info">
+         <info><title>
+           Description
+         </title></info>
+
+         <para>This test inserts a number of values with uniform i.i.d.
+         integer keys into a container, using
+         <function>operator[]</function>. It measures the average time for
+         <function>operator[]</function> as a function of the number of
+         values inserted.</para>
+
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/random_int_subscript_insert_timing.cc
+           </filename>
+         </para>
+
+         <para>The test checks the effect of different underlying
+         hash-tables.</para>
+
+
+       </section>
+
+       <section xml:id="hash.int_subscript_insert.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>
+           There are two sets of results for this type, one for
+           collision-chaining hashes, and one for general-probe hashes.
+         </para>
+
+         <para>The first graphic below shows the results for the native
+         and collision-chaining hash types, using as the function
+         applied an integer subscript timing test with
+         <function>insert</function>.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_cc_hash_random_int_subscript_timing_test_insert_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_cc_hash_random_int_subscript_timing_test_insert_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+         <informaltable frame="all">
+
+           <tgroup cols="5" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <colspec colname="c4"/>
+             <colspec colname="c5"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   n_hash_map_ncah
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::tr1::unordered_map</classname>
+                 </entry>
+                 <entry>
+                   <classname>cache_hash_code</classname>
+                 </entry>
+                 <entry>
+                   <constant>false</constant>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <!-- hash 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mod_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_prime_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/1
+                 </entry>
+               </row>
+
+               <!-- hash 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   cc_hash_mod_prime_nea_lc_1div8_1div2_nsth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mod_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_prime_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+               <!-- hash 03 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/1
+                 </entry>
+               </row>
+
+               <!-- hash 04 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map
+                 </entry>
+               </row>
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+         <para>
+         </para>
+
+         <para>
+         </para>
+
+         <para>And the second graphic shows the results for the native and
+         general-probe hash types. The function applied being a random
+         integer timing test using <function>find</function>.
+         </para>
+
+         <!-- results graphic 02 -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_gp_hash_random_int_subscript_timing_test_insert_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_gp_hash_random_int_subscript_timing_test_insert_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="5" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <colspec colname="c4"/>
+             <colspec colname="c5"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   n_hash_map_ncah
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::tr1::unordered_map</classname>
+                 </entry>
+                 <entry>
+                   <classname>cache_hash_code</classname>
+                 </entry>
+                 <entry>
+                   <constant>false</constant>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <!-- hash 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="3" valign="top">
+                   <classname>gp_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mod_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Probe_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>quadratic_probe_fn</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_prime_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+               <!-- hash 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="3" valign="top">
+                   <classname>
+                     gp_hash_table
+                   </classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Probe_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>linear_probe_fn</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+       </section>
+
+       <section xml:id="hash.int_subscript_insert.observations">
+         <info><title>
+           Observations
+         </title></info>
+
+         <para>In this setting, as in Hash-Based Text
+         <function>find</function> Find Timing test and Hash-Based
+         Integer <function>find</function> Find Timing test , the choice
+         of underlying hash-table underlying hash-table affects performance
+         most, then the range-hashing scheme, and
+         finally any other policies.</para>
+         <para>There are some differences, however:</para>
+         <orderedlist>
+           <listitem><para>In this setting, probing tables function sometimes more
+           efficiently than collision-chaining tables.
+           This is explained shortly.</para></listitem>
+           <listitem><para>The performance graphs have a "saw-tooth" shape. The
+           average insert time rises and falls. As values are inserted
+           into the container, the load factor grows larger. Eventually,
+           a resize occurs. The reallocations and rehashing are
+           relatively expensive. After this, the load factor is smaller
+           than before.</para></listitem>
+         </orderedlist>
+
+         <para>Collision-chaining containers use indirection for greater
+         flexibility; probing containers store values contiguously, in
+         an array (see Figure Motivation::Different
+         underlying data structures A and B, respectively). It
+         follows that for simple data types, probing containers access
+         their allocator less frequently than collision-chaining
+         containers, (although they still have less efficient probing
+         sequences). This explains why some probing containers fare
+         better than collision-chaining containers in this case.</para>
+
+         <para>
+           Within each type of hash-table, the range-hashing scheme affects
+           performance more than other policies. This is similar to the
+           situation in Hash-Based Text
+           <function>find</function> Find Timing Test and Hash-Based
+           Integer <function>find</function> Find Timing Test.
+           Unsurprisingly, however, containers with lower α<subscript>max</subscript> perform worse in this case,
+         since more re-hashes are performed.</para>
+
+       </section>
+
+      </section>
+
+
+      <!-- 05 <a href="hash_zlob_random_int_find_find_timing_test"> -->
+
+      <!-- 05 <a href="hash_zlob_random_int_find_find_timing_test"> -->
+      <section xml:id="performance.hash.zlob_int_find">
+       <info><title>
+         Integer <function>find</function> with Skewed-Distribution
+       </title></info>
+       <para></para>
+
+       <section xml:id="hash.zlob_int_find.info">
+         <info><title>
+           Description
+         </title></info>
+
+         <para>This test inserts a number of values with a markedly
+         non-uniform integer keys into a container, then performs
+         a series of finds using <function>find</function>. It measures the average
+         time for <function>find</function> as a function of the number of values in
+         the containers. The keys are generated as follows. First, a
+         uniform integer is created. Then it is then shifted left 8 bits.</para>
+
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc
+           </filename>
+         </para>
+
+         <para>The test checks the effect of different range-hashing
+         functions and trigger policies.</para>
+
+
+       </section>
+
+       <section xml:id="hash.zlob_int_find.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>The graphic below show the results for the native, collision-chaining, and general-probing hash types.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_hash_zlob_random_int_find_timing_test_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_hash_zlob_random_int_find_timing_test_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="5" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <colspec colname="c4"/>
+             <colspec colname="c5"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   n_hash_map_ncah
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::tr1::unordered_map</classname>
+                 </entry>
+                 <entry>
+                   <classname>cache_hash_code</classname>
+                 </entry>
+                 <entry>
+                   <constant>false</constant>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <!-- hash 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mod_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_prime_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/1
+                 </entry>
+               </row>
+
+               <!-- hash 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>
+                     cc_hash_table
+                   </classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/1
+                 </entry>
+               </row>
+
+               <!-- hash 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="3" valign="top">
+                   <classname>gp_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mod_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Probe_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>quadratic_probe_fn</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_prime_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+       </section>
+
+       <section xml:id="hash.zlob_int_find.observations">
+         <info><title>
+           Observations
+         </title></info>
+
+         <para>In this setting, the distribution of keys is so skewed that
+         the underlying hash-table type affects performance marginally.
+         (This is in contrast with Hash-Based Text
+         <function>find</function> Find Timing Test, Hash-Based
+         Integer <function>find</function> Find Timing Test, Hash-Based
+         Integer Subscript Find Timing Test and Hash-Based
+         Integer Subscript Insert Timing Test.)</para>
+
+         <para>The range-hashing scheme affects performance dramatically. A
+         mask-based range-hashing scheme effectively maps all values
+         into the same bucket. Access degenerates into a search within
+         an unordered linked-list. In the graphic above, it should be noted that
+         <classname>std::tr1::unordered_map</classname> is hard-wired currently to mod-based and mask-based schemes,
+         respectively.</para>
+
+         <para>When observing the settings of this test, it is apparent
+         that the keys' distribution is far from natural. One might ask
+         if the test is not contrived to show that, in some cases,
+         mod-based range hashing does better than mask-based range
+         hashing. This is, in fact just the case. A
+         more natural case in which mod-based range hashing is better was not encountered.
+         Thus the inescapable conclusion: real-life key distributions are handled better
+         with an appropriate hash function and a mask-based
+         range-hashing function. (<filename>pb_ds/example/hash_shift_mask.cc</filename>
+         shows an example of handling this a-priori known skewed
+         distribution with a mask-based range-hashing function). If hash
+         performance is bad, a χ<superscript>2</superscript> test can be used
+         to check how to transform it into a more uniform
+         distribution.</para>
+         <para>For this reason, this library's default range-hashing
+         function is mask-based.</para>
+
+       </section>
+
+      </section>
+
+
+      <!-- 06 <a href="hash_random_int_erase_mem_usage_test"> -->
+
+      <!-- 06 <a href="hash_random_int_erase_mem_usage_test"> -->
+      <section xml:id="performance.hash.erase_mem">
+       <info><title>
+         Erase Memory Use
+       </title></info>
+       <para></para>
+
+       <section xml:id="hash.erase_mem.info">
+         <info><title>
+           Description
+         </title></info>
+
+         <para>This test inserts a number of uniform integer keys
+         into a container, then erases all keys except one. It measures
+         the final size of the container.</para>
+
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc
+           </filename>
+         </para>
+
+
+         <para>The test checks how containers adjust internally as their
+         logical size decreases.</para>
+
+       </section>
+
+       <section xml:id="hash.erase_mem.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>The graphic below show the results for the native, collision-chaining, and general-probing hash types.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_hash_random_int_erase_mem_usage_test_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_hash_random_int_erase_mem_usage_test_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="5" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <colspec colname="c4"/>
+             <colspec colname="c5"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   n_hash_map_ncah
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::tr1::unordered_map</classname>
+                 </entry>
+                 <entry>
+                   <classname>cache_hash_code</classname>
+                 </entry>
+                 <entry>
+                   <constant>false</constant>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <!-- hash 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mod_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_prime_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/1
+                 </entry>
+               </row>
+
+               <!-- hash 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>
+                     cc_hash_table
+                   </classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+               <!-- hash 03 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c5">
+                   gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="3" valign="top">
+                   <classname>gp_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Probe_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>linear_probe_fn</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c5"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+       </section>
+
+       <section xml:id="hash.erase_mem.observations">
+         <info><title>
+           Observations
+         </title></info>
+         <para>The standard's hash-based containers act very differently than trees in
+         this respect. When erasing numerous keys from an standard
+         associative-container, the resulting memory user varies greatly
+         depending on whether the container is tree-based or hash-based.
+         This is a fundamental consequence of the standard's interface for
+         associative containers, and it is not due to a specific
+         implementation.</para>
+       </section>
+
+      </section>
+    </section>
+
+
+    <section xml:id="performance.branch">
+      <info><title>Branch-Based</title></info>
+      <para></para>
+
+      <!-- 01 <a href="tree_text_insert_timing_test"> -->
+      <section xml:id="performance.branch.text_insert">
+       <info><title>
+         Text <function>insert</function>
+       </title></info>
+       <para></para>
+
+       <section xml:id="branch.text_insert.info">
+         <info><title>
+           Description
+         </title></info>
+
+
+         <para>This test inserts a number of values with keys from an arbitrary
+         text ([ wickland96thirty ]) into a container
+         using <function>insert</function> . It measures the average time
+         for <function>insert</function> as a function of the number of
+         values inserted.</para>
+
+         <para>The test checks the effect of different underlying
+         data structures.</para>
+
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/tree_text_insert_timing.cc
+           </filename>
+         </para>
+
+
+       </section>
+
+       <section xml:id="branch.text_insert.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>The three graphics below show the results for the native
+         tree and this library's node-based trees, the native tree and
+         this library's vector-based trees, and the native tree
+         and this library's PATRICIA-trie, respectively.
+         </para>
+
+         <para>The graphic immediately below shows the results for the
+         native tree type and several node-based tree types.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_tree_text_insert_timing_test_node_tree_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_node_tree_local.png"/>
+             </imageobject>
+           </mediaobject>
+
+
+           <para>
+             The abbreviated names in the legend of the graphic above are
+             instantiated with the types in the following table.
+           </para>
+         </informalfigure>
+
+         <informaltable frame="all">
+           <tgroup cols="3" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::map</classname>
+                 </entry>
+                 <entry namest="c2" nameend="c3"></entry>
+               </row>
+
+               <!-- branch 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   splay_tree_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>splay_tree_tag</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+               </row>
+
+
+               <!-- branch 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   rb_tree_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rb_tree_tag</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+
+         <para>The graphic below shows the results for the
+         native tree type and a vector-based tree type.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_tree_text_insert_timing_test_vector_tree_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_vector_tree_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="3" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::map</classname>
+                 </entry>
+                 <entry namest="c2" nameend="c3"></entry>
+               </row>
+
+               <!-- branch 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   ov_tree_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>ov_tree_tag</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+               </row>
+
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+
+
+         <para>The graphic below shows the results for the
+         native tree type and a PATRICIA trie type.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_tree_text_insert_timing_test_pat_trie_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_tree_text_insert_timing_test_pat_trie_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="3" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::map</classname>
+                 </entry>
+                 <entry namest="c2" nameend="c3"></entry>
+               </row>
+
+               <!-- branch 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   pat_trie_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>pat_trie_tag</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+               </row>
+
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+       </section>
+
+       <section xml:id="branch.text_insert.observations">
+         <info><title>
+           Observations
+         </title></info>
+
+         <para>Observing the first graphic implies that for this setting, a splay tree
+         (<classname>tree</classname> with <classname>Tag
+         </classname> = <classname>splay_tree_tag</classname>) does not do
+         well. See also the Branch-Based
+         Text <function>find</function> Find Timing Test. The two
+         red-black trees perform better.</para>
+
+         <para>Observing the second graphic, an ordered-vector tree
+         (<classname>tree</classname> with <classname>Tag
+         </classname> = <classname>ov_tree_tag</classname>) performs
+         abysmally. Inserting into this type of tree has linear complexity
+         [ austern00noset].</para>
+
+         <para>Observing the third and last graphic, A PATRICIA trie
+         (<classname>trie</classname> with <classname>Tag
+         </classname> = <classname>pat_trie_tag</classname>) has abysmal
+         performance, as well. This is not that surprising, since a
+         large-fan-out PATRICIA trie works like a hash table with
+         collisions resolved by a sub-trie. Each time a collision is
+         encountered, a new "hash-table" is built A large fan-out PATRICIA
+         trie, however, doe does well in look-ups (see Branch-Based
+         Text <function>find</function> Find Timing Test). It may be
+         beneficial in semi-static settings.</para>
+       </section>
+
+      </section>
+
+
+      <!-- 02 <a href="tree_text_find_find_timing_test"> -->
+      <section xml:id="performance.branch.text_find">
+       <info><title>
+         Text <function>find</function>
+       </title></info>
+       <para></para>
+
+       <section xml:id="branch.text_find.info">
+         <info><title>
+           Description
+         </title></info>
+
+
+         <para>This test inserts a number of values with keys from an
+         arbitrary text ([wickland96thirty]) into
+         a container, then performs a series of finds using
+         <function>find</function>. It measures the average time
+         for <function>find</function> as a function of the number of
+         values inserted.</para>
+
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/text_find_timing.cc
+           </filename>
+         </para>
+
+
+         <para>The test checks the effect of different underlying
+         data structures.</para>
+
+       </section>
+
+       <section xml:id="branch.text_find.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>The graphic immediately below shows the results for the
+         native tree type and several other tree types.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_text_find_timing_test_tree_like_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_text_find_timing_test_tree_like_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="3" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::map</classname>
+                 </entry>
+                 <entry namest="c2" nameend="c3"></entry>
+               </row>
+
+               <!-- branch 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   splay_tree_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>splay_tree_tag</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+               </row>
+
+
+               <!-- branch 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   rb_tree_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rb_tree_tag</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+               </row>
+
+
+               <!-- branch 03 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   ov_tree_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>ov_tree_tag</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+               </row>
+
+
+               <!-- branch 05 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   pat_trie_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>pat_trie_tag</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+       </section>
+
+       <section xml:id="branch.text_find.observations">
+         <info><title>
+           Observations
+         </title></info>
+
+         <para>For this setting, a splay tree (<classname>tree</classname>
+         with <classname>Tag
+         </classname> = <classname>splay_tree_tag</classname>) does not do
+         well. This is possibly due to two reasons:</para>
+
+         <orderedlist>
+           <listitem><para>A splay tree is not guaranteed to be balanced [motwani95random]. If a
+           splay tree contains n nodes, its average root-leaf
+           path can be m &gt;&gt; log(n).</para></listitem>
+           <listitem><para>Assume a specific root-leaf search path has length
+           m, and the search-target node has distance m'
+           from the root. A red-black tree will require m + 1
+           comparisons to find the required node; a splay tree will
+           require 2 m' comparisons. A splay tree, consequently,
+           can perform many more comparisons than a red-black tree.</para></listitem>
+         </orderedlist>
+         <para>An ordered-vector tree (<classname>tree</classname>
+         with <classname>Tag</classname> =  <classname>ov_tree_tag</classname>), a red-black
+         tree (<classname>tree</classname>
+         with <classname>Tag</classname>  = <classname>rb_tree_tag</classname>), and the
+         native red-black tree all share approximately the same
+         performance.</para>
+         <para>An ordered-vector tree is slightly slower than red-black
+         trees, since it requires, in order to find a key, more math
+         operations than they do. Conversely, an ordered-vector tree
+         requires far lower space than the others. ([austern00noset], however,
+         seems to have an implementation that is also faster than a
+         red-black tree).</para>
+         <para>A PATRICIA trie (<classname>trie</classname>
+         with <classname>Tag</classname> = <classname>pat_trie_tag</classname>) has good
+         look-up performance, due to its large fan-out in this case. In
+         this setting, a PATRICIA trie has look-up performance comparable
+         to a hash table (see Hash-Based Text
+         <classname>find</classname> Timing Test), but it is order
+         preserving. This is not that surprising, since a large-fan-out
+         PATRICIA trie works like a hash table with collisions resolved
+         by a sub-trie. A large-fan-out PATRICIA trie does not do well on
+         modifications (see Tree-Based and Trie-Based
+         Text Insert Timing Test). Therefore, it is possibly beneficial in
+         semi-static settings.</para>
+       </section>
+      </section>
+
+
+      <!-- 03 <a href="tree_text_lor_find_find_timing_test"> -->
+      <section xml:id="performance.branch.text_lor_find">
+
+       <info><title>
+         Text <function>find</function> with Locality-of-Reference
+       </title></info>
+       <para></para>
+
+       <section xml:id="branch.text_lor_find.info">
+         <info><title>
+           Description
+         </title></info>
+
+
+
+         <para>This test inserts a number of values with keys from an
+         arbitrary text ([ wickland96thirty ]) into
+         a container, then performs a series of finds using
+         <function>find</function>. It is different than Tree-Based and
+         Trie-Based Text <function>find</function> Find Timing Test in the
+         sequence of finds it performs: this test performs multiple
+         <function>find</function>s on the same key before moving on to the next
+         key. It measures the average time for <function>find</function> as a
+         function of the number of values inserted.</para>
+
+
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/tree_text_lor_find_timing.cc
+           </filename>
+         </para>
+
+         <para>The test checks the effect of different underlying
+         data structures in a locality-of-reference setting.</para>
+
+       </section>
+
+       <section xml:id="branch.text_lor_find.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>The graphic immediately below shows the results for the
+         native tree type and several other tree types.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_tree_text_lor_find_timing_test_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_tree_text_lor_find_timing_test_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="3" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::map</classname>
+                 </entry>
+                 <entry namest="c2" nameend="c3"></entry>
+               </row>
+
+               <!-- branch 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   splay_tree_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>splay_tree_tag</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+               </row>
+
+
+               <!-- branch 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   rb_tree_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rb_tree_tag</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+               </row>
+
+
+               <!-- branch 03 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   ov_tree_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>ov_tree_tag</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+               </row>
+
+
+               <!-- branch 05 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   pat_trie_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>pat_trie_tag</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+       </section>
+
+       <section xml:id="branch.text_lor_find.observations">
+         <info><title>
+           Observations
+         </title></info>
+
+         <para>For this setting, an ordered-vector tree
+         (<classname>tree</classname> with <classname>Tag</classname>
+         = <classname>ov_tree_tag</classname>), a red-black tree
+         (<classname>tree</classname> with <classname>Tag</classname>
+         = <classname>rb_tree_tag</classname>), and the native red-black
+         tree all share approximately the same performance.</para>
+         <para>A splay tree (<classname>tree</classname>
+         with <classname>Tag</classname> = <classname>splay_tree_tag</classname>) does
+         much better, since each (successful) find "bubbles" the
+         corresponding node to the root of the tree.</para>
+
+       </section>
+      </section>
+
+      <!-- 04 <a href="tree_split_join_timing_test"> -->
+      <section xml:id="performance.branch.split_join">
+
+       <info><title>
+         <function>split</function> and <function>join</function>
+       </title></info>
+       <para></para>
+
+       <section xml:id="branch.split_join.info">
+         <info><title>
+           Description
+         </title></info>
+
+
+         <para>This test a container, inserts into a number of values, splits
+         the container at the median, and joins the two containers. (If the
+         containers are one of this library's trees,
+         it splits and joins with the <function>split</function> and
+         <function>join</function> method; otherwise, it uses the <function>erase</function> and
+         <function>insert</function> methods.) It measures the time for splitting
+         and joining the containers as a function of the number of
+         values inserted.</para>
+
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/tree_split_join_timing.cc
+           </filename>
+         </para>
+
+
+         <para>The test checks the performance difference of <function>join</function>
+         as opposed to a sequence of <function>insert</function> operations; by
+         implication, this test checks the most efficient way to erase a
+         sub-sequence from a tree-like-based container, since this can
+         always be performed by a small sequence of splits and joins.
+         </para>
+       </section>
+
+       <section xml:id="branch.split_join.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>The graphic immediately below shows the results for the
+         native tree type and several other tree types.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_tree_split_join_timing_test_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_tree_split_join_timing_test_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="3" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::set</classname>
+                 </entry>
+                 <entry namest="c2" nameend="c3"></entry>
+               </row>
+
+               <!-- branch 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   splay_tree_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>splay_tree_tag</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+               </row>
+
+
+               <!-- branch 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   rb_tree_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rb_tree_tag</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+               </row>
+
+
+               <!-- branch 03 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   ov_tree_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>ov_tree_tag</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+               </row>
+
+
+               <!-- branch 05 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   pat_trie_map
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>pat_trie_tag</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+       </section>
+
+       <section xml:id="branch.split_join.observations">
+         <info><title>
+           Observations
+         </title></info>
+
+         <para>In this test, the native red-black trees must be split and
+         joined externally, through a sequence of <function>erase</function> and
+         <function>insert</function> operations. This is clearly
+         super-linear, and it is not that surprising that the cost is
+         high.</para>
+         <para>This library's tree-based containers use in this test the
+         <function>split</function> and <function>join</function> methods,
+         which have lower complexity: the <function>join</function> method
+         of a splay tree (<classname>tree</classname>
+         with <classname>Tag </classname>
+         = <classname>splay_tree_tag</classname>) is quadratic in the
+         length of the longest root-leaf path, and linear in the total
+         number of elements; the <function>join</function> method of a
+         red-black tree (<classname>tree</classname>
+         with <classname>Tag </classname>
+         = <classname>rb_tree_tag</classname>) or an ordered-vector tree
+         (<classname>tree</classname> with <classname>Tag </classname>
+         = <classname>ov_tree_tag</classname>) is linear in the number of
+         elements.</para>
+
+         <para>Asides from orders of growth, this library's trees access their
+         allocator very little in these operations, and some of them do not
+         access it at all. This leads to lower constants in their
+         complexity, and, for some containers, to exception-free splits and
+         joins (which can be determined
+         via <classname>container_traits</classname>).</para>
+
+         <para>It is important to note that <function>split</function> and
+         <function>join</function> are not esoteric methods - they are the most
+         efficient means of erasing a contiguous range of values from a
+         tree based container.</para>
+       </section>
+      </section>
+
+      <!-- 05 <a href="tree_order_statistics_timing_test"> -->
+      <section xml:id="performance.branch.order_statistics">
+
+       <info><title>
+         Order-Statistics
+       </title></info>
+       <para></para>
+
+       <section xml:id="branch.order_statistics.info">
+         <info><title>
+           Description
+         </title></info>
+
+         <para>This test creates a container, inserts random integers into the
+         the container, and then checks the order-statistics of the
+         container's values. (If the container is one of this
+         library's trees, it does this with
+         the <function>order_of_key</function> method of
+         <classname>tree_order_statistics_node_update</classname>
+         ; otherwise, it uses the <function>find</function> method and
+         <function>std::distance</function>.) It measures the average
+         time for such queries as a function of the number of values
+         inserted.</para>
+
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/tree_order_statistics_timing.cc
+           </filename>
+         </para>
+
+         <para>The test checks the performance difference of policies based
+         on node-invariant as opposed to a external functions.</para>
+
+       </section>
+
+       <section xml:id="branch.order_statistics.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>The graphic immediately below shows the results for the
+         native tree type and several other tree types.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_tree_order_statistics_timing_test_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_tree_order_statistics_timing_test_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="3" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::set</classname>
+                 </entry>
+                 <entry namest="c2" nameend="c3"></entry>
+               </row>
+
+               <!-- branch 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   splay_tree_ost_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>splay_tree_tag</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>tree_order_statistics_node_update</classname>
+                 </entry>
+               </row>
+
+
+               <!-- branch 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   rb_tree_ost_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rb_tree_tag</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>tree_order_statistics_node_update</classname>
+                 </entry>
+               </row>
+
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+       </section>
+
+       <section xml:id="branch.order_statistics.observations">
+         <info><title>
+           Observations
+         </title></info>
+         <para>In this test, the native red-black tree can support
+         order-statistics queries only externally, by performing a
+         <classname>find</classname> (alternatively, <classname>lower_bound</classname> or
+         <classname>upper_bound</classname> ) and then using <classname>std::distance</classname> .
+         This is clearly linear, and it is not that surprising that the
+         cost is high.</para>
+         <para>This library's tree-based containers use in this test the
+         <classname>order_of_key</classname> method of <classname>tree_order_statistics_node_update</classname>.
+         This method has only linear complexity in the length of the
+         root-node path. Unfortunately, the average path of a splay tree
+         (<classname>tree</classname>
+         with <classname>Tag =</classname> <classname>splay_tree_tag</classname> ) can
+         be higher than logarithmic; the longest path of a red-black
+         tree (<classname>tree</classname>
+         with <classname>Tag =</classname> <classname>rb_tree_tag</classname> ) is
+         logarithmic in the number of elements. Consequently, the splay
+         tree has worse performance than the red-black tree.</para>
+       </section>
+      </section>
+
+    </section> <!-- branch -->
+
+    <section xml:id="performance.multimap">
+      <info><title>Multimap</title></info>
+      <para></para>
+
+
+      <!-- 01 <a href="multimap_text_find_timing_test_small"> -->
+      <section xml:id="performance.multimap.text_find_small">
+       <info><title>
+         Text <function>find</function> with Small Secondary-to-Primary Key Ratios 
+       </title></info>
+       <para></para>
+
+       <section xml:id="multimap.text_find_small.info">
+         <info><title>
+           Description
+         </title></info>
+
+         <para>This test inserts a number of pairs into a container. The
+         first item of each pair is a string from an arbitrary text
+         [wickland96thirty], and
+         the second is a uniform i.i.d.integer. The container is a
+         "multimap" - it considers the first member of each pair as a
+         primary key, and the second member of each pair as a secondary
+         key (see Motivation::Associative
+         Containers::Alternative to Multiple Equivalent Keys). There
+         are 400 distinct primary keys, and the ratio of secondary keys
+         to primary keys ranges from 1 to 5.</para>
+         <para>The test measures the average find-time as a function of the
+         number of values inserted. For this library's containers, it
+         finds the secondary key from a container obtained from finding
+         a primary key. For the native multimaps, it searches a range
+         obtained using <classname>std::equal_range</classname> on a primary key.</para>
+
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/multimap_text_find_timing_small.cc
+           </filename>
+         </para>
+
+         <para>The test checks the find-time scalability of different
+         "multimap" designs.</para>
+
+       </section>
+
+       <section xml:id="multimap.text_find_small.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>The graphic below show the results for "multimaps" which
+         use a tree-based container for primary keys.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_tree_local.png"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="33"
+                          fileref="../images/pbds_multimap_text_find_timing_test_small_s2p_tree_local.pdf"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="7" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <colspec colname="c4"/>
+             <colspec colname="c5"/>
+             <colspec colname="c6"/>
+             <colspec colname="c7"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   n_mmap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::multimap</classname>
+                 </entry>
+                 <entry namest="c2" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_lu_mtf_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rb_tree_tag</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+               <row>
+                 <entry>
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry>
+                   <classname>list_update</classname>
+                 </entry>
+                 <entry>
+                   <classname>Update_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>lu_move_to_front_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="4" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rb_tree_tag</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+         <para>The graphic below show the results for "multimaps" which
+         use a hash-based container for primary keys.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_hash_local.png"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="33"
+                          fileref="../images/pbds_multimap_text_find_timing_test_small_s2p_hash_local.pdf"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+         <informaltable frame="all">
+
+           <tgroup cols="7" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <colspec colname="c4"/>
+             <colspec colname="c5"/>
+             <colspec colname="c6"/>
+             <colspec colname="c7"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   n_hash_mmap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::tr1::unordered_multimap</classname>
+                 </entry>
+                 <entry namest="c2" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_lu_mtf_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="3" valign="top">
+                   <classname>
+                     cc_hash_table
+                   </classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry>
+                   <classname>list_update</classname>
+                 </entry>
+                 <entry>
+                   <classname>Update_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>lu_move_to_front_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="5" valign="top">
+                   <classname>
+                     cc_hash_table
+                   </classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+       </section>
+
+       <section xml:id="multimap.text_find_small.observations">
+         <info><title>
+           Observations
+         </title></info>
+
+         <para>See Observations::Mapping-Semantics
+         Considerations.</para>
+
+       </section>
+
+      </section>
+
+      <!-- 02 <a href="multimap_text_find_timing_test_large"> -->
+      <section xml:id="performance.multimap.text_find_large">
+       <info><title>
+         Text <function>find</function> with Large Secondary-to-Primary Key Ratios 
+       </title></info>
+       <para></para>
+
+       <section xml:id="multimap.text_find_large.info">
+         <info><title>
+           Description
+         </title></info>
+
+         <para>This test inserts a number of pairs into a container. The
+         first item of each pair is a string from an arbitrary text
+         [wickland96thirty], and
+         the second is a uniform integer. The container is a
+         "multimap" - it considers the first member of each pair as a
+         primary key, and the second member of each pair as a secondary
+         key. There
+         are 400 distinct primary keys, and the ratio of secondary keys
+         to primary keys ranges from 1 to 5.</para>
+         <para>The test measures the average find-time as a function of the
+         number of values inserted. For this library's containers, it
+         finds the secondary key from a container obtained from finding
+         a primary key. For the native multimaps, it searches a range
+         obtained using <classname>std::equal_range</classname> on a primary key.</para>
+
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/multimap_text_find_timing_large.cc
+           </filename>
+         </para>
+
+         <para>The test checks the find-time scalability of different
+         "multimap" designs.</para>
+
+       </section>
+
+       <section xml:id="multimap.text_find_large.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>The graphic below show the results for "multimaps" which
+         use a tree-based container for primary keys.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_tree_local.png"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="33"
+                          fileref="../images/pbds_multimap_text_find_timing_test_large_s2p_tree_local.pdf"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="7" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <colspec colname="c4"/>
+             <colspec colname="c5"/>
+             <colspec colname="c6"/>
+             <colspec colname="c7"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   n_mmap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::multimap</classname>
+                 </entry>
+                 <entry namest="c2" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_lu_mtf_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rb_tree_tag</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+               <row>
+                 <entry>
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry>
+                   <classname>list_update</classname>
+                 </entry>
+                 <entry>
+                   <classname>Update_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>lu_move_to_front_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="4" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rb_tree_tag</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+         <para>The graphic below show the results for "multimaps" which
+         use a hash-based container for primary keys.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_hash_local.png"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="33"
+                          fileref="../images/pbds_multimap_text_find_timing_test_large_s2p_hash_local.pdf"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+         <informaltable frame="all">
+
+           <tgroup cols="7" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <colspec colname="c4"/>
+             <colspec colname="c5"/>
+             <colspec colname="c6"/>
+             <colspec colname="c7"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   n_hash_mmap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::tr1::unordered_multimap</classname>
+                 </entry>
+                 <entry namest="c2" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_lu_mtf_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="3" valign="top">
+                   <classname>
+                     cc_hash_table
+                   </classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry>
+                   <classname>list_update</classname>
+                 </entry>
+                 <entry>
+                   <classname>Update_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>lu_move_to_front_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="5" valign="top">
+                   <classname>
+                     cc_hash_table
+                   </classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+       </section>
+
+       <section xml:id="multimap.text_find_large.observations">
+         <info><title>
+           Observations
+         </title></info>
+
+         <para>See Observations::Mapping-Semantics
+         Considerations.</para>
+
+       </section>
+
+      </section>
+
+
+      <!-- 03 <a href="multimap_text_insert_timing_test_small"> -->
+      <section xml:id="performance.multimap.text_insert_small">
+       <info><title>
+         Text <function>insert</function> with Small
+         Secondary-to-Primary Key Ratios
+       </title></info>
+       <para></para>
+
+       <section xml:id="multimap.text_insert_small.info">
+         <info><title>
+           Description
+         </title></info>
+
+         <para>This test inserts a number of pairs into a container. The
+         first item of each pair is a string from an arbitrary text
+         [wickland96thirty], and
+         the second is a uniform integer. The container is a
+         "multimap" - it considers the first member of each pair as a
+         primary key, and the second member of each pair as a secondary
+         key. There
+         are 400 distinct primary keys, and the ratio of secondary keys
+         to primary keys ranges from 1 to 5.</para>
+         <para>The test measures the average insert-time as a function of
+         the number of values inserted. For this library's containers,
+         it inserts a primary key into the primary associative
+         container, then a secondary key into the secondary associative
+         container. For the native multimaps, it obtains a range using
+         <classname>std::equal_range</classname>, and inserts a value only if it was
+         not contained already.</para>
+
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/multimap_text_insert_timing_small.cc
+           </filename>
+         </para>
+
+         <para>The test checks the insert-time scalability of different
+         "multimap" designs.</para>
+
+       </section>
+
+       <section xml:id="multimap.text_insert_small.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>The graphic below show the results for "multimaps" which
+         use a tree-based container for primary keys.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_small_s2p_tree_local.png"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="33"
+                          fileref="../images/pbds_multimap_text_insert_timing_test_small_s2p_tree_local.pdf"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="7" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <colspec colname="c4"/>
+             <colspec colname="c5"/>
+             <colspec colname="c6"/>
+             <colspec colname="c7"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   n_mmap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::multimap</classname>
+                 </entry>
+                 <entry namest="c2" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_lu_mtf_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rb_tree_tag</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+               <row>
+                 <entry>
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry>
+                   <classname>list_update</classname>
+                 </entry>
+                 <entry>
+                   <classname>Update_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>lu_move_to_front_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="4" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rb_tree_tag</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+         <para>The graphic below show the results for "multimaps" which
+         use a hash-based container for primary keys.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_small_s2p_hash_local.png"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="33"
+                          fileref="../images/pbds_multimap_text_find_timing_test_small_s2p_hash_local.pdf"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+         <informaltable frame="all">
+
+           <tgroup cols="7" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <colspec colname="c4"/>
+             <colspec colname="c5"/>
+             <colspec colname="c6"/>
+             <colspec colname="c7"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   n_hash_mmap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::tr1::unordered_multimap</classname>
+                 </entry>
+                 <entry namest="c2" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_lu_mtf_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="3" valign="top">
+                   <classname>
+                     cc_hash_table
+                   </classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry>
+                   <classname>list_update</classname>
+                 </entry>
+                 <entry>
+                   <classname>Update_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>lu_move_to_front_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="5" valign="top">
+                   <classname>
+                     cc_hash_table
+                   </classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+       </section>
+
+       <section xml:id="multimap.text_insert_small.observations">
+         <info><title>
+           Observations
+         </title></info>
+
+         <para>See Observations::Mapping-Semantics
+         Considerations.</para>
+
+       </section>
+
+      </section>
+
+
+      <!-- 04 <a href="multimap_text_insert_timing_test_large"> -->
+      <section xml:id="performance.multimap.text_insert_large">
+       <info><title>
+         Text <function>insert</function> with Small
+         Secondary-to-Primary Key Ratios
+       </title></info>
+       <para></para>
+
+       <section xml:id="multimap.text_insert_large.info">
+         <info><title>
+           Description
+         </title></info>
+
+         <para>This test inserts a number of pairs into a container. The
+         first item of each pair is a string from an arbitrary text
+         [wickland96thirty], and
+         the second is a uniform integer. The container is a
+         "multimap" - it considers the first member of each pair as a
+         primary key, and the second member of each pair as a secondary
+         key. There
+         are 400 distinct primary keys, and the ratio of secondary keys
+         to primary keys ranges from 1 to 5.</para>
+         <para>The test measures the average insert-time as a function of
+         the number of values inserted. For this library's containers,
+         it inserts a primary key into the primary associative
+         container, then a secondary key into the secondary associative
+         container. For the native multimaps, it obtains a range using
+         <classname>std::equal_range</classname>, and inserts a value only if it was
+         not contained already.</para>
+
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/multimap_text_insert_timing_large.cc
+           </filename>
+         </para>
+
+         <para>The test checks the insert-time scalability of different
+         "multimap" designs.</para>
+
+       </section>
+
+       <section xml:id="multimap.text_insert_large.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>The graphic below show the results for "multimaps" which
+         use a tree-based container for primary keys.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_timing_test_large_s2p_tree_local.png"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="33"
+                          fileref="../images/pbds_multimap_text_insert_timing_test_large_s2p_tree_local.pdf"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="7" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <colspec colname="c4"/>
+             <colspec colname="c5"/>
+             <colspec colname="c6"/>
+             <colspec colname="c7"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   n_mmap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::multimap</classname>
+                 </entry>
+                 <entry namest="c2" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_lu_mtf_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rb_tree_tag</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+               <row>
+                 <entry>
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry>
+                   <classname>list_update</classname>
+                 </entry>
+                 <entry>
+                   <classname>Update_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>lu_move_to_front_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="4" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rb_tree_tag</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+         <para>The graphic below show the results for "multimaps" which
+         use a hash-based container for primary keys.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_hash_local.png"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="33"
+                          fileref="../images/pbds_multimap_text_find_timing_test_large_s2p_hash_local.pdf"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+         <informaltable frame="all">
+
+           <tgroup cols="7" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <colspec colname="c4"/>
+             <colspec colname="c5"/>
+             <colspec colname="c6"/>
+             <colspec colname="c7"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   n_hash_mmap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::tr1::unordered_multimap</classname>
+                 </entry>
+                 <entry namest="c2" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_lu_mtf_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="3" valign="top">
+                   <classname>
+                     cc_hash_table
+                   </classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry>
+                   <classname>list_update</classname>
+                 </entry>
+                 <entry>
+                   <classname>Update_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>lu_move_to_front_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="5" valign="top">
+                   <classname>
+                     cc_hash_table
+                   </classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+       </section>
+
+       <section xml:id="multimap.text_insert_large.observations">
+         <info><title>
+           Observations
+         </title></info>
+
+         <para>See Observations::Mapping-Semantics
+         Considerations.</para>
+
+       </section>
+
+      </section>
+
+
+      <!-- 05 <a href="multimap_text_insert_mem_usage_test_small"> -->
+      <section xml:id="performance.multimap.text_insert_mem_small">
+       <info><title>
+         Text <function>insert</function> with Small
+         Secondary-to-Primary Key Ratios Memory Use
+       </title></info>
+       <para></para>
+
+       <section xml:id="multimap.text_insert_mem_small.info">
+         <info><title>
+           Description
+         </title></info>
+         <para>This test inserts a number of pairs into a container. The
+         first item of each pair is a string from an arbitrary text
+         [wickland96thirty], and
+         the second is a uniform integer. The container is a
+         "multimap" - it considers the first member of each pair as a
+         primary key, and the second member of each pair as a secondary
+         key. There
+         are 100 distinct primary keys, and the ratio of secondary keys
+         to primary keys ranges to about 20.</para>
+         <para>The test measures the memory use as a function of the number
+         of values inserted.</para>
+
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/multimap_text_insert_mem_usage_small.cc
+           </filename>
+         </para>
+
+         <para>The test checks the memory scalability of different
+         "multimap" designs.</para>
+
+       </section>
+
+       <section xml:id="multimap.text_insert_mem_small.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>The graphic below show the results for "multimaps" which
+         use a tree-based container for primary keys.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.png"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="33"
+                          fileref="../images/pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.pdf"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="7" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <colspec colname="c4"/>
+             <colspec colname="c5"/>
+             <colspec colname="c6"/>
+             <colspec colname="c7"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   n_mmap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::multimap</classname>
+                 </entry>
+                 <entry namest="c2" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_lu_mtf_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rb_tree_tag</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+               <row>
+                 <entry>
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry>
+                   <classname>list_update</classname>
+                 </entry>
+                 <entry>
+                   <classname>Update_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>lu_move_to_front_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="4" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rb_tree_tag</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+         <para>The graphic below show the results for "multimaps" which
+         use a hash-based container for primary keys.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_hash_local.png"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="33"
+                          fileref="../images/pbds_multimap_text_find_timing_test_large_s2p_hash_local.pdf"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+         <informaltable frame="all">
+
+           <tgroup cols="7" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <colspec colname="c4"/>
+             <colspec colname="c5"/>
+             <colspec colname="c6"/>
+             <colspec colname="c7"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   n_hash_mmap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::tr1::unordered_multimap</classname>
+                 </entry>
+                 <entry namest="c2" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_lu_mtf_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="3" valign="top">
+                   <classname>
+                     cc_hash_table
+                   </classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry>
+                   <classname>list_update</classname>
+                 </entry>
+                 <entry>
+                   <classname>Update_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>lu_move_to_front_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="5" valign="top">
+                   <classname>
+                     cc_hash_table
+                   </classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+       </section>
+
+       <section xml:id="multimap.text_insert_mem_small.observations">
+         <info><title>
+           Observations
+         </title></info>
+
+         <para>See Observations::Mapping-Semantics
+         Considerations.</para>
+
+       </section>
+
+      </section>
+
+      <!-- 06 <a href="multimap_text_insert_mem_usage_test_large"> -->
+      <section xml:id="performance.multimap.text_insert_mem_large">
+       <info><title>
+         Text <function>insert</function> with Small
+         Secondary-to-Primary Key Ratios Memory Use
+       </title></info>
+       <para></para>
+
+       <section xml:id="multimap.text_insert_mem_large.info">
+         <info><title>
+           Description
+         </title></info>
+         <para>This test inserts a number of pairs into a container. The
+         first item of each pair is a string from an arbitrary text
+         [wickland96thirty], and
+         the second is a uniform integer. The container is a
+         "multimap" - it considers the first member of each pair as a
+         primary key, and the second member of each pair as a secondary
+         key. There
+         are 100 distinct primary keys, and the ratio of secondary keys
+         to primary keys ranges to about 20.</para>
+         <para>The test measures the memory use as a function of the number
+         of values inserted.</para>
+
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc
+           </filename>
+         </para>
+
+         <para>The test checks the memory scalability of different
+         "multimap" designs.</para>
+
+       </section>
+
+       <section xml:id="multimap.text_insert_mem_large.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>The graphic below show the results for "multimaps" which
+         use a tree-based container for primary keys.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.png"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="33"
+                          fileref="../images/pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.pdf"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="7" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <colspec colname="c4"/>
+             <colspec colname="c5"/>
+             <colspec colname="c6"/>
+             <colspec colname="c7"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   n_mmap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::multimap</classname>
+                 </entry>
+                 <entry namest="c2" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_lu_mtf_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rb_tree_tag</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+               <row>
+                 <entry>
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry>
+                   <classname>list_update</classname>
+                 </entry>
+                 <entry>
+                   <classname>Update_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>lu_move_to_front_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="4" valign="top">
+                   <classname>tree</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rb_tree_tag</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Node_Update</classname>
+                 </entry>
+                 <entry>
+                   <classname>null_node_update</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+         <para>The graphic below show the results for "multimaps" which
+         use a hash-based container for primary keys.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_multimap_text_find_timing_test_large_s2p_hash_local.png"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="33"
+                          fileref="../images/pbds_multimap_text_find_timing_test_large_s2p_hash_local.pdf"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+         <informaltable frame="all">
+
+           <tgroup cols="7" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <colspec colname="c4"/>
+             <colspec colname="c5"/>
+             <colspec colname="c6"/>
+             <colspec colname="c7"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   n_hash_mmap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::tr1::unordered_multimap</classname>
+                 </entry>
+                 <entry namest="c2" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_lu_mtf_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="3" valign="top">
+                   <classname>
+                     cc_hash_table
+                   </classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry>
+                   <classname>list_update</classname>
+                 </entry>
+                 <entry>
+                   <classname>Update_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>lu_move_to_front_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <!-- multimap 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c7">
+                   rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set
+                 </entry>
+               </row>
+
+               <row>
+                 <entry morerows="5" valign="top">
+                   <classname>
+                     cc_hash_table
+                   </classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c4" nameend="c7"></entry>
+               </row>
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="2" valign="top">
+                   <classname>Mapped</classname>
+                 </entry>
+                 <entry morerows="2" valign="top">
+                   <classname>cc_hash_table</classname>
+                 </entry>
+                 <entry>
+                   <classname>Comb_Hash_Fn</classname>
+                 </entry>
+                 <entry>
+                   <classname>direct_mask_range_hashing</classname>
+                 </entry>
+                 <entry namest="c6" nameend="c7"></entry>
+               </row>
+
+               <row>
+                 <entry morerows="1" valign="top">
+                   <classname>Resize_Policy</classname>
+                 </entry>
+                 <entry morerows="1" valign="top">
+                   <classname>hash_standard_resize_policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>Size_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_exponential_size_policy</classname>
+                 </entry>
+               </row>
+
+               <row>
+                 <entry valign="top">
+                   <classname>Trigger_Policy</classname>
+                 </entry>
+                 <entry>
+                   <classname>hash_load_check_resize_trigger</classname> with
+                   α<subscript>min</subscript> = 1/8 and α<subscript>max</subscript> = 1/2
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+       </section>
+
+       <section xml:id="multimap.text_insert_mem_large.observations">
+         <info><title>
+           Observations
+         </title></info>
+
+         <para>See Observations::Mapping-Semantics
+         Considerations.</para>
+
+       </section>
+
+      </section>
+
+    </section> <!-- multimap -->
+
+    <section xml:id="performance.priority_queue">
+      <info><title>Priority Queue</title></info>
+
+      <!-- 01 <a href="priority_queue_text_push_timing_test"> -->
+      <section xml:id="performance.priority_queue.text_push">
+       <info><title>
+         Text <function>push</function>
+       </title></info>
+       <para></para>
+
+       <section xml:id="priority_queue.text_push.info">
+         <info><title>
+           Description
+         </title></info>
+
+
+         <para>This test inserts a number of values with keys from an
+         arbitrary text ([ wickland96thirty ]) into
+         a container using <function>push</function>. It measures the average time
+         for <function>push</function> as a function of the number of values
+         pushed.</para>
+
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/priority_queue_text_push_timing.cc
+           </filename>
+         </para>
+
+         <para>The test checks the effect of different underlying data
+         structures.
+         </para>
+
+       </section>
+
+       <section xml:id="priority_queue.text_push.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>The two graphics below show the results for the native
+         priority_queues and this library's priority_queues.
+         </para>
+
+         <para>The graphic immediately below shows the results for the
+         native priority_queue type instantiated with different underlying
+         container types versus several different versions of library's
+         priority_queues.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_priority_queue_text_push_timing_test_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_timing_test_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="3" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_pq_vector
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Sequence</classname>
+                 </entry>
+                 <entry>
+                   <classname>std::vector</classname>
+                 </entry>
+               </row>
+
+               <!-- native 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_pq_deque
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Sequence</classname>
+                 </entry>
+                 <entry>
+                   <classname>std::deque</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   binary_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>binary_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   binomial_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>binomial_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 03 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   rc_binomial_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rc_binomial_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 04 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   thin_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>thin_heap_tag</classname>
+                 </entry>
+               </row>
+
+
+               <!-- priority_queue 05 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   pairing_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>pairing_heap_tag</classname>
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+
+         <para>The graphic below shows the results for the binary-heap
+         based native priority queues and this library's pairing-heap
+         priority_queue data structures.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_pairing_priority_queue_text_push_timing_test_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml//images/pbds_pairing_priority_queue_text_push_timing_test_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="3" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+               <!-- native 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_pq_vector
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Sequence</classname>
+                 </entry>
+                 <entry>
+                   <classname>std::vector</classname>
+                 </entry>
+               </row>
+
+               <!-- native 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_pq_deque
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Sequence</classname>
+                 </entry>
+                 <entry>
+                   <classname>std::deque</classname>
+                 </entry>
+
+               </row>
+
+               <!-- priority_queue 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   thin_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>thin_heap_tag</classname>
+                 </entry>
+               </row>
+
+
+               <!-- priority_queue 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   pairing_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>pairing_heap_tag</classname>
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+       </section>
+
+       <section xml:id="priority_queue.text_push.observations">
+         <info><title>
+           Observations
+         </title></info>
+
+         <para>Pairing heaps (<classname>priority_queue</classname> with
+         <classname>Tag</classname> = <classname>pairing_heap_tag</classname>)
+         are the most suited for sequences of <function>push</function> and
+         <function>pop</function> operations of non-primitive types (e.g.
+         <classname>std::string</classname>s). (See Priority Queue
+         Text <function>push</function> and <function>pop</function> Timing Test.) They are
+         less constrained than binomial heaps, e.g., and since
+         they are node-based, they outperform binary heaps. (See
+         Priority
+         Queue Random Integer <function>push</function> Timing Test for the case
+         of primitive types.)</para>
+
+         <para>The standard's priority queues do not seem to perform well in
+         this case: the <classname>std::vector</classname> implementation needs to
+         perform a logarithmic sequence of string operations for each
+         operation, and the deque implementation is possibly hampered by
+         its need to manipulate a relatively-complex type (deques
+         support a O(1) <function>push_front</function>, even though it is
+         not used by <classname>std::priority_queue</classname>.)</para>
+
+       </section>
+      </section>
+
+      <!-- 02 <a href="priority_queue_text_push_pop_timing_test"> -->
+      <section xml:id="performance.priority_queue.text_push_pop">
+       <info><title>
+         Text <function>push</function> and <function>pop</function>
+       </title></info>
+       <para></para>
+
+       <section xml:id="priority_queue.text_push_pop.info">
+         <info><title>
+           Description
+         </title></info>
+
+         <para>This test inserts a number of values with keys from an
+         arbitrary text ([ wickland96thirty ]) into
+         a container using <classname>push</classname> , then removes them using
+         <classname>pop</classname> . It measures the average time for <classname>push</classname>
+         as a function of the number of values.</para>
+
+
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc
+           </filename>
+         </para>
+
+         <para>The test checks the effect of different underlying data
+         structures.
+         </para>
+
+       </section>
+
+       <section xml:id="priority_queue.text_push_pop.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>The two graphics below show the results for the native
+         priority_queues and this library's priority_queues.
+         </para>
+
+         <para>The graphic immediately below shows the results for the
+         native priority_queue type instantiated with different underlying
+         container types versus several different versions of library's
+         priority_queues.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_priority_queue_text_push_pop_timing_test_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_push_pop_timing_test_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="3" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_pq_vector
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Sequence</classname>
+                 </entry>
+                 <entry>
+                   <classname>std::vector</classname>
+                 </entry>
+               </row>
+
+               <!-- native 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_pq_deque
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Sequence</classname>
+                 </entry>
+                 <entry>
+                   <classname>std::deque</classname>
+                 </entry>
+
+               </row>
+
+               <!-- priority_queue 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   binary_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>binary_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   binomial_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>binomial_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 03 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   rc_binomial_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rc_binomial_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 04 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   thin_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>thin_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 05 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   pairing_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>pairing_heap_tag</classname>
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+
+         <para>The graphic below shows the results for the native priority
+         queues and this library's pairing-heap priority_queue data
+         structures.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_pairing_priority_queue_text_push_pop_timing_test_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml//images/pbds_pairing_priority_queue_text_push_pop_timing_test_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="3" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_pq_vector
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname> adapting <classname>std::vector</classname>
+                 </entry>
+                 <entry>
+                   <classname>Sequence</classname>
+                 </entry>
+                 <entry>
+                   <classname>std::vector</classname>
+                 </entry>
+
+               </row>
+
+               <!-- native 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_pq_deque
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Sequence</classname>
+                 </entry>
+                 <entry>
+                   <classname>std::deque</classname>
+                 </entry>
+
+               </row>
+
+               <!-- priority_queue 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   pairing_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>pairing_heap_tag</classname>
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+       </section>
+
+       <section xml:id="priority_queue.text_push_pop.observations">
+         <info><title>
+           Observations
+         </title></info>
+
+         <para>These results are very similar to Priority Queue Text
+         <function>push</function> Timing Test. As stated there, pairing heaps
+         (<classname>priority_queue</classname> with
+         <classname>Tag</classname>
+         = <classname>pairing_heap_tag</classname>) are most suited
+         for <function>push</function> and <function>pop</function>
+         sequences of non-primitive types such as strings. Observing these
+         two tests, one can note that a pairing heap outperforms the others
+         in terms of <function>push</function> operations, but equals
+         binary heaps (<classname>priority_queue</classname> with
+         <classname>Tag</classname>
+         = <classname>binary_heap_tag</classname>) if the number
+         of <function>push</function> and <function>pop</function>
+         operations is equal. As the number of <function>pop</function>
+         operations is at most equal to the number
+         of <function>push</function> operations, pairing heaps are better
+         in this case. See Priority Queue Random
+         Integer <function>push</function> and <function>pop</function>
+         Timing Test for a case which is different.</para>
+
+       </section>
+      </section>
+
+
+      <!-- 03 <a href="priority_queue_random_int_push_timing_test"> -->
+      <section xml:id="performance.priority_queue.int_push">
+       <info><title>
+         Integer <function>push</function>
+       </title></info>
+       <para></para>
+
+       <section xml:id="priority_queue.int_push.info">
+         <info><title>
+           Description
+         </title></info>
+
+         <para>This test inserts a number of values with integer keys
+         into a container using <function>push</function>. It
+         measures the average time for <function>push</function> as a
+         function of the number of values.</para>
+
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/priority_queue_random_int_push_timing.cc
+           </filename>
+         </para>
+
+         <para>The test checks the effect of different underlying data
+         structures.
+         </para>
+
+       </section>
+
+       <section xml:id="priority_queue.int_push.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>The two graphics below show the results for the native
+         priority_queues and this library's priority_queues.
+         </para>
+
+         <para>The graphic immediately below shows the results for the
+         native priority_queue type instantiated with different underlying
+         container types versus several different versions of library's
+         priority_queues.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_priority_queue_random_int_push_timing_test_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_timing_test_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="3" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_pq_vector
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Sequence</classname>
+                 </entry>
+                 <entry>
+                   <classname>std::vector</classname>
+                 </entry>
+               </row>
+
+               <!-- native 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_pq_deque
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Sequence</classname>
+                 </entry>
+                 <entry>
+                   <classname>std::deque</classname>
+                 </entry>
+
+               </row>
+
+               <!-- priority_queue 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   binary_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>binary_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   binomial_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>binomial_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 03 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   rc_binomial_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rc_binomial_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 04 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   thin_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>thin_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 05 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   pairing_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>pairing_heap_tag</classname>
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+
+         <para>The graphic below shows the results for the binary-heap
+         based native priority queues and this library's
+         priority_queue data structures.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_binary_priority_queue_random_int_push_timing_test_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml//images/pbds_binary_priority_queue_random_int_push_timing_test_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="3" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_pq_vector
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname> adapting <classname>std::vector</classname>
+                 </entry>
+                 <entry>
+                   <classname>Sequence</classname>
+                 </entry>
+                 <entry>
+                   <classname>std::vector</classname>
+                 </entry>
+
+               </row>
+
+               <!-- native 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_pq_deque
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Sequence</classname>
+                 </entry>
+                 <entry>
+                   <classname>std::deque</classname>
+                 </entry>
+
+               </row>
+
+               <!-- priority_queue 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   binary_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>binary_heap_tag</classname>
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+       </section>
+
+       <section xml:id="priority_queue.int_push.observations">
+         <info><title>
+           Observations
+         </title></info>
+
+
+         <para>Binary heaps are the most suited for sequences of
+         <function>push</function> and <function>pop</function> operations of primitive types
+         (e.g. <type>int</type>s). They are less constrained
+         than any other type, and since it is very efficient to store
+         such types in arrays, they outperform even pairing heaps. (See
+         Priority
+         Queue Text <function>push</function> Timing Test for the case of
+         non-primitive types.)</para>
+       </section>
+      </section>
+
+      <!-- 04 "priority_queue_random_int_push_pop_timing_test" -->
+      <section xml:id="performance.priority_queue.int_push_pop">
+       <info><title>
+         Integer <function>push</function>
+       </title></info>
+       <para></para>
+
+       <section xml:id="priority_queue.int_push_pop.info">
+         <info><title>
+           Description
+         </title></info>
+
+         <para>This test inserts a number of values with integer keys
+         into a container using <function>push</function> , then removes them
+         using <function>pop</function> . It measures the average time for
+         <function>push</function> and <function>pop</function> as a function
+         of the number of values.</para>
+
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc
+           </filename>
+         </para>
+
+         <para>The test checks the effect of different underlying data
+         structures.
+         </para>
+
+       </section>
+
+       <section xml:id="priority_queue.int_push_pop.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>The graphic immediately below shows the results for the
+         native priority_queue type instantiated with different underlying
+         container types versus several different versions of library's
+         priority_queues.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_priority_queue_random_int_push_pop_timing_test_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_priority_queue_random_int_push_pop_timing_test_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="3" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_pq_vector
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Sequence</classname>
+                 </entry>
+                 <entry>
+                   <classname>std::vector</classname>
+                 </entry>
+               </row>
+
+               <!-- native 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_pq_deque
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Sequence</classname>
+                 </entry>
+                 <entry>
+                   <classname>std::deque</classname>
+                 </entry>
+
+               </row>
+
+               <!-- priority_queue 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   binary_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>binary_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   binomial_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>binomial_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 03 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   rc_binomial_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rc_binomial_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 04 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   thin_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>thin_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 05 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   pairing_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>pairing_heap_tag</classname>
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+
+       </section>
+
+       <section xml:id="priority_queue.int_push_pop.observations">
+         <info><title>
+           Observations
+         </title></info>
+
+         <para>Binary heaps are the most suited for sequences of
+         <function>push</function> and <function>pop</function> operations of primitive types
+         (e.g. <type>int</type>s). This is explained in
+         Priority
+         Queue Random Int <function>push</function> Timing Test. (See Priority Queue
+         Text <function>push</function> Timing Test for the case of primitive
+         types.)</para>
+
+         <para>At first glance it seems that the standard's vector-based
+         priority queue is approximately on par with this
+         library's corresponding priority queue. There are two
+         differences however:</para>
+         <orderedlist>
+           <listitem><para>The standard's priority queue does not downsize the underlying
+           vector (or deque) as the priority queue becomes smaller
+           (see Priority Queue
+           Text <function>pop</function> Memory Use Test). It is therefore
+           gaining some speed at the expense of space.</para></listitem>
+           <listitem><para>From Priority Queue Random
+           Integer <function>push</function> and <function>pop</function>
+           Timing Test, it seems that the standard's priority queue is
+           slower in terms of <function>push</function> operations. Since
+           the number of
+           <function>pop</function> operations is at most that of <function>push</function>
+           operations, the test here is the "best" for the standard's
+           priority queue.</para></listitem>
+         </orderedlist>
+
+
+       </section>
+      </section>
+
+
+      <!-- 05 <a href="priority_queue_text_pop_mem_usage_test"> -->
+      <section xml:id="performance.priority_queue.text_pop">
+       <info><title>
+         Text <function>pop</function> Memory Use
+       </title></info>
+       <para></para>
+
+       <section xml:id="priority_queue.text_pop.info">
+         <info><title>
+           Description
+         </title></info>
+
+
+         <para>This test inserts a number of values with keys from an
+         arbitrary text ([ wickland96thirty ]) into
+         a container, then pops them until only one is left in the
+         container. It measures the memory use as a function of the
+         number of values pushed to the container.</para>
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc
+           </filename>
+         </para>
+
+         <para>The test checks the effect of different underlying data
+         structures.
+         </para>
+
+       </section>
+
+       <section xml:id="priority_queue.text_pop.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>The graphic immediately below shows the results for the
+         native priority_queue type instantiated with different underlying
+         container types versus several different versions of library's
+         priority_queues.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_priority_queue_text_pop_mem_usage_test_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_pop_mem_usage_test_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="3" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_pq_vector
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Sequence</classname>
+                 </entry>
+                 <entry>
+                   <classname>std::vector</classname>
+                 </entry>
+               </row>
+
+               <!-- native 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_pq_deque
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Sequence</classname>
+                 </entry>
+                 <entry>
+                   <classname>std::deque</classname>
+                 </entry>
+
+               </row>
+
+               <!-- priority_queue 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   binary_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>binary_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   binomial_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>binomial_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 03 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   rc_binomial_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rc_binomial_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 04 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   thin_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>thin_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 05 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   pairing_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>pairing_heap_tag</classname>
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+
+       </section>
+
+       <section xml:id="priority_queue.text_pop.observations">
+         <info><title>
+           Observations
+         </title></info>
+
+
+         <para>The priority queue implementations (excluding the standard's) use
+         memory proportionally to the number of values they hold:
+         node-based implementations (e.g., a pairing heap) do so
+         naturally; this library's binary heap de-allocates memory when
+         a certain lower threshold is exceeded.</para>
+
+         <para>Note from Priority Queue Text <function>push</function>
+         and <function>pop</function> Timing Test and Priority Queue
+         Random Integer <function>push</function>
+         and <function>pop</function> Timing Test that this does not
+         impede performance compared to the standard's priority
+         queues.</para>
+         <para>See Hash-Based Erase
+         Memory Use Test for a similar phenomenon regarding priority
+         queues.</para>
+       </section>
+      </section>
+
+      <!-- 06 <a href="priority_queue_text_join_timing_test"> -->
+      <section xml:id="performance.priority_queue.text_join">
+       <info><title>
+         Text <function>join</function>
+       </title></info>
+       <para></para>
+
+       <section xml:id="priority_queue.text_join.info">
+         <info><title>
+           Description
+         </title></info>
+
+         <para>This test inserts a number of values with keys from an
+         arbitrary text ([ wickland96thirty ]) into
+         two containers, then merges the containers. It uses
+         <function>join</function> for this library's priority queues; for
+         the standard's priority queues, it successively pops values from
+         one container and pushes them into the other. The test measures
+         the average time as a function of the number of values.</para>
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/priority_queue_text_join_timing.cc
+           </filename>
+         </para>
+
+         <para>The test checks the effect of different underlying data
+         structures.
+         </para>
+
+       </section>
+
+       <section xml:id="priority_queue.text_join.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>The graphic immediately below shows the results for the
+         native priority_queue type instantiated with different underlying
+         container types versus several different versions of library's
+         priority_queues.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_priority_queue_text_join_timing_test_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_join_timing_test_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="3" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_pq_vector
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Sequence</classname>
+                 </entry>
+                 <entry>
+                   <classname>std::vector</classname>
+                 </entry>
+               </row>
+
+               <!-- native 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_pq_deque
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Sequence</classname>
+                 </entry>
+                 <entry>
+                   <classname>std::deque</classname>
+                 </entry>
+
+               </row>
+
+               <!-- priority_queue 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   binary_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>binary_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   binomial_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>binomial_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 03 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   rc_binomial_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rc_binomial_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 04 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   thin_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>thin_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 05 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   pairing_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>pairing_heap_tag</classname>
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+
+       </section>
+
+       <section xml:id="priority_queue.text_join.observations">
+         <info><title>
+           Observations
+         </title></info>
+
+         <para>In this test the node-based heaps perform <function>join</function> in
+         either logarithmic or constant time. The binary heap requires
+         linear time, since the well-known heapify algorithm [clrs2001] is linear.</para>
+         <para>It would be possible to apply the heapify algorithm to the
+         standard containers, if they would support iteration (which they
+         don't). Barring iterators, it is still somehow possible to perform
+         linear-time merge on a <classname>std::vector</classname>-based
+         standard priority queue, using <function>top()</function>
+         and <function>size()</function> (since they are enough to expose
+         the underlying array), but this is impossible for
+         a <classname>std::deque</classname>-based standard priority queue.
+         Without heapify, the cost is super-linear.</para>
+       </section>
+      </section>
+
+
+      <!-- 07 <a href="priority_queue_text_push_timing_test"> -->
+      <section xml:id="performance.priority_queue.text_modify_up">
+       <info><title>
+         Text <function>modify</function> Up
+       </title></info>
+       <para></para>
+
+       <section xml:id="priority_queue.text_modify_up.info">
+         <info><title>
+           Description
+         </title></info>
+
+         <para>This test inserts a number of values with keys from an
+         arbitrary text ([ wickland96thirty ]) into
+         into a container then modifies each one "up" (i.e., it
+         makes it larger). It uses <function>modify</function> for this library's
+         priority queues; for the standard's priority queues, it pops values
+         from a container until it reaches the value that should be
+         modified, then pushes values back in. It measures the average
+         time for <function>modify</function> as a function of the number of
+         values.</para>
+
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/priority_queue_text_modify_up_timing.cc
+           </filename>
+         </para>
+
+         <para>The test checks the effect of different underlying data
+         structures for graph algorithms settings.  Note that making an
+         arbitrary value larger (in the sense of the priority queue's
+         comparison functor) corresponds to decrease-key in standard graph
+         algorithms [clrs2001].
+         </para>
+
+       </section>
+
+       <section xml:id="priority_queue.text_modify_up.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>The two graphics below show the results for the native
+         priority_queues and this library's priority_queues.
+         </para>
+
+         <para>The graphic immediately below shows the results for the
+         native priority_queue type instantiated with different underlying
+         container types versus several different versions of library's
+         priority_queues.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_priority_queue_text_modify_up_timing_test_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_up_timing_test_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="3" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_pq_vector
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Sequence</classname>
+                 </entry>
+                 <entry>
+                   <classname>std::vector</classname>
+                 </entry>
+               </row>
+
+               <!-- native 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_pq_deque
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Sequence</classname>
+                 </entry>
+                 <entry>
+                   <classname>std::deque</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   binary_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>binary_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   binomial_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>binomial_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 03 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   rc_binomial_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rc_binomial_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 04 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   thin_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>thin_heap_tag</classname>
+                 </entry>
+               </row>
+
+
+               <!-- priority_queue 05 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   pairing_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>pairing_heap_tag</classname>
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+
+         <para>The graphic below shows the results for the
+         native priority queues and this library's pairing and thin heap
+         priority_queue data structures.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml//images/pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="3" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- priority_queue 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   thin_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>thin_heap_tag</classname>
+                 </entry>
+               </row>
+
+
+               <!-- priority_queue 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   pairing_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>pairing_heap_tag</classname>
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+       </section>
+
+       <section xml:id="priority_queue.text_modify_up.observations">
+         <info><title>
+           Observations
+         </title></info>
+
+         <para>As noted above, increasing an arbitrary value (in the sense of
+         the priority queue's comparison functor) is very common in
+         graph-related algorithms. In this case, a thin heap
+         (<classname>priority_queue</classname> with
+         <classname>Tag</classname> = <classname>thin_heap_tag</classname>)
+         outperforms a pairing heap (<classname>priority_queue</classname> with
+         <classname>Tag</classname> = <classname>pairing_heap_tag</classname>).
+         Conversely, Priority Queue Text
+         <function>push</function> Timing Test, Priority Queue
+         Text <function>push</function> and <function>pop</function> Timing Test, Priority
+         Queue Random Integer <function>push</function> Timing Test, and
+         Priority
+         Queue Random Integer <function>push</function> and <function>pop</function> Timing
+         Test show that the situation is reversed for other
+         operations. It is not clear when to prefer one of these two
+         different types.</para>
+
+         <para>In this test this library's binary heaps
+         effectively perform modify in linear time. As explained in
+         Priority Queue Design::Traits, given a valid point-type iterator,
+         a binary heap can perform
+         <function>modify</function> logarithmically. The problem is that binary
+         heaps invalidate their find iterators with each modifying
+         operation, and so the only way to obtain a valid point-type
+         iterator is to iterate using a range-type iterator until
+         finding the appropriate value, then use the range-type iterator
+         for the <function>modify</function> operation.</para>
+         <para>The explanation for the standard's priority queues' performance
+         is similar to that in Priority Queue Text
+         <function>join</function> Timing Test.</para>
+
+
+       </section>
+      </section>
+
+      <!-- 08 <a href="priority_queue_text_modify_down_timing_test"> -->
+
+      <section xml:id="performance.priority_queue.text_modify_down">
+       <info><title>
+         Text <function>modify</function> Down
+       </title></info>
+       <para></para>
+
+       <section xml:id="priority_queue.text_modify_down.info">
+         <info><title>
+           Description
+         </title></info>
+
+         <para>This test inserts a number of values with keys from an
+         arbitrary text ([ wickland96thirty ]) into
+         into a container then modifies each one "down" (i.e., it
+         makes it smaller). It uses <function>modify</function> for this library's
+         priority queues; for the standard's priority queues, it pops values
+         from a container until it reaches the value that should be
+         modified, then pushes values back in. It measures the average
+         time for <function>modify</function> as a function of the number of
+         values.</para>
+
+         <para>
+           It uses the test file:
+           <filename>
+             performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc
+           </filename>
+         </para>
+
+         <para>The main purpose of this test is to contrast Priority Queue
+         Text <classname>modify</classname> Up Timing Test.</para>
+
+       </section>
+
+       <section xml:id="priority_queue.text_modify_down.results">
+         <info><title>
+           Results
+         </title></info>
+
+         <para>The two graphics below show the results for the native
+         priority_queues and this library's priority_queues.
+         </para>
+
+         <para>The graphic immediately below shows the results for the
+         native priority_queue type instantiated with different underlying
+         container types versus several different versions of library's
+         priority_queues.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_priority_queue_text_modify_down_timing_test_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/pbds_priority_queue_text_modify_down_timing_test_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="3" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- native 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_pq_vector
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Sequence</classname>
+                 </entry>
+                 <entry>
+                   <classname>std::vector</classname>
+                 </entry>
+               </row>
+
+               <!-- native 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   n_pq_deque
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Sequence</classname>
+                 </entry>
+                 <entry>
+                   <classname>std::deque</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   binary_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>binary_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   binomial_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>binomial_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 03 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   rc_binomial_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>rc_binomial_heap_tag</classname>
+                 </entry>
+               </row>
+
+               <!-- priority_queue 04 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   thin_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>thin_heap_tag</classname>
+                 </entry>
+               </row>
+
+
+               <!-- priority_queue 05 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   pairing_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>pairing_heap_tag</classname>
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+
+         <para>The graphic below shows the results for the
+         native priority queues and this library's pairing and thin heap
+         priority_queue data structures.
+         </para>
+
+         <!-- results graphic -->
+         <informalfigure>
+           <mediaobject>
+             <imageobject>
+               <imagedata align="center" format="PDF" scale="75"
+                          fileref="../images/pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.pdf"/>
+             </imageobject>
+             <imageobject>
+               <imagedata align="center" format="PNG" scale="100"
+                          fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml//images/pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.png"/>
+             </imageobject>
+           </mediaobject>
+         </informalfigure>
+
+         <para>
+           The abbreviated names in the legend of the graphic above are
+           instantiated with the types in the following table.
+         </para>
+
+
+         <informaltable frame="all">
+
+           <tgroup cols="3" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <thead>
+               <row>
+                 <entry><emphasis>Name/Instantiating Type</emphasis></entry>
+                 <entry><emphasis>Parameter</emphasis></entry>
+                 <entry><emphasis>Details</emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <!-- priority_queue 01 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   thin_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>thin_heap_tag</classname>
+                 </entry>
+               </row>
+
+
+               <!-- priority_queue 02 -->
+               <row>
+                 <?dbhtml bgcolor="#B0B0B0" ?>
+                 <entry namest="c1" nameend="c3">
+                   pairing_heap
+                 </entry>
+               </row>
+
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                 </entry>
+                 <entry>
+                   <classname>Tag</classname>
+                 </entry>
+                 <entry>
+                   <classname>pairing_heap_tag</classname>
+                 </entry>
+               </row>
+
+             </tbody>
+           </tgroup>
+         </informaltable>
+
+
+       </section>
+
+       <section xml:id="priority_queue.text_modify_down.observations">
+         <info><title>
+           Observations
+         </title></info>
+
+         <para>Most points in these results are similar to Priority Queue
+         Text <function>modify</function> Up Timing Test.</para>
+
+         <para>It is interesting to note, however, that as opposed to that
+         test, a thin heap (<classname>priority_queue</classname> with
+         <classname>Tag</classname> = <classname>thin_heap_tag</classname>) is
+         outperformed by a pairing heap (<classname>priority_queue</classname> with
+         <classname>Tag</classname> = <classname>pairing_heap_tag</classname>).
+         In this case, both heaps essentially perform an <function>erase</function>
+         operation followed by a <function>push</function> operation. As the other
+         tests show, a pairing heap is usually far more efficient than a
+         thin heap, so this is not surprising.</para>
+         <para>Most algorithms that involve priority queues increase values
+         (in the sense of the priority queue's comparison functor), and
+         so Priority Queue
+         Text <classname>modify</classname> Up Timing Test - is more interesting
+         than this test.</para>
+       </section>
+      </section>
+
+
+    </section> <!-- priority_queue -->
+
+    <section xml:id="pbds.test.performance.observations">
+      <info><title>Observations</title></info>
+
+      <section xml:id="observations.associative">
+       <info><title>Associative</title></info>
+
+       <section xml:id="observations.associative.underlying">
+         <info><title>
+           Underlying Data-Structure Families
+         </title></info>
+
+         <para>In general, hash-based containers have better timing performance
+         than containers based on different underlying-data structures. The
+         main reason to choose a tree-based or trie-based container is if a
+         byproduct of the tree-like structure is required: either
+         order-preservation, or the ability to utilize node invariants. If
+         memory-use is the major factor, an ordered-vector tree gives
+         optimal results (albeit with high modificiation costs), and a
+         list-based container gives reasonable results.</para>
+
+       </section>
+
+       <section xml:id="observations.associative.hash">
+         <info><title>
+           Hash-Based Containers
+         </title></info>
+
+         <para>Hash-based containers are typically either collision
+         chaining or probing. 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 standard, allocators have
+         class-wise semantics (see [meyers96more] - Item 10); a
+         probing container might incur less contention in this case.</para>
+       </section>
+
+       <section xml:id="observations.associative.hash_policies">
+         <info><title>
+           Hash Policies
+         </title></info>
+
+         <para>In hash-based containers, the range-hashing scheme 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 (e.g., text hashing,
+         floating-point hashing), the hash function is powerful enough
+         to generate hash values with good uniformity properties
+         [knuth98sorting];
+         a modulo-based scheme, taking into account all bits of the hash
+         value, appears to overlap the hash function in its effort.</para>
+         <para>The range-hashing scheme determines many of the other
+         policies. A mask-based scheme works
+         well with an exponential-size policy; for
+         probing-based containers, it goes well with a linear-probe
+         function.</para>
+         <para>An orthogonal consideration is the trigger policy. This
+         presents difficult tradeoffs. E.g., different load
+         factors in a load-check trigger policy yield a
+         space/amortized-cost tradeoff.</para>
+       </section>
+
+       <section xml:id="observations.associative.branch">
+         <info><title>
+           Branch-Based Containers
+         </title></info>
+         <para>In general, there are several families of tree-based
+         underlying data structures: balanced node-based trees
+         (e.g., red-black or AVL trees), high-probability
+         balanced node-based trees (e.g., random treaps or
+         skip-lists), competitive node-based trees (e.g., 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.</para>
+
+         <para>Of the balanced node-based trees, this library includes a
+         red-black tree, as does standard (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 [austern00noset].</para>
+         <para>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.</para>
+         <para>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, e.g.,
+         <classname>std::string</classname>, 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.</para>
+         <para>Ordered-vector trees use very little space
+         [austern00noset].
+         They do not have any other advantages (at least in this
+         implementation).</para>
+         <para>Large-fan-out PATRICIA tries 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. [okasaki98mereable]
+         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, e.g., DNA
+         strings.</para>
+       </section>
+
+       <section xml:id="observations.associative.mapping_semantics">
+         <info><title>
+           Mapping-Semantics
+         </title></info>
+         <para>Different mapping semantics were discussed in the introduction and design sections.Here
+         the focus will be 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:</para>
+         <orderedlist>
+           <listitem><para>Use an associative container that allows equivalent-key
+           values (such as <classname>std::multimap</classname>)</para></listitem>
+           <listitem><para>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.
+           </para></listitem>
+           <listitem><para>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.</para></listitem>
+           <listitem><para>Use a unique-key value associative container that maps
+           each primary key to some non-associative container
+           (e.g., <classname>std::vector</classname>)</para></listitem>
+           <listitem><para>Use a unique-key value associative container that takes
+           into account both primary and secondary keys.</para></listitem>
+         </orderedlist>
+         <para>Stated simply: there is a simple answer for this. (Excluding
+         option 1, which should be avoided in all cases).</para>
+         <para>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, e.g., [boost_pool]). 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).</para>
+         <para>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.</para>
+         <para>To be more precise, assume there are m primary keys,
+         primary key i is mapped to n<subscript>i</subscript>
+         secondary keys, and each primary key is mapped, on average, to
+         n secondary keys (i.e.,
+         E(n<subscript>i</subscript>) = n).</para>
+         <para>Suppose one wants to find a specific pair of primary and
+         secondary keys. Using 1 with a tree based container
+         (<classname>std::multimap</classname>), the expected cost is
+         E(Θ(log(m) + n<subscript>i</subscript>)) = Θ(log(m) +
+         n); using 1 with a hash-based container
+         (<classname>std::tr1::unordered_multimap</classname>), the expected cost is
+         Θ(n). Using 2 with a primary hash-based container
+         and secondary hash-based containers, the expected cost is
+         O(1); using 2 with a primary tree-based container and
+         secondary tree-based containers, the expected cost is (using
+         the Jensen inequality [motwani95random])
+         E(O(log(m) + log(n<subscript>i</subscript>)) = O(log(m)) +
+         E(O(log(n<subscript>i</subscript>)) = O(log(m)) + O(log(n)),
+         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 O(1); using 5
+         with a tree based container, the cost is
+         E(Θ(log(mn))) = Θ(log(m) +
+         log(n)).</para>
+         <para>Suppose one needs the values whose primary key matches some
+         given key. Using 1 with a hash-based container, the expected
+         cost is Θ(n), 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
+         Θ(log(m) + n), 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 Θ(mn).</para>
+         <para>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 Θ(n),
+         but with very high constants; using 1 with a tree-based
+         container, the cost is Θ(nlog(mn)). Using 2, 3,
+         and 4, the expected cost is Θ(n), but typically
+         with far lower costs than 1. 5 is similar to 1.</para>
+
+       </section>
+
+      </section>
+
+
+      <section xml:id="observations.priority_queue">
+       <info><title>Priority_Queue</title></info>
+
+       <section xml:id="observations.priority_queue.complexity">
+         <info><title>Complexity</title></info>
+
+         <para>The following table shows the complexities of the different
+         underlying data structures in terms of orders of growth. It is
+         interesting to note that this table implies something about the
+         constants of the operations as well (see Amortized <function>push</function>
+         and <function>pop</function> operations).</para>
+
+         <informaltable frame="all">
+
+           <tgroup cols="6" align="left" colsep="1" rowsep="1">
+             <colspec colname="c1"/>
+             <colspec colname="c2"/>
+             <colspec colname="c3"/>
+             <colspec colname="c4"/>
+             <colspec colname="c5"/>
+             <colspec colname="c6"/>
+             <thead>
+               <row>
+                 <entry></entry>
+                 <entry><emphasis><function>push</function></emphasis></entry>
+                 <entry><emphasis><function>pop</function></emphasis></entry>
+                 <entry><emphasis><function>modify</function></emphasis></entry>
+                 <entry><emphasis><function>erase</function></emphasis></entry>
+                 <entry><emphasis><function>join</function></emphasis></entry>
+               </row>
+             </thead>
+
+             <tbody>
+
+               <row>
+                 <entry>
+                   <classname>std::priority_queue</classname>
+                 </entry>
+                 <entry>
+                   Θ(n) worst
+                   Θ(log(n)) amortized
+                 </entry>
+                 <entry>
+                   Θ(log(n)) Worst
+                 </entry>
+                 <entry>
+                   Θ(n log(n)) Worst
+                   <subscript>[std note 1]</subscript>
+                 </entry>
+                 <entry>
+                   Θ(n log(n))
+                   <subscript>[std note 2]</subscript>
+                 </entry>
+                 <entry>
+                   Θ(n log(n))
+                   <subscript>[std note 1]</subscript>
+                 </entry>
+               </row>
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                   &lt;<classname>Tag</classname> =
+                   <classname>pairing_heap_tag</classname>&gt;
+                 </entry>
+                 <entry>
+                   O(1)
+                 </entry>
+                 <entry>
+                   Θ(n) worst
+                   Θ(log(n)) amortized
+                 </entry>
+                 <entry>
+                   Θ(n) worst
+                   Θ(log(n)) amortized
+                 </entry>
+                 <entry>
+                   Θ(n) worst
+                   Θ(log(n)) amortized
+                 </entry>
+                 <entry>
+                   O(1)
+                 </entry>
+               </row>
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                   &lt;<classname>Tag</classname> =
+                   <classname>binary_heap_tag</classname>&gt;
+                 </entry>
+                 <entry>
+                   Θ(n) worst
+                   Θ(log(n)) amortized
+                 </entry>
+                 <entry>
+                   Θ(n) worst
+                   Θ(log(n)) amortized
+                 </entry>
+                 <entry>
+                   Θ(n)
+                 </entry>
+                 <entry>
+                   Θ(n)
+                 </entry>
+                 <entry>
+                   Θ(n)
+                 </entry>
+               </row>
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                   &lt;<classname>Tag</classname> =
+                   <classname>binomial_heap_tag</classname>&gt;
+                 </entry>
+                 <entry>
+                   Θ(log(n)) worst
+                   O(1) amortized
+                 </entry>
+                 <entry>
+                   Θ(log(n))
+                 </entry>
+                 <entry>
+                   Θ(log(n))
+                 </entry>
+                 <entry>
+                   Θ(log(n))
+                 </entry>
+                 <entry>
+                   Θ(log(n))
+                 </entry>
+               </row>
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>
+                   &lt;<classname>Tag</classname> =
+                   <classname>rc_binomial_heap_tag</classname>&gt;
+                 </entry>
+                 <entry>
+                   O(1)
+                 </entry>
+                 <entry>
+                   Θ(log(n))
+                 </entry>
+                 <entry>
+                   Θ(log(n))
+                 </entry>
+                 <entry>
+                   Θ(log(n))
+                 </entry>
+                 <entry>
+                   Θ(log(n))
+                 </entry>
+               </row>
+               <row>
+                 <entry>
+                   <classname>priority_queue</classname>&lt;<classname>Tag</classname> =
+                   <classname>thin_heap_tag</classname>&gt;
+                 </entry>
+                 <entry>
+                   O(1)
+                 </entry>
+                 <entry>
+                   Θ(n) worst
+                   Θ(log(n)) amortized
+                 </entry>
+                 <entry>
+                   Θ(log(n)) worst
+                   O(1) amortized,
+                   or Θ(log(n)) amortized
+                   <subscript>[thin_heap_note]</subscript>
+                 </entry>
+                 <entry>
+                   Θ(n) worst
+                   Θ(log(n)) amortized
+                 </entry>
+                 <entry>
+                   Θ(n)
+                 </entry>
+               </row>
+             </tbody>
+           </tgroup>
+
+         </informaltable>
+
+         <para>[std note 1] This
+         is not a property of the algorithm, but rather due to the fact
+         that the standard's priority queue implementation does not support
+         iterators (and consequently the ability to access a specific
+         value inside it). If the priority queue is adapting an
+         <classname>std::vector</classname>, then it is still possible to reduce this
+         to Θ(n) by adapting over the standard's adapter and
+         using the fact that <function>top</function> returns a reference to the
+         first value; if, however, it is adapting an
+         <classname>std::deque</classname>, then this is impossible.</para>
+
+         <para>[std note 2] As
+         with [std note 1], this is not a
+         property of the algorithm, but rather the standard's implementation.
+         Again, if the priority queue is adapting an
+         <classname>std::vector</classname> then it is possible to reduce this to
+         Θ(n), but with a very high constant (one must call
+         <function>std::make_heap</function> which is an expensive linear
+         operation); if the priority queue is adapting an
+         <classname>std::deque</classname>, then this is impossible.</para>
+
+         <para>[thin_heap_note] A thin heap has
+         Θ(log(n)) worst case <function>modify</function> time
+         always, but the amortized time depends on the nature of the
+         operation: I) if the operation increases the key (in the sense
+         of the priority queue's comparison functor), then the amortized
+         time is O(1), but if II) it decreases it, then the
+         amortized time is the same as the worst case time. Note that
+         for most algorithms, I) is important and II) is not.</para>
+
+       </section>
+
+       <section xml:id="observations.priority_queue.amortized_ops">
+         <info><title>
+           Amortized <function>push</function>
+           and <function>pop</function> operations
+         </title></info>
+
+
+         <para>In many cases, a priority queue is needed primarily for
+         sequences of <function>push</function> and <function>pop</function> operations. All of
+         the underlying data structures have the same amortized
+         logarithmic complexity, but they differ in terms of
+         constants.</para>
+         <para>The table above shows that the different data structures are
+         "constrained" in some respects. In general, if a data structure
+         has lower worst-case complexity than another, then it will
+         perform slower in the amortized sense. Thus, for example a
+         redundant-counter binomial heap (<classname>priority_queue</classname> with
+         <classname>Tag</classname> = <classname>rc_binomial_heap_tag</classname>)
+         has lower worst-case <function>push</function> performance than a binomial
+         heap (<classname>priority_queue</classname>
+         with <classname>Tag</classname> = <classname>binomial_heap_tag</classname>),
+         and so its amortized <function>push</function> performance is slower in
+         terms of constants.</para>
+         <para>As the table shows, the "least constrained" underlying
+         data structures are binary heaps and pairing heaps.
+         Consequently, it is not surprising that they perform best in
+         terms of amortized constants.</para>
+         <orderedlist>
+           <listitem><para>Pairing heaps seem to perform best for non-primitive
+           types (e.g., <classname>std::string</classname>s), as shown by
+           Priority
+           Queue Text <function>push</function> Timing Test and Priority
+           Queue Text <function>push</function> and <function>pop</function> Timing
+           Test</para></listitem>
+           <listitem><para>binary heaps seem to perform best for primitive types
+           (e.g., <type>int</type>s), as shown by Priority
+           Queue Random Integer <function>push</function> Timing Test and
+           Priority
+           Queue Random Integer <function>push</function> and <function>pop</function> Timing
+           Test.</para></listitem>
+         </orderedlist>
+
+       </section>
+
+       <section xml:id="observations.priority_queue.graphs">
+         <info><title>
+           Graph Algorithms
+         </title></info>
+
+         <para>In some graph algorithms, a decrease-key operation is
+         required [clrs2001];
+         this operation is identical to <function>modify</function> if a value is
+         increased (in the sense of the priority queue's comparison
+         functor). The table above and Priority Queue
+         Text <function>modify</function> Up Timing Test show that a thin heap
+         (<classname>priority_queue</classname> with
+         <classname>Tag</classname> = <classname>thin_heap_tag</classname>)
+         outperforms a pairing heap (<classname>priority_queue</classname> with
+         <classname>Tag</classname> = <classname>Tag</classname> = <classname>pairing_heap_tag</classname>),
+         but the rest of the tests show otherwise.</para>
+
+         <para>This makes it difficult to decide which implementation to use in
+         this case. Dijkstra's shortest-path algorithm, for example, requires
+         Θ(n) <function>push</function> and <function>pop</function> operations
+         (in the number of vertices), but O(n<superscript>2</superscript>)
+         <function>modify</function> operations, which can be in practice Θ(n)
+         as well. It is difficult to find an a-priori characterization of
+         graphs in which the actual number of <function>modify</function>
+         operations will dwarf the number of <function>push</function> and
+         <function>pop</function> operations.</para>
+
+       </section>
+
+      </section> <!-- priority_queue -->
+
+    </section>
+
+
+  </section> <!-- performance -->
+
+</section>
\ No newline at end of file
index 5fb739fb2bccd7ea1fa9835d1bd7be9f4fa26d67..5b12d48547da043c900b033642045268f345fbfd 100644 (file)
@@ -18,6 +18,7 @@
     <year>2008</year>
     <year>2009</year>
     <year>2010</year>
+    <year>2011</year>
     <holder>
       <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.fsf.org">FSF</link>
     </holder>