Commit Graph

70 Commits

Author SHA1 Message Date
Paolo Carlini 682b96647b valarray-inst.cc (__gslice_to_index): Optimize performance.
2006-12-10  Paolo Carlini  <pcarlini@suse.de>

	* src/valarray-inst.cc (__gslice_to_index): Optimize performance.
	* testsuite/performance/26_numerics/valarray_gslice_to_index.cc: New.

From-SVN: r119707
2006-12-10 16:47:27 +00:00
Benjamin Kosnik 9f9900dbb6 testsuite_allocator.h (allocation_tracker): To tracker_allocator_counter.
2006-10-03  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/util/testsuite_allocator.h (allocation_tracker): To
	tracker_allocator_counter.
	(allocation_tracker::allocationTotal): To get_allocation_count.
	(allocation_tracker::deallocationTotal): To get_deallocation_count.
	(allocation_tracker::constructCount): To get_construct_count.
	(allocation_tracker::destructCount): To get_destruct_count.	
	(allocation_tracker::resetCounts): To reset.
	(tracker_alloc): To tracker_allocator.
	* testsuite/util/performance/mem: Remove.
	* testsuite/util/performance/mem/mem_track_allocator_base.hpp: Remove.
	* testsuite/util/performance/mem/mem_track_allocator.hpp: Remove.
	* testsuite/27_io/basic_stringbuf/4.cc: Adjust for new names
	or includes.
	* testsuite/ext/hash_set/check_construct_destroy.cc: Same.
	* testsuite/ext/slist/check_construct_destroy.cc: Same.
	* testsuite/performance/ext/pb_ds/
	hash_random_int_erase_mem_usage.cc: Same.
	* testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp
	* testsuite/performance/ext/pb_ds/
	priority_queue_text_pop_mem_usage.cc: Same.
	* testsuite/23_containers/vector/capacity/2.cc: Same.
	* testsuite/23_containers/vector/cons/4.cc: Same.
	* testsuite/23_containers/vector/check_construct_destroy.cc: Same.
	* testsuite/23_containers/deque/cons/2.cc: Same.
	* testsuite/23_containers/deque/check_construct_destroy.cc: Same.
	* testsuite/23_containers/list/check_construct_destroy.cc: Same.
	* testsuite/23_containers/set/check_construct_destroy.cc: Same.
	* testsuite/util/testsuite_allocator.h
	* testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp
	* testsuite/util/performance/assoc/mem_usage/multimap_insert_test.hpp
	* testsuite/util/performance/assoc/mem_usage/erase_test.hpp
	* testsuite/util/testsuite_allocator.cc: Same.

From-SVN: r117408
2006-10-03 17:01:57 +00:00
Benjamin Kosnik 3441f1062c typelist.h (type_to_type): Remove.
2006-09-27  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/typelist.h (type_to_type): Remove.
	* include/ext/throw_allocator.h (assert_allocatod): Remove.
	(check_allocated(label)): New.
	(print_to_string): Print numerical output correctly.

	* testsuite/ext/pb_ds/example/hash_resize_neg.cc: Adjust line numbers.

	* testsuite/util/regression/rand/priority_queue/detail/
	operator_fn_imps.hpp: Set and clear label, throw
        probability. Check only allocations of the marked label.
	* testsuite/util/regression/rand/assoc/detail/
	operator_fn_imps.hpp: Same.

	* testsuite/performance/ext/pb_ds/text_find_timing.cc: Adjustments for
        removal of type_to_type.
	* testsuite/performance/ext/pb_ds/
	hash_random_int_erase_mem_usage.cc: Same.
	* testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/
	priority_queue_text_push_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/
	random_int_subscript_find_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/tree_split_join_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/random_int_find_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/
	multimap_text_insert_mem_usage.hpp: Same.
	* testsuite/performance/ext/pb_ds/
	priority_queue_random_int_push_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/multimap_text_find_timing.hpp: Same.
	* testsuite/performance/ext/pb_ds/
	priority_queue_text_modify_timing.hpp: Same.
	* testsuite/performance/ext/pb_ds/
	tree_order_statistics_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/
	priority_queue_text_push_pop_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/
	priority_queue_text_join_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/
	priority_queue_random_int_push_pop_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/
	random_int_subscript_insert_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/
	multimap_text_insert_timing.hpp: Same.
	* testsuite/performance/ext/pb_ds/
	priority_queue_text_pop_mem_usage.cc: Same.
	* testsuite/performance/ext/pb_ds/
	hash_zlob_random_int_find_timing.cc: Same. 
	* testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/
	rand_regression_test.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/
	constructor_destructor_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/insert_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Same.
	* testsuite/util/regression/rand/assoc/
	container_rand_regression_test.hpp: Same.
	* testsuite/util/regression/assoc/common_type.hpp: Same.
	* testsuite/util/regression/basic_type.hpp: Same.
	* testsuite/util/common_type/assoc/common_type.hpp: Same.
	* testsuite/util/common_type/assoc/string_form.hpp: Same.
	* testsuite/util/common_type/assoc/template_policy.hpp: Same.
	* testsuite/util/common_type/assoc/native_set.hpp: Same.
	* testsuite/util/performance/priority_queue/mem_usage/
	pop_test.hpp: Same.
	* testsuite/util/performance/priority_queue/timing/
	push_pop_test.hpp: Same.
	* testsuite/util/performance/priority_queue/timing/join_test.hpp: Same.
	* testsuite/util/performance/priority_queue/timing/push_test.hpp: Same.
	* testsuite/util/performance/priority_queue/timing/
	modify_test.hpp: Same.
	* testsuite/util/performance/assoc/mem_usage/
	multimap_insert_test.hpp: Same.
	* testsuite/util/performance/assoc/mem_usage/erase_test.hpp: Same.
	* testsuite/util/performance/assoc/timing/
	multimap_insert_test.hpp: Same.
	* testsuite/util/performance/assoc/timing/
	subscript_find_test.hpp: Same.
	* testsuite/util/performance/assoc/timing/find_test.hpp: Same.
	* testsuite/util/performance/assoc/timing/
	subscript_insert_test.hpp: Same.
	* testsuite/util/performance/assoc/timing/insert_test.hpp: Same.
	* testsuite/util/performance/assoc/timing/
	tree_order_statistics_test.hpp: Same.
	* testsuite/util/performance/assoc/timing/multimap_find_test.hpp: Same.
	* testsuite/util/performance/assoc/timing/
	tree_split_join_test.hpp: Same.
	* testsuite/util/performance/assoc/multimap_common_type.hpp: Same.
	* testsuite/util/testsuite_common_types.h: Same.

	* include/ext/pb_ds/detail/cc_hash_table_map_/
	constructor_destructor_no_store_hash_fn_imps.hpp: Typedef
        normalization, consistency in member names between cc and gp hash
        tables, formatting fixes.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	erase_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	insert_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	constructor_destructor_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	insert_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	constructor_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	erase_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	constructor_destructor_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	erase_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	insert_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	constructor_destructor_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	insert_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	constructor_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	erase_no_store_hash_fn_imps.hpp: Same.

	* include/ext/pb_ds/assoc_container.hpp: Formatting fixes.
	* include/ext/pb_ds/detail/resize_policy/
	hash_prime_size_policy_imp.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/
	hash_standard_resize_policy_imp.hpp: Same.
	* include/ext/pb_ds/detail/types_traits.hpp: Same.
	* include/ext/pb_ds/detail/constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/
	direct_mod_range_hashing_imp.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/
	direct_mask_range_hashing_imp.hpp: Same.

From-SVN: r117268
2006-09-28 01:23:58 +00:00
Benjamin Kosnik d7f245b19d typelist_assoc_container.hpp: Remove, unused.
2006-09-20  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/pb_ds/detail/
	typelist_assoc_container.hpp: Remove, unused.
	* include/ext/pb_ds/detail/typelist/
	typelist_assoc_container_find.hpp: Same.
	* include/ext/pb_ds/detail/typelist: Remove.	
	* include/ext/pb_ds/detail/typelist.hpp: Merge...
	* include/ext/pb_ds/detail/typelist/typelist_flatten.hpp: Same.
	* include/ext/pb_ds/detail/typelist/typelist_contains.hpp: Same.
	* include/ext/pb_ds/detail/typelist/typelist_typelist_append.hpp: Same.
	* include/ext/pb_ds/detail/typelist/typelist_apply.hpp: Same.
	* include/ext/pb_ds/detail/typelist/typelist_filter.hpp: Same.
	* include/ext/pb_ds/detail/typelist/typelist_append.hpp: Same.
	* include/ext/pb_ds/detail/typelist/typelist_at_index.hpp: Same.
	* include/ext/pb_ds/detail/typelist/typelist_transform.hpp: Same.
	* include/ext/typelist.h: ... into this.
	* include/Makefile.am: Subtractions.
	* include/Makefile.in: Regenerate.

	* include/ext/pb_ds/assoc_container.hpp: Fixups for new includes,
	namespaces, and names.	
	* include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/
	hash_prime_size_policy_imp.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/
	cc_hash_max_collision_check_resize_trigger_imp.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/
	sample_resize_policy.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/
	sample_resize_trigger.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/
	hash_exponential_size_policy_imp.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/
	hash_load_check_resize_trigger_size_base.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/
	hash_load_check_resize_trigger_imp.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/
	hash_standard_resize_policy_imp.hpp: Same.
	* include/ext/pb_ds/detail/container_base_dispatch.hpp: Same.
	* testsuite/performance/ext/pb_ds/text_find_timing.cc
	* testsuite/performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc
	* testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc
	* testsuite/performance/ext/pb_ds/priority_queue_text_push_timing.cc
	* testsuite/performance/ext/pb_ds/random_int_subscript_find_timing.cc
	* testsuite/performance/ext/pb_ds/tree_split_join_timing.cc
	* testsuite/performance/ext/pb_ds/random_int_find_timing.cc
	* testsuite/performance/ext/pb_ds/
	multimap_text_insert_mem_usage.hpp: Same.
	* testsuite/performance/ext/pb_ds/
	priority_queue_random_int_push_timing.cc
	* testsuite/performance/ext/pb_ds/multimap_text_find_timing.hpp: Same.
	* testsuite/performance/ext/pb_ds/
	priority_queue_text_modify_timing.hpp: Same.
	* testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc
	* testsuite/performance/ext/pb_ds/
	priority_queue_text_push_pop_timing.cc
	* testsuite/performance/ext/pb_ds/priority_queue_text_join_timing.cc
	* testsuite/performance/ext/pb_ds/
	priority_queue_random_int_push_pop_timing.cc
	* testsuite/performance/ext/pb_ds/random_int_subscript_insert_timing.cc
	* testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc
	* testsuite/performance/ext/pb_ds/
	multimap_text_insert_timing.hpp: Same.
	* testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc
	* testsuite/performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc
	* testsuite/performance/23_containers/find/map.cc
	* testsuite/performance/23_containers/create/map.cc
	* testsuite/performance/23_containers/insert_erase/associative.cc
	* testsuite/performance/23_containers/insert/sequence.cc
	* testsuite/performance/23_containers/insert/associative.cc
	* testsuite/performance/23_containers/create_from_sorted/set.cc
	* testsuite/performance/23_containers/index/map.cc
	* testsuite/performance/23_containers/insert_from_sorted/set.cc
	* testsuite/performance/23_containers/create_sort/list.cc
	* testsuite/performance/23_containers/sort_search/list.cc
	* testsuite/performance/23_containers/producer_consumer/sequence.cc
	* testsuite/performance/23_containers/producer_consumer/associative.cc
	* testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/
	rand_regression_test.hpp: Same.
	* testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Same.
	* testsuite/util/regression/assoc/common_type.hpp: Same.
	* testsuite/util/native_type/assoc/native_multimap.hpp: Same.
	* testsuite/util/native_type/assoc/native_tree_tag.hpp: Same.
	* testsuite/util/native_type/assoc/native_hash_multimap.hpp: Same.
	* testsuite/util/native_type/assoc/native_set.hpp: Same.
	* testsuite/util/native_type/assoc/native_map.hpp: Same.
	* testsuite/util/native_type/assoc/native_hash_set.hpp: Same.
	* testsuite/util/native_type/assoc/native_hash_map.hpp: Same.
	* testsuite/util/common_type/priority_queue/common_type.hpp: Same.
	* testsuite/util/common_type/assoc/common_type.hpp: Same.
	* testsuite/util/common_type/assoc/string_form.hpp: Same.
	* testsuite/util/common_type/assoc/template_policy.hpp: Same.
	* testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp: 
	Same.
	* testsuite/util/performance/priority_queue/timing/push_pop_test.hpp: 
	Same.
	* testsuite/util/performance/priority_queue/timing/join_test.hpp: Same.
	* testsuite/util/performance/priority_queue/timing/push_test.hpp: Same.
	* testsuite/util/performance/priority_queue/timing/modify_test.hpp: 
	Same.
	* testsuite/util/performance/assoc/mem_usage/multimap_insert_test.hpp: 
	Same.
	* testsuite/util/performance/assoc/mem_usage/erase_test.hpp: Same.
	* testsuite/util/performance/assoc/timing/common_type.hpp: Same.
	* testsuite/util/performance/assoc/timing/multimap_insert_test.hpp: 
	Same.
	* testsuite/util/performance/assoc/timing/subscript_find_test.hpp: 
	Same.
	* testsuite/util/performance/assoc/timing/find_test.hpp: Same.
	* testsuite/util/performance/assoc/timing/subscript_insert_test.hpp: 
	Same.
	* testsuite/util/performance/assoc/timing/insert_test.hpp: Same.
	* testsuite/util/performance/assoc/timing/
	tree_order_statistics_test.hpp: Same.
	* testsuite/util/performance/assoc/timing/multimap_find_test.hpp: Same.
	* testsuite/util/performance/assoc/timing/tree_split_join_test.hpp: 
	Same.
	* testsuite/util/performance/assoc/multimap_common_type.hpp: Same.

	* testsuite/ext/pb_ds/example/hash_resize_neg.cc: Fixup line numbers.

From-SVN: r117081
2006-09-20 13:49:46 +00:00
Roger Sayle 8c093661a3 stl_algo.h (__heap_select, [...]): New.
2006-08-28  Roger Sayle  <roger@eyesopen.com>
	    Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algo.h (__heap_select, __introselect): New.
	(nth_element): New implementation.
	(partial_copy): Use __heap_select.
	* testsuite/performance/25_algorithms/nth_element_worst_case.cc: New.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>

From-SVN: r116520
2006-08-28 18:32:35 +00:00
Paolo Carlini 976e25f422 stl_bvector.h (vector<bool>::_M_copy_aligned): New.
2006-08-09  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_bvector.h (vector<bool>::_M_copy_aligned): New.
	(vector<bool>::vector(const vector&), operator=(const vector&),
	reserve(size_type), _M_fill_insert(iterator, size_type, bool),
	_M_insert_range(iterator, _ForwardIterator, _ForwardIterator,
	std::forward_iterator_tag), _M_insert_aux(iterator, bool)): Use it.
	* testsuite/performance/23_containers/copy_construct/
	vector_bool.cc: New.

	* testsuite/23_containers/vector/bool/cons/1.cc: New.
	* testsuite/23_containers/vector/bool/cons/2.cc: Likewise.

	* include/bits/stl_bvector.h (vector<bool>::_M_fill): Remove.
	(fill(_Bit_iterator, _Bit_iterator, const bool&)): New.
	(vector<bool>::_M_fill_insert(iterator, size_type, bool)): Adjust.

	* include/bits/stl_bvector.h (_M_initialize_range(_InputIterator,
	_InputIterator, std::input_iterator_tag)): Remove redundant
	assignments.

	* include/bits/stl_algo.h (find(istreambuf_iterator<>,
	istreambuf_iterator<>, _CharT)): Adjust signature.
	* include/bits/streambuf_iterator.h: Likewise.
	* include/std/std_streambuf.h: Likewise.

From-SVN: r116049
2006-08-09 23:39:16 +00:00
Paolo Carlini 15ecde8ebf re PR libstdc++/28587 (vector<bool> is extremely slow (900x slower than it should be))
2006-08-05  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28587
	* include/bits/stl_bvector.h (vector<bool>::_M_fill): New.
	(vector<bool>::_M_fill_insert): Use it.
	* testsuite/performance/23_containers/resize/vector_bool.cc: New.
	
	* testsuite/23_containers/vector/bool/modifiers/insert/1.cc: New.
	* testsuite/23_containers/vector/bool/capacity/1.cc: Likewise.

From-SVN: r115947
2006-08-05 10:11:13 +00:00
Paolo Carlini 21ded7c71e string_copy_cons_and_dest.cc: New.
2006-07-13  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/21_strings/string_copy_cons_and_dest.cc: New.

From-SVN: r115425
2006-07-13 23:41:06 +00:00
Benjamin Kosnik cad367a62b typelist.h (typelist_append): To append_typelist.
2006-06-27  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/typelist.h (typelist_append): To append_typelist. 
	(typelist): To node.
	Enclose in namespace typelist.
	* testsuite/util/testsuite_common_types.h: Adjust names, namespaces.
	* testsuite/performance/23_containers/find/map.cc: Same.
	* testsuite/performance/23_containers/create/map.cc: Same.
	* testsuite/performance/23_containers/insert_erase/associative.cc: 
	Same.
	* testsuite/performance/23_containers/insert/sequence.cc: Same.
	* testsuite/performance/23_containers/insert/associative.cc: Same.
	* testsuite/performance/23_containers/create_from_sorted/set.cc: Same.
	* testsuite/performance/23_containers/index/map.cc: Same.
	* testsuite/performance/23_containers/insert_from_sorted/set.cc: Same.
	* testsuite/performance/23_containers/create_sort/list.cc: Same.
	* testsuite/performance/23_containers/sort_search/list.cc: Same.
	* testsuite/performance/23_containers/producer_consumer/sequence.cc: 
	Same.
	* testsuite/performance/23_containers/producer_consumer/associative.cc:
	Same.

From-SVN: r115037
2006-06-27 19:20:06 +00:00
Ami Tavory 4569a895f5 pb_assoc: Delete.
2006-06-14  Ami Tavory  <atavory@gmail.com>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/pb_assoc: Delete.
	* include/ext/pb_ds: Add.
	* docs/html/ext/pb_assoc: Delete.
	* docs/html/ext/pb_ds: Add.
	* testsuite/ext/pb_assoc: Delete.
	* testsuite/ext/pb_ds: Add.
	* testsuite/performance/ext: Add.
	* testsuite/performance/ext/pb_ds: Add.	

	* testsuite/util/regression: New.
	* testsuite/util/rng: New.
	* testsuite/util/native_type: New.
	* testsuite/util/common_type: New.
	* testsuite/util/performance: New.
	* testsuite/util/hash_fn: New.
	* testsuite/util/io: New.
	* testsuite/util/statistic: New.

	* scripts/make_graph.py: New.
	* scripts/make_graphs.py: New.
	* testsuite/data/thirty_years_among_the_dead_preproc.txt: Add.
	* testsuite/data/make_graph_htmls.xml: Add.
	* testsuite/data/make_graph_test_infos.xml: Add.	

	* testsuite/lib/libstdc++.exp (v3-build_support): Add in new
	object files for regression testing.
	* docs/html/documentation.html: Adjust links.
	* include/Makefile.am (install-headers): Update for new sources,
	directories.
	* include/Makefine.in: Regenerate.
	* scripts/testsuite_flags.in: Adjust to testsuite/util path.
	* scripts/check_performance: Simplify, adjust for new testsuite output.
	* testsuite/Makefile.am (check-performance): Adjust.
	(doc-performance): New.
	* testsuite/Makefile.in: Regenerate.

	* include/ext/pb_ds: New.
	* include/ext/pb_ds/assoc_container.hpp: Same.
	* include/ext/pb_ds/detail: New.
	* include/ext/pb_ds/detail/binomial_heap_base_: New.
	* include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy: New.
	* include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp: Same.
	* include/ext/pb_ds/detail/container_base_dispatch.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_: New.
	* include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/standard_policies.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/typelist_assoc_container.hpp: Same.
	* include/ext/pb_ds/detail/tree_trace_base.hpp: Same.
	* include/ext/pb_ds/detail/unordered_iterator: New.
	* include/ext/pb_ds/detail/unordered_iterator/iterator.hpp: Same.
	* include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp: Same.
	* include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp: Same.
	* include/ext/pb_ds/detail/unordered_iterator/const_point_iterator.hpp: Same.
	* include/ext/pb_ds/detail/typelist.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_: New.
	* include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/head.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/const_child_iterator.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/traits.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/cond_dtor_entry_dealtor.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/leaf.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/node_base.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/node_metadata_base.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_: New.
	* include/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/cond_dtor_entry_dealtor.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/cond_key_dtor_entry_dealtor.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_: New.
	* include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/standard_policies.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/standard_policies.hpp: Same.
	* include/ext/pb_ds/detail/typelist: New.
	* include/ext/pb_ds/detail/typelist/typelist_flatten.hpp: Same.
	* include/ext/pb_ds/detail/typelist/typelist_contains.hpp: Same.
	* include/ext/pb_ds/detail/typelist/typelist_typelist_append.hpp: Same.
	* include/ext/pb_ds/detail/typelist/typelist_apply.hpp: Same.
	* include/ext/pb_ds/detail/typelist/typelist_filter.hpp: Same.
	* include/ext/pb_ds/detail/typelist/typelist_append.hpp: Same.
	* include/ext/pb_ds/detail/typelist/typelist_assoc_container_find.hpp: Same.
	* include/ext/pb_ds/detail/typelist/typelist_transform.hpp: Same.
	* include/ext/pb_ds/detail/typelist/typelist_at_index.hpp: Same.
	* include/ext/pb_ds/detail/tree_policy: New.
	* include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp: Same.
	* include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp: Same.
	* include/ext/pb_ds/detail/tree_policy/null_node_update_imp.hpp: Same.
	* include/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp: Same.
	* include/ext/pb_ds/detail/basic_tree_policy: New.
	* include/ext/pb_ds/detail/basic_tree_policy/basic_tree_policy_base.hpp: Same.
	* include/ext/pb_ds/detail/basic_tree_policy/null_node_metadata.hpp: Same.
	* include/ext/pb_ds/detail/basic_tree_policy/traits.hpp: Same.
	* include/ext/pb_ds/detail/types_traits.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_: New.
	* include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/entry_pred.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/resize_policy.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/trie_policy: New.
	* include/ext/pb_ds/detail/trie_policy/string_trie_e_access_traits_imp.hpp: Same.
	* include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp: Same.
	* include/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp: Same.
	* include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp: Same.
	* include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp: Same.
	* include/ext/pb_ds/detail/trie_policy/sample_trie_e_access_traits.hpp: Same.
	* include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp: Same.
	* include/ext/pb_ds/detail/trie_policy/null_node_update_imp.hpp: Same.
	* include/ext/pb_ds/detail/cond_dealtor.hpp: Same.
	* include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: Same.
	* include/ext/pb_ds/detail/pairing_heap_: Name.
	* include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp: Same.
	* include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_: New.
	* include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp: Same.
	* include/ext/pb_ds/detail/constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/type_utils.hpp: Same.
	* include/ext/pb_ds/detail/eq_fn: New.
	* include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp: Same.
	* include/ext/pb_ds/detail/eq_fn/eq_by_less.hpp: Same.
	* include/ext/pb_ds/detail/basic_types.hpp: Same.
	* include/ext/pb_ds/detail/list_update_policy: New.
	* include/ext/pb_ds/detail/list_update_policy/mtf_lu_policy_imp.hpp: Same.
	* include/ext/pb_ds/detail/list_update_policy/counter_lu_metadata.hpp: Same.
	* include/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp: Same.
	* include/ext/pb_ds/detail/list_update_policy/counter_lu_policy_imp.hpp: Same.
	* include/ext/pb_ds/detail/thin_heap_: New.
	* include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp: Same.
	* include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_: New.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_point_iterator.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_: New.
	* include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/cond_dtor.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/traits.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/map_debug_base.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn: New.
	* include/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_: New.
	* include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/node.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/traits.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_: New.
	* include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rc_binomial_heap_: New.
	* include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp: Same.
	* include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp: Same.
	* include/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_: New.
	* include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/node.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/traits.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/list_update_policy.hpp: Same.
	* include/ext/pb_ds/exception.hpp: Same.
	* include/ext/pb_ds/tree_policy.hpp: Same.
	* include/ext/pb_ds/tag_and_trait.hpp: Same.
	* include/ext/pb_ds/hash_policy.hpp: Same.
	* include/ext/pb_ds/trie_policy.hpp: Same.
	* include/ext/pb_ds/priority_queue.hpp: Same.

	* docs/html/ext/pb_ds: New.
	* docs/html/ext/pb_ds/container_tag.html: Same.
	* docs/html/ext/pb_ds/trivial_iterator_tag.html: Same.
	* docs/html/ext/pb_ds/tree_text_lor_find_timing_test_local.png
	* docs/html/ext/pb_ds/sample_trie_e_access_traits.html: Same.
	* docs/html/ext/pb_ds/gp_hash_table.html: Same.
	* docs/html/ext/pb_ds/priority_queue_tag_cd.svg
	* docs/html/ext/pb_ds/container_cd.svg
	* docs/html/ext/pb_ds/linear_probe_fn.html: Same.
	* docs/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_local.png
	* docs/html/ext/pb_ds/quadratic_probe_fn.html: Same.
	* docs/html/ext/pb_ds/assoc_regression_tests.html: Same.
	* docs/html/ext/pb_ds/tree_tag.html: Same.
	* docs/html/ext/pb_ds/hash_random_int_erase_mem_usage_test.html: Same.
	* docs/html/ext/pb_ds/interface.html: Same.
	* docs/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_msvc.png
	* docs/html/ext/pb_ds/hash_random_int_subscript_find_timing_test.html: Same.
	* docs/html/ext/pb_ds/lu_based_containers.html: Same.
	* docs/html/ext/pb_ds/embedded_lists_3.png
	* docs/html/ext/pb_ds/tree_text_find_find_timing_test.html: Same.
	* docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_local.png
	* docs/html/ext/pb_ds/assoc_performance_tests.html: Same.
	* docs/html/ext/pb_ds/list_update.html: Same.
	* docs/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_gcc.png
	* docs/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_local.png
	* docs/html/ext/pb_ds/point_iterators_range_ops_1.png
	* docs/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_msvc.png
	* docs/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_gcc.png
	* docs/html/ext/pb_ds/text_find_timing_test_tree_like_msvc.png
	* docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_local.png
	* docs/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_local.png
	* docs/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_msvc.png
	* docs/html/ext/pb_ds/priority_queue_text_modify_down_timing_test.html: Same.
	* docs/html/ext/pb_ds/move_to_front_lu_policy.html: Same.
	* docs/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_gcc.png
	* docs/html/ext/pb_ds/hash_random_int_find_find_timing_test.html: Same.
	* docs/html/ext/pb_ds/string_trie_e_access_traits.html: Same.
	* docs/html/ext/pb_ds/prerequisites.html: Same.
	* docs/html/ext/pb_ds/gp_hash_tag.html: Same.
	* docs/html/ext/pb_ds/priority_queue_tag_cd.png
	* docs/html/ext/pb_ds/container_cd.png
	* docs/html/ext/pb_ds/priority_queue_text_join_timing_test_gcc.png
	* docs/html/ext/pb_ds/container_base.html: Same.
	* docs/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_msvc.png
	* docs/html/ext/pb_ds/tree_random_int_find_find_timing_test.html: Same.
	* docs/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_msvc.png
	* docs/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_local.png
	* docs/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_gcc.png
	* docs/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_msvc.png
	* docs/html/ext/pb_ds/random_int_find_find_timing_test_tree_msvc.png
	* docs/html/ext/pb_ds/text_find_timing_test_hash_local.png
	* docs/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_msvc.png
	* docs/html/ext/pb_ds/ov_tree_tag.html: Same.
	* docs/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_local.png
	* docs/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_msvc.png
	* docs/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_msvc.png
	* docs/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_msvc.png
	* docs/html/ext/pb_ds/list_update_tag.html: Same.
	* docs/html/ext/pb_ds/balls_and_bins.png
	* docs/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_local.png
	* docs/html/ext/pb_ds/disclaimer.html: Same.
	* docs/html/ext/pb_ds/insert_error.html: Same.
	* docs/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_gcc.png
	* docs/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_gcc.png
	* docs/html/ext/pb_ds/examples.html: Same.
	* docs/html/ext/pb_ds/multimap_text_insert_timing_test_small.html: Same.
	* docs/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_gcc.png
	* docs/html/ext/pb_ds/sample_probe_fn.html: Same.
	* docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_local.png
	* docs/html/ext/pb_ds/priority_queue_text_push_timing_test.html: Same.
	* docs/html/ext/pb_ds/priority_queue_random_int_push_timing_test_gcc.png
	* docs/html/ext/pb_ds/null_mapped_type.html: Same.
	* docs/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_gcc.png
	* docs/html/ext/pb_ds/tree_order_statistics_timing_test_gcc.png
	* docs/html/ext/pb_ds/associative_container_tag.html: Same.
	* docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_local.png
	* docs/html/ext/pb_ds/design.html: Same.
	* docs/html/ext/pb_ds/cc_hash_max_collision_check_resize_trigger.html: Same.
	* docs/html/ext/pb_ds/pairing_heap_tag.html: Same.
	* docs/html/ext/pb_ds/tree_text_lor_find_timing_test_gcc.png
	* docs/html/ext/pb_ds/references.html: Same.
	* docs/html/ext/pb_ds/tree_order_statistics_timing_test_msvc.png
	* docs/html/ext/pb_ds/hash_load_check_resize_trigger.html: Same.
	* docs/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_gcc.png
	* docs/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_gcc.png
	* docs/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_gcc.png
	* docs/html/ext/pb_ds/pq_different_underlying_dss.png
	* docs/html/ext/pb_ds/insert_resize_sequence_diagram1.png
	* docs/html/ext/pb_ds/pq_regression_tests.html: Same.
	* docs/html/ext/pb_ds/sample_tree_node_update.html: Same.
	* docs/html/ext/pb_ds/invalidation_guarantee_erase.png
	* docs/html/ext/pb_ds/basic_invalidation_guarantee.html: Same.
	* docs/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_local.png
	* docs/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_gcc.png
	* docs/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_local.png
	* docs/html/ext/pb_ds/point_iterators_range_ops_2.png
	* docs/html/ext/pb_ds/null_probe_fn.html: Same.
	* docs/html/ext/pb_ds/hash_prime_size_policy.html: Same.
	* docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_msvc.png
	* docs/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_gcc.png
	* docs/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_local.png
	* docs/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_local.png
	* docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_msvc.png
	* docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_gcc.png
	* docs/html/ext/pb_ds/multimap_text_find_timing_test_large.html: Same.
	* docs/html/ext/pb_ds/sample_resize_policy.html: Same.
	* docs/html/ext/pb_ds/binomial_heap_tag.html: Same.
	* docs/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_local.png
	* docs/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_local.png
	* docs/html/ext/pb_ds/tree_text_lor_find_find_timing_test.html: Same.
	* docs/html/ext/pb_ds/priority_queue_text_join_timing_test_msvc.png
	* docs/html/ext/pb_ds/trie_based_containers.html: Same.
	* docs/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_gcc.png
	* docs/html/ext/pb_ds/tree_split_join_timing_test_local.png
	* docs/html/ext/pb_ds/text_find_timing_test_hash_gcc.png
	* docs/html/ext/pb_ds/motivation.html: Same.
	* docs/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_msvc.png
	* docs/html/ext/pb_ds/tree_split_join_timing_test_gcc.png
	* docs/html/ext/pb_ds/tree.html: Same.
	* docs/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_gcc.png
	* docs/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_msvc.png
	* docs/html/ext/pb_ds/invalidation_guarantee_cd.png
	* docs/html/ext/pb_ds/tutorial.html: Same.
	* docs/html/ext/pb_ds/null_trie_node_update.html: Same.
	* docs/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_gcc.png
	* docs/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_msvc.png
	* docs/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_local.png
	* docs/html/ext/pb_ds/point_iterators_cd.png
	* docs/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_local.png
	* docs/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_local.png
	* docs/html/ext/pb_ds/rb_tree_tag.html: Same.
	* docs/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_msvc.png
	* docs/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_msvc.png
	* docs/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_gcc.png
	* docs/html/ext/pb_ds/exceptions.html: Same.
	* docs/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_msvc.png
	* docs/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_local.png
	* docs/html/ext/pb_ds/hash_policy_cd.png
	* docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_gcc.png
	* docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small.html: Same.
	* docs/html/ext/pb_ds/ds_gen.html: Same.
	* docs/html/ext/pb_ds/hash_exponential_size_policy.html: Same.
	* docs/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_local.png
	* docs/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_msvc.png
	* docs/html/ext/pb_ds/index.html: Same.
	* docs/html/ext/pb_ds/binary_heap_tag.html: Same.
	* docs/html/ext/pb_ds/basic_hash_tag.html: Same.
	* docs/html/ext/pb_ds/trie_order_statistics_node_update.html: Same.
	* docs/html/ext/pb_ds/sample_resize_trigger.html: Same.
	* docs/html/ext/pb_ds/priority_queue_text_push_timing_test_local.png
	* docs/html/ext/pb_ds/hash_text_find_find_timing_test.html: Same.
	* docs/html/ext/pb_ds/tree_text_insert_timing_test.html: Same.
	* docs/html/ext/pb_ds/trie_tag.html: Same.
	* docs/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_local.png
	* docs/html/ext/pb_ds/pq_tests.html: Same.
	* docs/html/ext/pb_ds/insert_resize_sequence_diagram2.png
	* docs/html/ext/pb_ds/node_invariant_invalidations.png
	* docs/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_msvc.png
	* docs/html/ext/pb_ds/resize_policy_cd.png
	* docs/html/ext/pb_ds/embedded_lists_1.png
	* docs/html/ext/pb_ds/hash_ranged_hash_range_hashing_fns.png
	* docs/html/ext/pb_ds/null_lu_metadata.html: Same.
	* docs/html/ext/pb_ds/tree_order_statistics_timing_test.html: Same.
	* docs/html/ext/pb_ds/trie_prefix_search_node_update.html: Same.
	* docs/html/ext/pb_ds/hash_range_hashing_seq_diagram.png
	* docs/html/ext/pb_ds/point_invalidation_guarantee.html: Same.
	* docs/html/ext/pb_ds/direct_mod_range_hashing.html: Same.
	* docs/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_local.png
	* docs/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_msvc.png
	* docs/html/ext/pb_ds/misc.html: Same.
	* docs/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_local.png
	* docs/html/ext/pb_ds/counter_lu_policy.html: Same.
	* docs/html/ext/pb_ds/different_underlying_dss.png
	* docs/html/ext/pb_ds/restoring_node_invariants.png
	* docs/html/ext/pb_ds/multimap_text_insert_timing_test_large.html: Same.
	* docs/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_local.png
	* docs/html/ext/pb_ds/sample_update_policy.html: Same.
	* docs/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_gcc.png
	* docs/html/ext/pb_ds/tree_order_statistics_timing_test_local.png
	* docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_msvc.png
	* docs/html/ext/pb_ds/simple_list.png
	* docs/html/ext/pb_ds/text_find_timing_test_hash_msvc.png
	* docs/html/ext/pb_ds/assoc_examples.html: Same.
	* docs/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_local.png
	* docs/html/ext/pb_ds/hash_based_containers.html: Same.
	* docs/html/ext/pb_ds/text_find_timing_test_tree_like_local.png
	* docs/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_local.png
	* docs/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_gcc.png
	* docs/html/ext/pb_ds/tree_node_iterator.html: Same.
	* docs/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_msvc.png
	* docs/html/ext/pb_ds/trie_node_iterator.html: Same.
	* docs/html/ext/pb_ds/tree_based_containers.html: Same.
	* docs/html/ext/pb_ds/hash_random_int_subscript_insert_timing_test.html: Same.
	* docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_msvc.png
	* docs/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_msvc.png
	* docs/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_msvc.png
	* docs/html/ext/pb_ds/priority_queue_text_push_timing_test_gcc.png
	* docs/html/ext/pb_ds/rationale_null_node_updator.png
	* docs/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_local.png
	* docs/html/ext/pb_ds/lu.png
	* docs/html/ext/pb_ds/assoc_container_traits.html: Same.
	* docs/html/ext/pb_ds/gp_hash_random_int_find_timing_test_msvc.png
	* docs/html/ext/pb_ds/assoc_design.html: Same.
	* docs/html/ext/pb_ds/splay_tree_tag.html: Same.
	* docs/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_gcc.png
	* docs/html/ext/pb_ds/priority_queue_random_int_push_timing_test.html: Same.
	* docs/html/ext/pb_ds/assoc_container_tag_cd.svg
	* docs/html/ext/pb_ds/resize_error.html: Same.
	* docs/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_msvc.png
	* docs/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_gcc.png
	* docs/html/ext/pb_ds/priority_queue_text_join_timing_test.html: Same.
	* docs/html/ext/pb_ds/basic_tree_assoc_container_const_node_iterator.html: Same.
	* docs/html/ext/pb_ds/gp_hash_random_int_find_timing_test_gcc.png
	* docs/html/ext/pb_ds/trie_const_node_iterator.html: Same.
	* docs/html/ext/pb_ds/hash_zlob_random_int_find_find_timing_test.html: Same.
	* docs/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_gcc.png
	* docs/html/ext/pb_ds/sample_size_policy.html: Same.
	* docs/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_gcc.png
	* docs/html/ext/pb_ds/cc_hash_table.html: Same.
	* docs/html/ext/pb_ds/node_invariants.png
	* docs/html/ext/pb_ds/tree_split_join_timing_test_msvc.png
	* docs/html/ext/pb_ds/priority_queue_text_modify_up_timing_test.html: Same.
	* docs/html/ext/pb_ds/tree_order_statistics_node_update.html: Same.
	* docs/html/ext/pb_ds/cc_hash_random_int_find_timing_test_msvc.png
	* docs/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_local.png
	* docs/html/ext/pb_ds/priority_queue.html: Same.
	* docs/html/ext/pb_ds/assoc_tests.html: Same.
	* docs/html/ext/pb_ds/assoc_container_tag_cd.png
	* docs/html/ext/pb_ds/basic_hash_table.html: Same.
	* docs/html/ext/pb_ds/basic_tree_tag.html: Same.
	* docs/html/ext/pb_ds/tree_split_join_timing_test.html: Same.
	* docs/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_local.png
	* docs/html/ext/pb_ds/insert_resize_sequence_diagram3.png
	* docs/html/ext/pb_ds/embedded_lists_2.png
	* docs/html/ext/pb_ds/random_int_find_find_timing_test_tree_local.png
	* docs/html/ext/pb_ds/sample_ranged_probe_fn.html: Same.
	* docs/html/ext/pb_ds/random_int_find_find_timing_test_tree_gcc.png
	* docs/html/ext/pb_ds/sample_trie_node_update.html: Same.
	* docs/html/ext/pb_ds/introduction.html: Same.
	* docs/html/ext/pb_ds/pq_performance_tests.html: Same.
	* docs/html/ext/pb_ds/pat_trie.png
	* docs/html/ext/pb_ds/range_invalidation_guarantee.html: Same.
	* docs/html/ext/pb_ds/contact.html: Same.
	* docs/html/ext/pb_ds/sample_range_hashing.html: Same.
	* docs/html/ext/pb_ds/priority_queue_random_int_push_timing_test_local.png
	* docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_gcc.png
	* docs/html/ext/pb_ds/update_seq_diagram.png
	* docs/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_gcc.png
	* docs/html/ext/pb_ds/direct_mask_range_hashing.html: Same.
	* docs/html/ext/pb_ds/tests.html: Same.
	* docs/html/ext/pb_ds/cc_hash_random_int_find_timing_test_gcc.png
	* docs/html/ext/pb_ds/tree_node_updator_policy_cd.png
	* docs/html/ext/pb_ds/text_find_timing_test_tree_like_gcc.png
	* docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large.html: Same.
	* docs/html/ext/pb_ds/trie_node_updator_policy_cd.png
	* docs/html/ext/pb_ds/priority_queue_random_int_push_timing_test_msvc.png
	* docs/html/ext/pb_ds/concepts.html: Same.
	* docs/html/ext/pb_ds/pq_examples.html: Same.
	* docs/html/ext/pb_ds/priority_queue_tag.html: Same.
	* docs/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test.html: Same.
	* docs/html/ext/pb_ds/update_policy_cd.png
	* docs/html/ext/pb_ds/thin_heap_tag.html: Same.
	* docs/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_msvc.png
	* docs/html/ext/pb_ds/basic_tree.html: Same.
	* docs/html/ext/pb_ds/null_hash_fn.html: Same.
	* docs/html/ext/pb_ds/null_tree_node_update.html: Same.
	* docs/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_gcc.png
	* docs/html/ext/pb_ds/trie.html: Same.
	* docs/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_msvc.png
	* docs/html/ext/pb_ds/rc_binomial_heap_tag.html: Same.
	* docs/html/ext/pb_ds/priority_queue_text_push_timing_test_msvc.png
	* docs/html/ext/pb_ds/pq_container_traits.html: Same.
	* docs/html/ext/pb_ds/pq_design.html: Same.
	* docs/html/ext/pb_ds/checked_by_tidy.gif
	* docs/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_local.png
	* docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_gcc.png
	* docs/html/ext/pb_ds/priority_queue_text_push_pop_timing_test.html: Same.
	* docs/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_gcc.png
	* docs/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_local.png
	* docs/html/ext/pb_ds/acks.html: Same.
	* docs/html/ext/pb_ds/gp_hash_random_int_find_timing_test_local.png
	* docs/html/ext/pb_ds/cc_hash_tag.html: Same.
	* docs/html/ext/pb_ds/sample_ranged_hash_fn.html: Same.
	* docs/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_msvc.png
	* docs/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test.html: Same.
	* docs/html/ext/pb_ds/multimap_text_find_timing_test_small.html: Same.
	* docs/html/ext/pb_ds/tree_text_lor_find_timing_test_msvc.png
	* docs/html/ext/pb_ds/hash_range_hashing_seq_diagram2.png
	* docs/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_msvc.png
	* docs/html/ext/pb_ds/PythonPoweredSmall.gif
	* docs/html/ext/pb_ds/cc_hash_random_int_find_timing_test_local.png
	* docs/html/ext/pb_ds/pat_trie_tag.html: Same.
	* docs/html/ext/pb_ds/hash_standard_resize_policy.html: Same.
	* docs/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_msvc.png
	* docs/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_gcc.png
	* docs/html/ext/pb_ds/join_error.html: Same.
	* docs/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_gcc.png
	* docs/html/ext/pb_ds/priority_queue_text_join_timing_test_local.png

	* testsuite/ext/pb_ds: New.
	* testsuite/ext/pb_ds/regression: New.
	* testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/associative_containers.cc: Same.
	* testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/priority_queues.cc: Same.
	* testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/example: New.
	* testsuite/ext/pb_ds/example/hash_shift_mask.cc: Same.
	* testsuite/ext/pb_ds/example/basic_set.cc: Same.
	* testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Same.
	* testsuite/ext/pb_ds/example/hash_resize_neg.cc: Same.
	* testsuite/ext/pb_ds/example/store_hash.cc: Same.
	* testsuite/ext/pb_ds/example/assoc_container_traits.cc: Same.
	* testsuite/ext/pb_ds/example/hash_load_set_change.cc: Same.
	* testsuite/ext/pb_ds/example/ranged_hash.cc: Same.
	* testsuite/ext/pb_ds/example/hash_resize.cc: Same.
	* testsuite/ext/pb_ds/example/tree_order_statistics.cc: Same.
	* testsuite/ext/pb_ds/example/trie_prefix_search.cc: Same.
	* testsuite/ext/pb_ds/example/basic_multiset.cc: Same.
	* testsuite/ext/pb_ds/example/priority_queue_xref.cc: Same.
	* testsuite/ext/pb_ds/example/hash_find_neg.cc: Same.
	* testsuite/ext/pb_ds/example/erase_if.cc: Same.
	* testsuite/ext/pb_ds/example/priority_queue_container_traits.cc: Same.
	* testsuite/ext/pb_ds/example/tree_join.cc: Same.
	* testsuite/ext/pb_ds/example/basic_map.cc: Same.
	* testsuite/ext/pb_ds/example/trie_split.cc: Same.
	* testsuite/ext/pb_ds/example/priority_queue_split_join.cc: Same.
	* testsuite/ext/pb_ds/example/priority_queue_dijkstra.cc: Same.
	* testsuite/ext/pb_ds/example/priority_queue_erase_if.cc: Same.
	* testsuite/ext/pb_ds/example/hash_mod.cc: Same.
	* testsuite/ext/pb_ds/example/tree_order_statistics_join.cc: Same.
	* testsuite/ext/pb_ds/example/trie_dna.cc: Same.
	* testsuite/ext/pb_ds/example/hash_initial_size.cc: Same.
	* testsuite/ext/pb_ds/example/basic_priority_queue.cc: Same.
	* testsuite/ext/pb_ds/example/tree_intervals.cc: Same.
	* testsuite/ext/pb_ds/example/basic_multimap.cc: Same.
	* testsuite/performance/ext: New.
	* testsuite/performance/ext/pb_ds: New.
	* testsuite/performance/ext/pb_ds/multimap_text_find_timing_small.cc: Same.
	* testsuite/performance/ext/pb_ds/text_find_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc: Same.
	* testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/random_int_subscript_find_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/priority_queue_text_push_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/tree_split_join_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/random_int_find_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/multimap_text_insert_timing_large.cc: Same.
	* testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp: Same.
	* testsuite/performance/ext/pb_ds/priority_queue_random_int_push_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/multimap_text_find_timing.hpp: Same.
	* testsuite/performance/ext/pb_ds/priority_queue_text_modify_timing.hpp: Same.
	* testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/priority_queue_text_modify_up_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc: Same.
	* testsuite/performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/multimap_text_find_timing_large.cc: Same.
	* testsuite/performance/ext/pb_ds/priority_queue_text_join_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/multimap_text_insert_timing_small.cc: Same.
	* testsuite/performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/random_int_subscript_insert_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc: Same.
	* testsuite/performance/ext/pb_ds/multimap_text_insert_timing.hpp: Same.
	* testsuite/performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage_small.cc: Same.
	* testsuite/data/make_graph_test_infos.xml: Same.
	* testsuite/data/thirty_years_among_the_dead_preproc.txt: New.
	* testsuite/data/make_graph_htmls.xml: Same.
	* testsuite/util/regression: New.
	* testsuite/util/regression/trait: New.
	* testsuite/util/regression/trait/priority_queue: New.
	* testsuite/util/regression/trait/priority_queue/trait.hpp: Same.
	* testsuite/util/regression/trait/erase_if_fn.hpp: Same.
	* testsuite/util/regression/trait/assoc: New.
	* testsuite/util/regression/trait/assoc/native_type_trait.hpp: Same.
	* testsuite/util/regression/trait/assoc/node_update_trait.hpp: Same.
	* testsuite/util/regression/trait/assoc/get_set_load_trait.hpp: Same.
	* testsuite/util/regression/trait/assoc/get_set_loads_trait.hpp: Same.
	* testsuite/util/regression/trait/assoc/trait.hpp: Same.
	* testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
	* testsuite/util/regression/trait/assoc/resize_trait.hpp: Same.
	* testsuite/util/regression/trait/assoc/to_string.hpp: Same.
	* testsuite/util/regression/rand: New.
	* testsuite/util/regression/rand/priority_queue: New.
	* testsuite/util/regression/rand/priority_queue/detail: New.
	* testsuite/util/regression/rand/priority_queue/detail/erase_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/cmp_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/policy_access_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/defs_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/it_conversion_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/constructor_destructor_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/diagnostic_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/insert_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/clear_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/modify_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/split_join_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/operator_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/rand_regression_test.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/container_rand_regression_test.hpp: Same.
	* testsuite/util/regression/rand/io: New.
	* testsuite/util/regression/rand/io/priority_queue: New.
	* testsuite/util/regression/rand/io/priority_queue/xml_formatter.hpp: Same.
	* testsuite/util/regression/rand/io/assoc: New.
	* testsuite/util/regression/rand/io/assoc/xml_formatter.hpp: Same.
	* testsuite/util/regression/rand/io/xml_formatter.hpp: Same.
	* testsuite/util/regression/rand/assoc: New.
	* testsuite/util/regression/rand/assoc/detail: New.
	* testsuite/util/regression/rand/assoc/detail/subscript_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/cmp_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/policy_access_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/defs_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/it_conversion_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/diagnostic_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/clear_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/get_set_load_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/operator_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/erase_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/resize_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/constructor_destructor_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/insert_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/split_join_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/get_set_loads_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Same.
	* testsuite/util/regression/rand/assoc/container_rand_regression_test.hpp: Same.
	* testsuite/util/regression/priority_queue: New.
	* testsuite/util/regression/priority_queue/common_type.hpp: Same.
	* testsuite/util/regression/basic_type.hpp: Same.
	* testsuite/util/regression/assoc: New.
	* testsuite/util/regression/assoc/common_type.hpp: Same.
	* testsuite/util/regression/res_mng: New.
	* testsuite/util/regression/res_mng/forced_exception.hpp: Same.
	* testsuite/util/regression/res_mng/dbg_ex_allocator_base.cc: Same.
	* testsuite/util/regression/res_mng/dbg_ex_allocator_base.hpp: Same.
	* testsuite/util/regression/res_mng/dbg_ex_allocator.hpp: Same.
	* testsuite/util/rng: New.
	* testsuite/util/rng/twister_rand_gen.cc: Same.
	* testsuite/util/rng/twister_rand_gen.hpp: Same.
	* testsuite/util/native_type: New.
	* testsuite/util/native_type/priority_queue: New.
	* testsuite/util/native_type/priority_queue/native_priority_queue.hpp: Same.
	* testsuite/util/native_type/priority_queue/native_pq_tag.hpp: Same.
	* testsuite/util/native_type/assoc: New.
	* testsuite/util/native_type/assoc/native_multimap.hpp: Same.
	* testsuite/util/native_type/assoc/native_tree_tag.hpp: Same.
	* testsuite/util/native_type/assoc/native_set.hpp: Same.
	* testsuite/util/native_type/assoc/native_hash_multimap.hpp: Same.
	* testsuite/util/native_type/assoc/native_map.hpp: Same.
	* testsuite/util/native_type/assoc/native_hash_tag.hpp: Same.
	* testsuite/util/native_type/assoc/native_hash_set.hpp: Same.
	* testsuite/util/native_type/assoc/native_hash_map.hpp: Same.
	* testsuite/util/common_type: New.
	* testsuite/util/common_type/priority_queue
	* testsuite/util/common_type/priority_queue/common_type.hpp: Same.
	* testsuite/util/common_type/priority_queue/string_form.hpp: Same.
	* testsuite/util/common_type/priority_queue/detail
	* testsuite/util/common_type/priority_queue/detail/ds_string_form.hpp: Same.
	* testsuite/util/common_type/assoc: New.
	* testsuite/util/common_type/assoc/common_type.hpp: Same.
	* testsuite/util/common_type/assoc/string_form.hpp: Same.
	* testsuite/util/common_type/assoc/template_policy.hpp: Same.
	* testsuite/util/common_type/assoc/detail: New.
	* testsuite/util/common_type/assoc/detail/resize_policy_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/detail/trigger_policy_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/detail/ds_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/detail/comb_hash_fn_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/detail/size_policy_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/detail/probe_fn_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/detail/tree_supports_order_statistics.hpp: Same.
	* testsuite/util/common_type/assoc/detail/trie_supports_prefix_search.hpp: Same.
	* testsuite/util/common_type/assoc/detail/list_update_policy_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/detail/trie_supports_order_statistics.hpp: Same.
	* testsuite/util/common_type/assoc/detail/store_hash_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/native_set.hpp: Same.
	* testsuite/util/performance: New.
	* testsuite/util/performance/priority_queue: New.
	* testsuite/util/performance/priority_queue/mem_usage: New.
	* testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp: Same.
	* testsuite/util/performance/priority_queue/timing: New.
	* testsuite/util/performance/priority_queue/timing/push_pop_test.hpp: Same.
	* testsuite/util/performance/priority_queue/timing/push_test.hpp: Same.
	* testsuite/util/performance/priority_queue/timing/join_test.hpp: Same.
	* testsuite/util/performance/priority_queue/timing/modify_test.hpp: Same.
	* testsuite/util/performance/io: New.
	* testsuite/util/performance/io/xml_formatter.hpp: Same.
	* testsuite/util/performance/assoc: New.
	* testsuite/util/performance/assoc/mem_usage: New.
	* testsuite/util/performance/assoc/mem_usage/multimap_insert_test.hpp: Same.
	* testsuite/util/performance/assoc/mem_usage/erase_test.hpp: Same.
	* testsuite/util/performance/assoc/multimap_common_type.hpp: Same.
	* testsuite/util/performance/assoc/timing: New.
	* testsuite/util/performance/assoc/timing/common_type.hpp: Same.
	* testsuite/util/performance/assoc/timing/multimap_insert_test.hpp: Same.
	* testsuite/util/performance/assoc/timing/subscript_find_test.hpp: Same.
	* testsuite/util/performance/assoc/timing/find_test.hpp: Same.
	* testsuite/util/performance/assoc/timing/subscript_insert_test.hpp: Same.
	* testsuite/util/performance/assoc/timing/insert_test.hpp: Same.
	* testsuite/util/performance/assoc/timing/tree_order_statistics_test.hpp: Same.
	* testsuite/util/performance/assoc/timing/multimap_find_test.hpp: Same.
	* testsuite/util/performance/assoc/timing/tree_split_join_test.hpp: Same.
	* testsuite/util/performance/time: New.
	* testsuite/util/performance/time/elapsed_timer.cc: Same.
	* testsuite/util/performance/time/elapsed_timer.hpp: Same.
	* testsuite/util/performance/time/timing_test_base.hpp: Same.
	* testsuite/util/performance/mem: New.
	* testsuite/util/performance/mem/mem_track_allocator_base.hpp: Same.
	* testsuite/util/performance/mem/mem_track_allocator.hpp: Same.
	* testsuite/util/hash_fn: New.
	* testsuite/util/hash_fn/limit_string_hash_fn.hpp: Same.
	* testsuite/util/hash_fn/string_ranged_hash_fn.hpp: Same.
	* testsuite/util/hash_fn/string_hash_fn.hpp: Same.
	* testsuite/util/hash_fn/string_ranged_probe_fn.hpp: Same.
	* testsuite/util/hash_fn/dna_str_limit.hpp: Same.
	* testsuite/util/io: New.
	* testsuite/util/io/prog_bar.cc: Same.
	* testsuite/util/io/prog_bar.hpp: Same.
	* testsuite/util/io/text_populate.hpp: Same.
	* testsuite/util/io/xml.hpp: Same.
	* testsuite/util/io/illegal_input_error.hpp: Same.
	* testsuite/util/io/xml_test_formatter.hpp: Same.
	* testsuite/util/io/verified_cmd_line_input.cc: Same.
	* testsuite/util/io/verified_cmd_line_input.hpp: Same.
	* testsuite/util/statistic: New.
	* testsuite/util/statistic/sample_var.hpp: Same.
	* testsuite/util/statistic/res_recorder.hpp: Same.
	* testsuite/util/statistic/sample_mean.hpp: Same.
	* testsuite/util/statistic/sample_mean_confidence_checker.hpp: Same.



Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r114659
2006-06-14 23:09:51 +00:00
Paolo Carlini f99b2be1d3 hashtable (hashtable<>::m_find, [...]): Add.
2006-05-15  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/hashtable (hashtable<>::m_find, m_insert_bucket): Add.
	(hashtable<>::find, m_insert(const value_type&, std::tr1::true_type),
	map_base<>::operator[]): Use the above.
	* testsuite/performance/23_containers/insert/unordered_map_array.cc:
	New.	

	* include/tr1/hashtable (hashtable<>::find_node,
	insert(const value_type&, ...), erase_node): Rename to m_*, adjust
	callers.
	* include/tr1/hashtable: Minor cosmetic changes.

From-SVN: r113800
2006-05-15 21:07:36 +00:00
Paolo Carlini 0002d5d2bc re PR libstdc++/25482 (Specialize (overload) std::copy/find for streambuf iterators)
2006-03-21  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/25482
	* include/bits/stl_algobase.h (__copy_aux(_CharT*, _CharT*,
	ostreambuf_iterator<_CharT>), __copy_aux(const _CharT*, const _CharT*,
	ostreambuf_iterator<_CharT>), __copy_aux(istreambuf_iterator<_CharT>,
	istreambuf_iterator<_CharT>, _CharT*), copy(istreambuf_iterator<_CharT>,
	istreambuf_iterator<_CharT>, ostreambuf_iterator<_CharT>)): Declare.
	* include/bits/stl_algo.h (find(istreambuf_iterator<_CharT>,
	istreambuf_iterator<_CharT>, _CharT)): Likewise.
	* include/bits/streambuf_iterator.h (copy(istreambuf_iterator<_CharT>,
	istreambuf_iterator<_CharT>, ostreambuf_iterator<_CharT>),
	__copy_aux(_CharT*, _CharT*, ostreambuf_iterator<_CharT>),
	__copy_aux(const _CharT*, const _CharT*, ostreambuf_iterator<_CharT>),
	__copy_aux(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>,
	_CharT*), find(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>,
	_CharT)): Define.
	(class istreambuf_iterator<>, class ostreambuf_iterator<>): Declare
	friends.
	* include/std/std_streambuf.h (class basic_streambuf<>): Likewise.
	* include/bits/cpp_type_traits.h (struct __is_char<>): Add.
	* testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: New.
	* testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: New.
	* testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: New.
	* testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: New.
	* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc: New.
	* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc: New.
	* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc: New.
	* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc: New.
	* testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: New.
	* testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: New.
	* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc: New.
	* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc: New.
	* testsuite/performance/25_algorithms/copy_streambuf_iterators.cc: New.
	* testsuite/performance/25_algorithms/find_istreambuf_iterators.cc: New.

From-SVN: r112247
2006-03-21 12:25:11 +00:00
Kelley Cook 83f517994d All files: Update FSF address.
2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>

	* All files: Update FSF address.

From-SVN: r103192
2005-08-17 02:28:44 +00:00
Paolo Carlini ceed88b131 re PR libstdc++/22515 (operator>>(istream, string/CharT*) can be faster)
2005-07-24  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/22515
	* include/bits/basic_string.h: Declare the specialization
	operator>>(basic_istream<char>&, basic_string<char>&).
	* include/std/std_istream.h: Declate the specialization
	operator>>(basic_istream<char>&, char*).
	* include/std/std_streambuf.h (basic_streambuf): Add friend
	declarations for the above.
	* src/istream.cc: Define the above.
	* testsuite/27_io/basic_istream/extractors_character/char/4.cc: New.
	* testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
	Likewise.
	* testsuite/performance/27_io/ifstream_extract_chars.cc: Likewise.

From-SVN: r102353
2005-07-25 08:47:33 +00:00
Benjamin Kosnik fd1e17264b documentation.html: Add link for policy based associative containers docs.
2005-06-27  Benjamin Kosnik  <bkoz@redhat.com>
	    Ami Tavory  <pbassoc@gmail.com>

	* docs/html/documentation.html: Add link for policy based
	associative containers docs.
	* docs/html/ext/pb_assoc/Std_hash_set_impl.jpg: New.
	* docs/html/ext/pb_assoc/acks.html: New.
	* docs/html/ext/pb_assoc/balls_and_bins.jpg: New.
	* docs/html/ext/pb_assoc/basic_assoc_cntnr.html: New.
	* docs/html/ext/pb_assoc/basic_assoc_cntnr_compound_data.html: New.
	* docs/html/ext/pb_assoc/basic_assoc_cntnr_no_data.html: New.
	* docs/html/ext/pb_assoc/basic_ds_tag.html: New.
	* docs/html/ext/pb_assoc/basic_hash_assoc_cntnr.html: New.
	* docs/html/ext/pb_assoc/basic_hash_ds_tag.html: New.
	* docs/html/ext/pb_assoc/basic_invalidation_guarantee.html: New.
	* docs/html/ext/pb_assoc/basic_ms_tag.html: New.
	* docs/html/ext/pb_assoc/basic_tree_assoc_cntnr.html: New.
	* docs/html/ext/pb_assoc/
	  basic_tree_assoc_cntnr_const_node_iterator.html: New.
	* docs/html/ext/pb_assoc/
	  basic_tree_assoc_cntnr_node_iterator.html: New.
	* docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_rev.html: New.
	* docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_rev_it.html: New.
	* docs/html/ext/pb_assoc/basic_tree_ds_tag.html: New.
	* docs/html/ext/pb_assoc/cc_hash_assoc_cntnr.html: New.
	* docs/html/ext/pb_assoc/cc_hash_ds_tag.html: New.
	* docs/html/ext/pb_assoc/
	  cc_hash_max_collision_check_resize_trigger.html: New.
	* docs/html/ext/pb_assoc/cc_hash_policy_cd.jpg: New.
	* docs/html/ext/pb_assoc/cd.jpg: New.
	* docs/html/ext/pb_assoc/component_requirements.html: New.
	* docs/html/ext/pb_assoc/compound_data_enabled_ms_tag.html: New.
	* docs/html/ext/pb_assoc/compound_data_type.html: New.
	* docs/html/ext/pb_assoc/compound_ds_tag.html: New.
	* docs/html/ext/pb_assoc/concepts.html: New.
	* docs/html/ext/pb_assoc/contact.html: New.
	* docs/html/ext/pb_assoc/counter_update_metadata.html: New.
	* docs/html/ext/pb_assoc/counter_update_policy.html: New.
	* docs/html/ext/pb_assoc/data_enabled_ms_tag.html: New.
	* docs/html/ext/pb_assoc/design.html: New.
	* docs/html/ext/pb_assoc/different_underlying_dss.jpg: New.
	* docs/html/ext/pb_assoc/direct_mask_range_hashing.html: New.
	* docs/html/ext/pb_assoc/direct_mod_range_hashing.html: New.
	* docs/html/ext/pb_assoc/disclaimer.html: New.
	* docs/html/ext/pb_assoc/ds_gen.html: New.
	* docs/html/ext/pb_assoc/ds_tag_cd.jpg: New.
	* docs/html/ext/pb_assoc/ds_traits.html: New.
	* docs/html/ext/pb_assoc/embedded_lists_1.jpg: New.
	* docs/html/ext/pb_assoc/embedded_lists_2.jpg: New.
	* docs/html/ext/pb_assoc/examples.html: New.
	* docs/html/ext/pb_assoc/exception_guarantees_specifics.html: New.
	* docs/html/ext/pb_assoc/find_invalidation_guarantee.html: New.
	* docs/html/ext/pb_assoc/find_iterators_cd.jpg: New.
	* docs/html/ext/pb_assoc/find_iterators_range_ops_1.jpg: New.
	* docs/html/ext/pb_assoc/find_iterators_range_ops_2.jpg: New.
	* docs/html/ext/pb_assoc/generics.html: New.
	* docs/html/ext/pb_assoc/gp_hash_assoc_cntnr.html: New.
	* docs/html/ext/pb_assoc/gp_hash_ds_tag.html: New.
	* docs/html/ext/pb_assoc/gp_hash_policy_cd.jpg: New.
	* docs/html/ext/pb_assoc/hash_and_probe_general.html: New.
	* docs/html/ext/pb_assoc/hash_based_containers.html: New.
	* docs/html/ext/pb_assoc/hash_cd.jpg: New.
	* docs/html/ext/pb_assoc/hash_exponential_size_policy.html: New.
	* docs/html/ext/pb_assoc/hash_fn.html: New.
	* docs/html/ext/pb_assoc/hash_load_check_resize_trigger.html: New.
	* docs/html/ext/pb_assoc/hash_policies.html: New.
	* docs/html/ext/pb_assoc/hash_policy_cd.jpg: New.
	* docs/html/ext/pb_assoc/hash_prime_size_policy.html: New.
	* docs/html/ext/pb_assoc/hash_range_hashing_seq_diagram.jpg: New.
	* docs/html/ext/pb_assoc/hash_range_hashing_seq_diagram2.jpg: New.
	* docs/html/ext/pb_assoc/hash_ranged_hash_range_hashing_fns.jpg: New.
	* docs/html/ext/pb_assoc/hash_standard_resize_policy.html: New.
	* docs/html/ext/pb_assoc/home.html: New.
	* docs/html/ext/pb_assoc/index.html: New.
	* docs/html/ext/pb_assoc/insert_resize_sequence_diagram1.jpg: New.
	* docs/html/ext/pb_assoc/insert_resize_sequence_diagram2.jpg: New.
	* docs/html/ext/pb_assoc/insert_resize_sequence_diagram3.jpg: New.
	* docs/html/ext/pb_assoc/insert_type_methods.html: New.
	* docs/html/ext/pb_assoc/interface.html: New.
	* docs/html/ext/pb_assoc/interval_node_invariants.jpg: New.
	* docs/html/ext/pb_assoc/introduction.html: New.
	* docs/html/ext/pb_assoc/invalidation_guarantee_cd.jpg: New.
	* docs/html/ext/pb_assoc/invalidation_guarantee_erase.jpg: New.
	* docs/html/ext/pb_assoc/lib_download.html: New.
	* docs/html/ext/pb_assoc/linear_probe_fn.html: New.
	* docs/html/ext/pb_assoc/list_updates.html: New.
	* docs/html/ext/pb_assoc/lu_assoc_cntnr.html: New.
	* docs/html/ext/pb_assoc/lu_based_containers.html: New.
	* docs/html/ext/pb_assoc/lu_cd.jpg: New.
	* docs/html/ext/pb_assoc/lu_ds_tag.html: New.
	* docs/html/ext/pb_assoc/lu_ops.jpg: New.
	* docs/html/ext/pb_assoc/mmap_value_utils.html: New.
	* docs/html/ext/pb_assoc/motivation.html: New.
	* docs/html/ext/pb_assoc/move_to_front_update_metadata.html: New.
	* docs/html/ext/pb_assoc/move_to_front_update_policy.html: New.
	* docs/html/ext/pb_assoc/ms_cd.jpg: New.
	* docs/html/ext/pb_assoc/ms_gen.html: New.
	* docs/html/ext/pb_assoc/ms_tag_cd.jpg: New.
	* docs/html/ext/pb_assoc/ms_traits.html: New.
	* docs/html/ext/pb_assoc/node_invariant_invalidations.jpg: New.
	* docs/html/ext/pb_assoc/node_invariants.html: New.
	* docs/html/ext/pb_assoc/node_invariants.jpg: New.
	* docs/html/ext/pb_assoc/non_unique_mapping.html: New.
	* docs/html/ext/pb_assoc/non_unique_mapping_containers.jpg: New.
	* docs/html/ext/pb_assoc/null_data_type.html: New.
	* docs/html/ext/pb_assoc/null_hash_fn.html: New.
	* docs/html/ext/pb_assoc/null_probe_fn.html: New.
	* docs/html/ext/pb_assoc/order_by_key.html: New.
	* docs/html/ext/pb_assoc/order_statistics_key.html: New.
	* docs/html/ext/pb_assoc/order_statistics_key_cmp.html: New.
	* docs/html/ext/pb_assoc/order_statistics_node_updator.html: New.
	* docs/html/ext/pb_assoc/ov_tree_ds_tag.html: New.
	* docs/html/ext/pb_assoc/overview.html: New.
	* docs/html/ext/pb_assoc/pb_assoc_ex.html: New.
	* docs/html/ext/pb_assoc/portability.html: New.
	* docs/html/ext/pb_assoc/quadratic_probe_fn.html: New.
	* docs/html/ext/pb_assoc/range_invalidation_guarantee.html: New.
	* docs/html/ext/pb_assoc/rank_node_invariants.jpg: New.
	* docs/html/ext/pb_assoc/rationale_null_node_updator.jpg: New.
	* docs/html/ext/pb_assoc/rb_tree_ds_tag.html: New.
	* docs/html/ext/pb_assoc/reference_iterator.jpg: New.
	* docs/html/ext/pb_assoc/references.html: New.
	* docs/html/ext/pb_assoc/regression_tests.html: New.
	* docs/html/ext/pb_assoc/resize_general.html: New.
	* docs/html/ext/pb_assoc/resize_policies.html: New.
	* docs/html/ext/pb_assoc/resize_policy_cd.jpg: New.
	* docs/html/ext/pb_assoc/restoring_node_invariants.jpg: New.
	* docs/html/ext/pb_assoc/sample_node_updator.hpp: New.
	* docs/html/ext/pb_assoc/sample_probe_fn.hpp: New.
	* docs/html/ext/pb_assoc/sample_probe_fn.html: New.
	* docs/html/ext/pb_assoc/sample_range_hashing.hpp: New.
	* docs/html/ext/pb_assoc/sample_range_hashing.html: New.
	* docs/html/ext/pb_assoc/sample_ranged_hash_fn.hpp: New.
	* docs/html/ext/pb_assoc/sample_ranged_hash_fn.html: New.
	* docs/html/ext/pb_assoc/sample_ranged_probe_fn.hpp: New.
	* docs/html/ext/pb_assoc/sample_ranged_probe_fn.html: New.
	* docs/html/ext/pb_assoc/sample_resize_policy.hpp: New.
	* docs/html/ext/pb_assoc/sample_resize_policy.html: New.
	* docs/html/ext/pb_assoc/sample_resize_trigger.hpp: New.
	* docs/html/ext/pb_assoc/sample_size_policy.hpp: New.
	* docs/html/ext/pb_assoc/sample_update_policy.hpp: New.
	* docs/html/ext/pb_assoc/size_policies_general.html: New.
	* docs/html/ext/pb_assoc/splay_tree_ds_tag.html: New.
	* docs/html/ext/pb_assoc/timing_tests.html: New.
	* docs/html/ext/pb_assoc/toc.html: New.
	* docs/html/ext/pb_assoc/tree_assoc_cntnr.html: New.
	* docs/html/ext/pb_assoc/
	  tree_assoc_cntnr_const_node_iterator.html: New.
	* docs/html/ext/pb_assoc/tree_assoc_cntnr_node_iterator.html: New.
	* docs/html/ext/pb_assoc/tree_based_containers.html: New.
	* docs/html/ext/pb_assoc/tree_cd.jpg: New.
	* docs/html/ext/pb_assoc/trigger_policies_general.html: New.
	* docs/html/ext/pb_assoc/tutorial.html: New.
	* docs/html/ext/pb_assoc/update_seq_diagram.jpg: New.
	* include/Makefile.am: Add assoc_srcdir, assoc_builddir, assoc_subdir,
	assoc_headers.
	* include/Makefile.in: Regenerate.
	* include/ext/typelist.h: New.
	* include/ext/pb_assoc/assoc_cntnr.hpp: New.
	* include/ext/pb_assoc/data_type.hpp: New.
	* include/ext/pb_assoc/ds_trait.hpp: New.
	* include/ext/pb_assoc/exception.hpp: New.
	* include/ext/pb_assoc/hash_policy.hpp: New.
	* include/ext/pb_assoc/lu_policy.hpp: New.
	* include/ext/pb_assoc/ms_trait.hpp: New.
	* include/ext/pb_assoc/tree_policy.hpp: New.
	* include/ext/pb_assoc/trivial_iterator_def.hpp: New.
	* include/ext/pb_assoc/detail/assoc_cntnr_base.hpp: New.
	* include/ext/pb_assoc/detail/cond_dealtor.hpp: New.
	* include/ext/pb_assoc/detail/constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ds_trait_imp.hpp: New.
	* include/ext/pb_assoc/detail/hash_types_traits.hpp: New.
	* include/ext/pb_assoc/detail/map_debug_base.hpp: New.
	* include/ext/pb_assoc/detail/mapping_level_imp.hpp: New.
	* include/ext/pb_assoc/detail/ms_category_imp.hpp: New.
	* include/ext/pb_assoc/detail/ms_trait_imp.hpp: New.
	* include/ext/pb_assoc/detail/order_statistics_imp.hpp: New.
	* include/ext/pb_assoc/detail/standard_policies.hpp: New.
	* include/ext/pb_assoc/detail/standard_sizes.hpp: New.
	* include/ext/pb_assoc/detail/type_utils.hpp: New.
	* include/ext/pb_assoc/detail/typelist.hpp: New.
	* include/ext/pb_assoc/detail/types_traits.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/
     	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/
	  constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/d_extract_key.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/
	  d_find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/
	  d_insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/extract_key.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/
	  insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/
	  iterators_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
	  constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
	  resize_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  node_iteration_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  policy_access_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  r_erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  r_range_iteration_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  range_iteration_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  split_join_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/
	  bin_search_tree_.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/
	  cond_dtor_entry_dealtor.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/
	  cond_key_dtor_entry_dealtor.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/
	  constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/debug_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/find_iterators.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/
	  iterators_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/node_iterators.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/
	  r_erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/rotate_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/
	  split_join_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_hash_assoc_cntnr/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/cc_ht_map_.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/cmp_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  cond_key_dtor_entry_dealtor.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  constructor_destructor_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  constructor_destructor_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/debug_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  debug_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  debug_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/entry_list_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  erase_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  erase_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  find_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  find_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  insert_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  insert_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/iterators_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  policy_access_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/resize_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  resize_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  resize_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/size_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/standard_policies.hpp: New.
	* include/ext/pb_assoc/detail/eq_fn/eq_by_less.hpp: New.
	* include/ext/pb_assoc/detail/eq_fn/hash_eq_fn.hpp: New.
	* include/ext/pb_assoc/detail/gp_hash_assoc_cntnr/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  constructor_destructor_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  constructor_destructor_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/debug_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  debug_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  debug_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  erase_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  erase_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  find_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  find_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/gp_ht_map_.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
  	  insert_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  insert_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/iterator_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  policy_access_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/resize_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  resize_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  resize_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/
	  direct_mask_range_hashing_imp.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/
	  direct_mod_range_hashing_imp.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/linear_probe_fn_imp.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/
	  mask_based_range_hashing.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/mod_based_range_hashing.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/probe_fn_base.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/quadratic_probe_fn_imp.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/ranged_hash_fn.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/ranged_probe_fn.hpp: New.
	* include/ext/pb_assoc/detail/lu_assoc_cntnr/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_assoc_cntnr/
	  policy_access_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/debug_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/iterators_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/lu_map_.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/policy_access_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_policy/
  	  counter_lu_metadata_imp.hpp: New.
	* include/ext/pb_assoc/detail/lu_policy/counter_lu_policy_imp.hpp: New.
	* include/ext/pb_assoc/detail/lu_policy/mtf_lu_policy_imp.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/cond_dtor.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/
	  constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/debug_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/iterators_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/node_iterators.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/ov_tree_map_.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/split_join_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/
	  constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/debug_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/node.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/rb_tree_.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/split_join_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/resize_policy/
	  cc_hash_max_collision_resize_trigger_imp.hpp: New.
	* include/ext/pb_assoc/detail/resize_policy/
	  hash_exponential_size_policy_imp.hpp: New.
	* include/ext/pb_assoc/detail/resize_policy/
	  hash_load_check_resize_trigger_imp.hpp: New.
	* include/ext/pb_assoc/detail/resize_policy/
	  hash_prime_size_policy_imp.hpp: New.
	* include/ext/pb_assoc/detail/resize_policy/
	  hash_standard_resize_policy_imp.hpp: New.
	* include/ext/pb_assoc/detail/resize_policy/
	  ht_prime_size_policy_imp.hpp: New.
	* include/ext/pb_assoc/detail/resize_policy/size_base.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/
	  constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/debug_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/node.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/splay_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/splay_tree_.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/split_join_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/tree_assoc_cntnr/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/tree_policy/
	  null_node_updator_imp.hpp: New.
	* include/ext/pb_assoc/detail/tree_policy/
	  order_statistics_imp.hpp: New.
	* include/ext/pb_assoc/detail/typelist/typelist_append.hpp: New.
	* include/ext/pb_assoc/detail/typelist/typelist_apply.hpp: New.
	* include/ext/pb_assoc/detail/typelist/typelist_at_index.hpp: New.
	* include/ext/pb_assoc/detail/typelist/typelist_contains.hpp: New.
	* include/ext/pb_assoc/detail/typelist/typelist_filter.hpp: New.
	* include/ext/pb_assoc/detail/typelist/typelist_transform.hpp: New.
	* include/ext/pb_assoc/detail/typelist/
	  typelist_typelist_append.hpp: New.
	* include/ext/pb_assoc/detail/unordered_iterator/
	  const_find_iterator.hpp: New.
	* include/ext/pb_assoc/detail/unordered_iterator/
	  const_iterator.hpp: New.
	* include/ext/pb_assoc/detail/unordered_iterator/
	  find_iterator.hpp: New.
	* include/ext/pb_assoc/detail/unordered_iterator/iterator.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	  constructor_destructor_and_related.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	  erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	  erase_if_pred.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	invalidation_guarantee_selector.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	it_value_type_traits.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/iterator.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	iterator_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/ref_pair.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	value_type_adapter.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	value_type_traits.hpp: New.
	* testsuite/Makefile.am (CLEANFILES): Add .o, .dat, .cc.
	* testsuite/Makefile.in: Regenerate.
	* testsuite/testsuite_common_types.h: New.
	* testsuite/testsuite_visualization.h: New.
	* testsuite/ext/pb_assoc/example/basic_map.cc: New.
	* testsuite/ext/pb_assoc/example/basic_multimap.cc: New.
	* testsuite/ext/pb_assoc/example/basic_set.cc: New.
	* testsuite/ext/pb_assoc/example/ds_traits.cc: New.
	* testsuite/ext/pb_assoc/example/erase_if.cc: New.
	* testsuite/ext/pb_assoc/example/extract_key.cc: New.
	* testsuite/ext/pb_assoc/example/hash_find_neg.cc: New.
	* testsuite/ext/pb_assoc/example/hash_illegal_resize.cc: New.
	* testsuite/ext/pb_assoc/example/hash_initial_size.cc: New.
	* testsuite/ext/pb_assoc/example/hash_load_set_change.cc: New.
	* testsuite/ext/pb_assoc/example/hash_mod.cc: New.
	* testsuite/ext/pb_assoc/example/hash_resize.cc: New.
	* testsuite/ext/pb_assoc/example/hash_resize_neg.cc: New.
	* testsuite/ext/pb_assoc/example/hash_shift_mask.cc: New.
	* testsuite/ext/pb_assoc/example/mapping_level.cc: New.
	* testsuite/ext/pb_assoc/example/mapping_level_neg.cc: New.
	* testsuite/ext/pb_assoc/example/ms_traits.cc: New.
	* testsuite/ext/pb_assoc/example/ranged_hash.cc: New.
	* testsuite/ext/pb_assoc/example/store_hash.cc: New.
	* testsuite/ext/pb_assoc/example/tree_intervals.cc: New.
	* testsuite/ext/pb_assoc/example/tree_join.cc: New.
	* testsuite/ext/pb_assoc/example/tree_order_statistics.cc: New.
	* testsuite/ext/pb_assoc/example/tree_order_statistics_join.cc: New.
	* testsuite/ext/pb_assoc/example/tree_split.cc: New.
	* testsuite/performance/20_util/allocator/(insert.cc,
	  insert_insert.cc, list_sort_search.cc, map_mt_find.cc, map_thread.cc,
	  producer_consumer.cc): Recast to use typelists and move to...
	* testsuite/performance/23_containers/find/map.cc: New.
	* testsuite/performance/23_containers/index/map.cc: New.
	* testsuite/performance/23_containers/insert/associative.cc: New.
	* testsuite/performance/23_containers/insert/sequence.cc: New.
	* testsuite/performance/23_containers/insert_erase/associative.cc: New.
	* testsuite/performance/23_containers/producer_consumer/
	(associative.cc, sequence.cc): New.
	* testsuite/performance/23_containers/sort_search/list.cc: New.
	* testsuite/performance/23_containers/container_benchmark.cc: Remove.
	* testsuite/performance/23_containers/map_create_fill.cc: Move...
	* testsuite/performance/23_containers/create/map.cc: ...here.
	* testsuite/performance/23_containers/set_create_from_sorted.cc: Move.
	* testsuite/performance/23_containers/create_from_sorted/set.cc: here.
	* testsuite/performance/23_containers/list_create_fill_sort.cc: Move...
	* testsuite/performance/23_containers/create_sort/list.cc: ...here.
	* testsuite/performance/23_containers/set_insert_from_sorted.cc: Move.
	* testsuite/performance/23_containers/insert_from_sorted/set.cc: here.

Co-Authored-By: Ami Tavory <pbassoc@gmail.com>

From-SVN: r101354
2005-06-27 15:33:38 +00:00
Benjamin Kosnik f474835bb9 testsuite_performance.h (time_counter::start): Clear.
2005-01-18  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/testsuite_performance.h (time_counter::start):
	Clear. Tweaks.
	(clear_counters): Inline.
	(start_counters): Inline.
	(stop_counters): Inline.
	* testsuite/performance/20_util/allocator/map_thread.cc: Return.
	* testsuite/performance/20_util/allocator/insert.cc: Remove bogus
	return, add return.
	* testsuite/performance/20_util/allocator/map_thread.cc: Same.

From-SVN: r93834
2005-01-18 16:44:51 +00:00
Paolo Carlini ac317859d4 re PR libstdc++/19433 (set, multiset, map, multimap misuse hint on insert)
2005-01-17  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/19433
	* include/bits/stl_tree.h (_Rb_tree<>::insert_unique(iterator,
	const _Val&), _Rb_tree<>::insert_equal(iterator, const _Val&)):
	Obtain amortized constant complexity if t is inserted right after
	p - not before p - as per Table 69.
	* testsuite/performance/23_containers/set_insert_from_sorted.cc: New.

	* testsuite/23_containers/multiset/insert/2.cc: New.
	* testsuite/23_containers/set/insert/1.cc: Likewise.

	* testsuite/performance/23_containers/set_create_from_sorted.cc:
	Simplify.

	* include/bits/stl_tree.h: Add a few missing std:: qualifications.

From-SVN: r93761
2005-01-17 14:14:26 +00:00
Paolo Carlini 21c332dc93 re PR libstdc++/19422 (assoc. containers: ctor taking range is O(n log n) even if the range is sorted)
2005-01-14  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/19422
	* include/bits/stl_tree.h (_Rb_tree<>::insert_equal(_II, _II),
	_Rb_tree<>::insert_unique(_II, _II)): Use insert_equal (insert_unique,
	respectively) with hint (end()).
	* testsuite/performance/23_containers/set_create_from_sorted.cc: New.

From-SVN: r93663
2005-01-14 21:09:38 +00:00
Chris Jefferson 278d4cc485 testsuite_iterators.h: New.
2004-11-23  Chris Jefferson  <chris@bubblescope.net>

        * testsuite/testsuite_iterators.h: New.
        * testsuite/25_algorithms/search_n/iterator.cc: New.
        * testsuite/performance/25_algorithms/search_n.cc: New.

From-SVN: r91139
2004-11-24 06:24:10 +00:00
Paolo Carlini 32890afef4 ifstream_getline-2.cc: New.
2004-11-07  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/27_io/ifstream_getline-2.cc: New.

From-SVN: r90229
2004-11-07 12:35:48 +00:00
Paolo Carlini b67ed5e845 list_sort_search.cc: Include <ext/new_allocator.h>.
2004-10-19  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/20_util/allocator/list_sort_search.cc:
	Include <ext/new_allocator.h>.
	* testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.

From-SVN: r89269
2004-10-19 08:56:32 +00:00
Paolo Carlini cbb0dcef12 basic_string.tcc (_S_create): Use consistently the exponential policy, simplify.
2004-10-13  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.tcc (_S_create): Use consistently
	the exponential policy, simplify.
	* testsuite/performance/21_strings/string_append_2.cc: New.

	* include/ext/array_allocator.h (allocate): Fix bad_alloc check.
	* testsuite/ext/array_allocator/2.cc: Fix wrt 64-bit archs (in
	that case sizeof(_Rep) == 24).

From-SVN: r88972
2004-10-13 08:58:41 +00:00
Paolo Carlini a780ad2f43 monetary_members.cc (_S_construct_pattern): Give __ret a default value, thus avoiding spurious warnings.
2004-10-10  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/gnu/monetary_members.cc (_S_construct_pattern):
	Give __ret a default value, thus avoiding spurious warnings.

	* testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: Open either
	words or linux.words, otherwise exit.
	* testsuite/performance/27_io/ifstream_getline.cc: Slighlty tweak.

From-SVN: r88848
2004-10-10 17:55:23 +00:00
Paolo Carlini c56e3d82fc re PR libstdc++/11722 ([3.4 only] Unbuffered filebuf::sgetn is slow)
2004-09-13  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/11722
	* include/std/std_fstream.h (xsgetn): Declare only.
	* include/bits/fstream.tcc (xsgetn): Define, optimize for the
	always_noconv() case: when __n > __buflen, copy the available
	buffer and issue a direct read.
	* testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: New.

	* include/bits/fstream.tcc (xsputn): Minor tweak, reorder a
	conditional.

From-SVN: r87453
2004-09-13 22:21:34 +00:00
Paolo Carlini 1b90e7a391 insert.cc: For std::map instantiate the allocator for a correct pair type.
2004-08-19  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/20_util/allocator/insert.cc: For std::map
	instantiate the allocator for a correct pair type.
	* testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
	* testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
	* testsuite/performance/20_util/allocator/producer_consumer.cc:
	Likewise.

	* testsuite/performance/20_util/allocator/list_sort_search.cc: Very
	minor formatting fixes.
	* testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.

From-SVN: r86269
2004-08-19 20:22:45 +00:00
Paolo Carlini 9f9000d177 re PR libstdc++/16401 (ostringstream in gcc 3.4.x very slow for big data)
2004-07-07  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/16401
	* include/bits/sstream.tcc (overflow): When reallocating _M_string
	use an exponential grow policy.
	* testsuite/27_io/basic_stringbuf/overflow/char/1.cc: New.
	* testsuite/performance/27_io/stringbuf_overflow.cc: New.

From-SVN: r84235
2004-07-07 21:48:01 +00:00
Paolo Carlini 4a787fa8bf [multiple changes]
2004-06-12  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/algorithm: Trivial formatting fixes.
	* include/ext/functional: Likewise.
	* include/ext/hash_fun.h: Likewise.
	* include/ext/iterator: Likewise.

2004-06-12  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.tcc (find(const _CharT*, size_type,
	size_type)): Reimplement using std::search.
	* src/string-inst.cc: Instantiate std::search for char/wchar_t.

2004-06-12  Dhruv Matani  <dhruvbird@gmx.net>

	* testsuite/performance/21_strings/string_find.cc: New.

From-SVN: r83022
2004-06-12 08:10:24 +00:00
Dhruv Matani e0fb1c5c37 list_sort_search.cc: Minor formatting fixes.
2004-04-12  Dhruv Matani  <dhruvbird@gmx.net>

	* testsuite/performance/20_util/allocator/list_sort_search.cc:
	Minor formatting fixes.
	* testsuite/performance/20_util/allocator/map_mt_find.cc:
	Likewise.

From-SVN: r80624
2004-04-12 16:11:21 +00:00
Paolo Carlini 9f35e4aab5 filebuf_sputn_unbuf.cc: New, adapted from libstdc++/11378.
2004-04-04  Paolo Carlini  <pcarlini@suse.de>
	    Petur Runolfsson  <peturr02@ru.is>

	* testsuite/performance/27_io/filebuf_sputn_unbuf.cc: New,
	adapted from libstdc++/11378.

Co-Authored-By: Petur Runolfsson <peturr02@ru.is>

From-SVN: r80398
2004-04-04 18:18:29 +00:00
Paolo Carlini c8333c0fd5 mt_allocator.h (__mt_alloc<>::allocate): Factor out some duplicated code.
2004-04-03  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/mt_allocator.h (__mt_alloc<>::allocate): Factor out
	some duplicated code.
	(__mt_alloc<>::_Bin_record): Spare the space of _M_free and _M_used
	in the single threaded case.
	* testsuite/performance/20_util/allocator/list_sort_search.cc:
	Reorder and renumber the tests consistently with the other testfiles.
	* testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
	* testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
	* testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.

From-SVN: r80375
2004-04-03 13:39:16 +00:00
Felix Yen b4a76c01db producer_consumer.cc: Use linear algorithm for producer.
2004-03-24  Felix Yen  <fwy@alumni.brown.edu>

	* testsuite/performance/20_util/allocator/producer_consumer.cc:
	Use linear algorithm for producer.

From-SVN: r79920
2004-03-24 17:16:07 +00:00
Paolo Carlini 29d4adf460 acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
2004-03-22  Paolo Carlini  <pcarlini@suse.de>

	* acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
	* configure: Regenerate.
	* config/allocator/pool_allocator_base.h: New.
	* include/ext/pool_allocator.h: Convert to a standard-conforming
	allocator.
	* src/allocator.cc: Tweak instantiations.
	* testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
	* testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
	* testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
	* testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
	* testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
	* testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.

From-SVN: r79824
2004-03-22 13:07:13 +00:00
Dhruv Matani 009368dba6 ballocator_doc.txt: New file.
2004-03-11  Dhruv Matani  <dhruvbird@HotPOP.com>

	* docs/html/ext/ballocator_doc.txt: New file.
	* include/Makefile.am (ext_headers): Add
	${ext_srcdir}/bitmap_allocator.h .
	* include/Makefile.in: Regenerate (by hand, since I didn't have
	automake de jure on hand).
	* include/ext/bitmap_allocator.h: New file.
	* testsuite/performance/20_util/allocator/list_sort_search.cc: New test.
	* testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
	* testsuite/performance/20_util/allocator/producer_consumer.cc: Add
	test for the bitmap_allocator<>.
	* testsuite/performance/20_util/allocator/insert.cc: Likewise.
	* testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
	* testsuite/performance/20_util/allocator/map_thread.cc: Likewise.

From-SVN: r79366
2004-03-12 03:28:12 +00:00
Paolo Carlini a2af66c186 re PR libstdc++/14078 (Manipulators are slow)
2004-02-10  Paolo Carlini  <pcarlini@suse.de>
	    Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/14078
	* include/std/std_istream.h (operator>>(__istream_type& (*)
	(__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
	operator>>(ios_base& (*)(ios_base&))): Declare inline.
	* include/std/std_ostream.h (operator<<(__ostream_type& (*)
	(__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
	operator<<(ios_base& (*) (ios_base&))): Likewise.
	* testsuite/performance/27_io/fmtflags_manipulators.cc: New.

Co-Authored-By: Petur Runolfsson <peturr02@ru.is>

From-SVN: r77650
2004-02-11 12:08:23 +00:00
Loren J. Rittle 093b46f04f check_performance (CXX): Add -DNOTHREAD.
* scripts/check_performance (CXX): Add -DNOTHREAD.
	* testsuite/performance/20_util/allocator/insert.cc: Integrate
	threaded tests from insert_insert.cc.  Tweak iterations,
	remove special cases.
	* testsuite/performance/20_util/allocator/insert_insert.cc:
	Make all tests single-threaded. Tweak iterations.
	* testsuite/performance/20_util/allocator/map_thread.cc:
	Tweak iterations.
	* testsuite/performance/20_util/allocator/producer_consumer.cc:
	Likewise.

From-SVN: r77388
2004-02-06 08:12:38 +00:00
Loren J. Rittle f63fd68beb * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
From-SVN: r77293
2004-02-05 03:52:41 +00:00
Benjamin Kosnik de8a2f8702 [multiple changes]
2004-02-04  Felix Yen  <fwy@alumni.brown.edu>

	* testsuite/performance/20_util/producer_consumer.cc: New.
	* testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.

2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/performance/20_util/allocator.cc: Move to..
	* testsuite/performance/20_util/allocator/insert.cc: ...here.
	* testsuite/performance/20_util/allocator_thread.cc: Move to...
	* testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
	* testsuite/performance/20_util/allocator_map_thread.cc: Move to...
	* testsuite/performance/20_util/allocator/map_thread.cc: ...here.

From-SVN: r77285
2004-02-05 01:33:07 +00:00
Felix Yen 2226963242 allocator.cc: Add map, deque, set tests.
2004-02-03  Felix Yen  <fwy@alumni.brown.edu>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/performance/20_util/allocator.cc: Add map,
	deque, set tests.
	* testsuite/performance/20_util/allocator_thread.cc: Same.

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r77225
2004-02-04 06:21:21 +00:00
Paolo Carlini 7c960b3dff 6.cc: New.
2004-01-30  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/21_strings/basic_string/cons/char/6.cc: New.
	* testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
	* testsuite/performance/21_strings/string_cons_input_iterator.cc:
	New.

From-SVN: r77006
2004-01-30 23:26:13 +00:00
Felix Yen 7b1d1edf99 allocator_thread.cc (do_loop): Don't use clear, but instead assign.
2004-01-30  Felix Yen  <fwy@alumni.brown.edu>

	* testsuite/performance/20_util/allocator_thread.cc (do_loop):
	Don't use clear, but instead assign. Use insert.

From-SVN: r76979
2004-01-30 18:14:42 +00:00
Paolo Carlini 33e95e9d04 Reshuffle performance testsuite.
2004-01-30  Paolo Carlini  <pcarlini@suse.de>

	Reshuffle performance testsuite.
	* testsuite/performance/allocator.cc, allocator_map_thread.cc,
	allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
	cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
	fstream_seek_write.cc, ifstream_extract_float.cc,
	ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
	list_create_fill_sort.cc, map_create_fill.cc,
	narrow_widen_char.cc, narrow_widen_wchar_t.cc,
	ofstream_insert_float.cc, ofstream_insert_int.cc,
	string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
	wchar_t_out.cc: Split into...
	* testsuite/performance/20_util/allocator.cc: New.
	* testsuite/performance/20_util/allocator_map_thread.cc: New.
	* testsuite/performance/20_util/allocator_thread.cc: New.
	* testsuite/performance/21_strings/string_append: New.
	* testsuite/performance/22_locale/is_wchar_t.cc: New.
	* testsuite/performance/22_locale/narrow_widen_char.cc: New.
	* testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
	* testsuite/performance/22_locale/wchar_t_in.cc: New.
	* testsuite/performance/22_locale/wchar_t_length.cc: New.
	* testsuite/performance/22_locale/wchar_t_out.cc: New.
	* testsuite/performance/23_containers/container_benchmark.cc: New.
	* testsuite/performance/23_containers/list_create_fill_sort.cc: New.
	* testsuite/performance/23_containers/map_create_fill.cc: New.
	* testsuite/performance/26_numerics/complex_norm.cc: New.
	* testsuite/performance/27_io/cout_insert_int.cc: New.
	* testsuite/performance/27_io/filebuf_copy.cc: New.
	* testsuite/performance/27_io/filebuf_sputc.cc: New.
	* testsuite/performance/27_io/fstream_seek_write.cc: New.
	* testsuite/performance/27_io/ifstream_extract_float.cc: New.
	* testsuite/performance/27_io/ifstream_extract_int.cc: New.
	* testsuite/performance/27_io/ifstream_getline.cc: New.
	* testsuite/performance/27_io/ofstream_insert_float.cc: New.
	* testsuite/performance/27_io/ofstream_insert_int.cc: New.

From-SVN: r76974
2004-01-30 17:06:42 +00:00
Loren J. Rittle f64f44069c check_performance: Only compile with $THREAD_FLAG when test is marked to require it.
* scripts/check_performance: Only compile with $THREAD_FLAG
	when test is marked to require it.  Allow multiple
	compilations/executions of marked tests.
	* testsuite/testsuite_performance.h (report_performance):
	Report dynamic thread support status.
	(report_header): Likewise.
	* testsuite/performance/allocator.cc: Stabilize iteration
	count.  Support more allocators.  Mark each allocator test to
	run and report independently.
	* testsuite/performance/allocator_map_thread.cc: Likewise.
	* testsuite/performance/allocator_thread.cc: Likewise.

From-SVN: r76932
2004-01-30 08:24:27 +00:00
Paolo Carlini 9c519c934c string_append.cc: Increase number of iterations.
2004-01-25  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/string_append.cc: Increase number
	of iterations.

From-SVN: r76551
2004-01-25 11:07:50 +00:00
Loren J. Rittle 402b0954be allocator_map_thread.cc: New test.
libstdc++/13823
	* testsuite/performance/allocator_map_thread.cc: New test.

From-SVN: r76398
2004-01-23 06:54:06 +00:00
Stefan Olsson 41f2472503 mt_allocator.h: Fixups.
2004-01-14  Stefan Olsson  <stefan@snon.net>

	* include/ext/mt_allocator.h: Fixups.
	* testsuite/performance/allocator.cc: Enable __mt_alloc tests.
	* testsuite/performance/allocator_thread.cc: Same.

From-SVN: r75875
2004-01-14 18:54:18 +00:00
Benjamin Kosnik 070ce57b95 ifstream_extract_float.cc: Add higher precision tests.
2
2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/performance/ifstream_extract_float.cc: Add higher
	precision tests.
	* testsuite/performance/ofstream_insert_float.cc: Same.

From-SVN: r75841
2004-01-14 04:11:57 +00:00
Benjamin Kosnik 60af005f4b ifstream_extract_float.cc: New.
2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/performance/ifstream_extract_float.cc: New.
	* testsuite/performance/ofstream_insert_float.cc: Float generation
	matches above.

	* 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
	* 20_util/auto_ptr/1.cc: ...this.
	* 20_util/auto_ptr/2.cc: Same.
	* 20_util/auto_ptr/3.cc: Same.
	* 20_util/auto_ptr/3946.cc: Same.
	* 20_util/auto_ptr/4.cc: Same.
	* 20_util/auto_ptr/5.cc: Same.
	* 20_util/auto_ptr/6.cc: Same.
	* 20_util/auto_ptr/7.cc: Same.
	* 20_util/auto_ptr/assign_neg.cc
	* 20_util/pairs.cc: Break into...
	* 20_util/pair/1.cc: ...this.
	* 20_util/pair/2.cc: Same.
	* 20_util/pair/3.cc: Same.
	* 20_util/pair/4.cc: Same.

From-SVN: r75811
2004-01-13 18:57:45 +00:00
Paolo Carlini 64cb2c4aed allocator.cc: Demangle typeid(obj).name().
2004-01-09  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/allocator.cc: Demangle typeid(obj).name().
	* testsuite/performance/allocator_thread.cc: Likewise.

From-SVN: r75571
2004-01-09 10:09:31 +00:00
Benjamin Kosnik b61f9bf039 check_performance: Use -pthread.
2004-01-06  Benjamin Kosnik  <bkoz@redhat.com>
            Stefan Olsson  <stefan@snon.net>

	* scripts/check_performance: Use -pthread.
	* testsuite/performance/allocator.cc: Tweaks, add list.
	* testsuite/performance/allocator_thread.cc: New.

Co-Authored-By: Stefan Olsson <stefan@snon.net>

From-SVN: r75499
2004-01-07 05:59:19 +00:00
Benjamin Kosnik d38d4e5d18 new_allocator.h (new_allocator): Proper allocator class.
2003-12-23  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/new_allocator.h (new_allocator): Proper allocator class.
	(__new_alloc): Delete.
	* include/ext/malloc_allocator.h (malloc_allocator): Same.
	(__malloc_alloc): Delete.
 	* include/ext/mt_allocator.h: Same, but weakly.
 	* include/ext/debug_allocator.h: Convert to the new style.
	* include/ext/pool_allocator.h: Use global new and delete directly.
	* include/backward/alloc.h: Don't inject malloc_allocator, or
	debug_allocator.
	* testsuite/ext/allocators.cc: Minimal fixups for usage of new
	classes.  Comment out tests with __pool_alloc for now.
	* testsuite/performance/allocator.cc: Same.

From-SVN: r74965
2003-12-23 07:24:57 +00:00