Commit Graph

107 Commits

Author SHA1 Message Date
Jonathan Wakely 097f0bcf65 regex_compiler.h (__detail::_BracketMatcher): Reorder members to avoid wasted space when not using a cache.
* include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
	members to avoid wasted space when not using a cache.
	(__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
	* include/bits/regex_compiler.tcc
	(__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
	search on set.
	* include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
	New enumeration type to indicate match mode.
	(__detail::_Executor::_State_info): New type holding members only
	needed in BFS-mode. Replace unique_ptr<vector<bool>> with
	unique_ptr<bool[]>.
	(__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
	Replace template parameter with run-time function parameter.
	(__detail::_Executor::_M_main): Likewise. Dispatch to ...
	(__detail::_Executor::_M_main_dispatch): New overloaded functions to
	implement DFS and BFS mode.
	* include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
	Split implementation into ...
	(__detail::_Executor::_M_main_dispatch): New overloaded functions.
	(__detail::_Executor::_M_lookahead): Create nested executor on stack.
	(__detail::_Executor::_M_rep_once_more): Pass match mode as function
	argument instead of template argument.
	(__detail::_Executor::_M_dfs): Likewise.
	* include/bits/regex_scanner.tcc: Fix typos in comments.
	* testsuite/performance/28_regex/range.cc: New.

From-SVN: r211143
2014-06-02 20:36:14 +01:00
Richard Sandiford aa118a03c4 Update copyright years in libstdc++-v3/
From-SVN: r206301
2014-01-02 22:30:10 +00:00
Tim Shen 9f0d9611e7 regex.h: Remove unnecessary friends.
2013-10-26  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex.h: Remove unnecessary friends.
	* include/bits/regex.tcc (__regex_algo_impl<>): Move __get_executor
	to here.
	* include/bits/regex_executor.h: Remove _DFSExecutor and _BFSExecutor;
	they are merged into _Executor. Eliminate quantifier tracking part, so
	it's faster.
	* include/bits/regex_executor.tcc: Implement _Executor.
	* testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc: New.
	* testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Adjust
	duplicate testcases.
	* testsuite/performance/28_regex/split.h: New.
	* testsuite/performance/28_regex/split_bfs.cc: New.
	* testsuite/util/testsuite_regex.h: Adjust behavior of two-executors
	agreement judger: do not compare match_results when executor return
	false.

From-SVN: r204093
2013-10-26 16:09:28 +00:00
Jonathan Wakely 9ae63018d7 * testsuite/*: Remove stray semi-colons after function definitions.
From-SVN: r203279
2013-10-08 14:54:26 +01:00
Tim Shen 18971f1fc3 regex_executor.h: Add _TodoList class.
2013-10-08  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex_executor.h: Add _TodoList class.
	* include/bits/regex_executor.tcc (_BFSExecutor<>::_M_main): Add
	_M_match_stack and _M_stack to make everything faster. Break if
	_M_stack is empty, to reduce unnecessary idling.
	* testsuite/performance/28_regex/split.cc: New.

From-SVN: r203261
2013-10-08 03:41:14 +00:00
Chris Jefferson a10bad862f re PR libstdc++/58437 (Sorting value in reverse order is much slower compare to gcc44)
2013-09-30  Chris Jefferson  <chris@bubblescope.net>

	PR libstdc++/58437
	* include/bits/stl_algo.h (__move_median_first): Rename to
	__move_median_to_first, change to take an addition argument.
	(__unguarded_partition_pivot): Adjust.
	* testsuite/performance/25_algorithms/sort.cc: New.
	* testsuite/performance/25_algorithms/sort_heap.cc: Likewise.
	* testsuite/performance/25_algorithms/stable_sort.cc: Likewise.

From-SVN: r203035
2013-09-30 17:42:31 +00:00
Paolo Carlini 64bc8861e9 search_n.cc: Fix typo.
2013-09-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/performance/25_algorithms/search_n.cc: Fix typo.

From-SVN: r202704
2013-09-18 14:49:28 +00:00
Veres Lajos 1d77bc548a codecvt_members.cc: Fix typo.
2013-07-04  Veres Lajos  <vlajos@gmail.com>
	    Jonathan Wakely  <jwakely.gcc@gmail.com>

	* config/locale/generic/codecvt_members.cc: Fix typo.
	* configure.host: Likewise.
	* doc/html/manual/policy_data_structures_design.html: Likewise.
	* doc/xml/manual/policy_data_structures.xml: Likewise.
	* include/bits/hashtable.h: Likewise.
	* include/bits/random.h: Likewise.
	* include/profile/impl/profiler_trace.h: Likewise.
	* testsuite/23_containers/deque/cons/2.cc: Likewise.
	* testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
	* testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise.
	* testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>

From-SVN: r200681
2013-07-04 22:07:44 +01:00
François Dumont 41349aec29 hashtable_policy.h (_Insert_base): Consider hint in insert methods.
2013-06-29  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h (_Insert_base): Consider hint in
	insert methods.
	* include/bits/hashtable.h: Likewise.
	* testsuite/23_containers/unordered_multimap/insert/hint.cc: New.
	* testsuite/performance/23_containers/insert/unordered_multiset_hint.cc:
	New.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc:
	Adjust dg-error line number.
	* testsuite/23_containers/unordered_set/
	not_default_constructible_hash_neg.cc: Likewise.
	* doc/xml/manual/containers.xml: Document hinting in unordered
	containers.

From-SVN: r200564
2013-06-29 07:55:12 +00:00
Richard Sandiford 405feeb871 Update copyright in libstdc++-v3.
From-SVN: r195701
2013-02-03 17:54:05 +00:00
François Dumont 5b3be7cf99 hashtable_policy.h (_Local_iterator_base): Use _Hashtable_ebo_helper to embed functors into the local_iterator when necessary.
2013-01-28  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h (_Local_iterator_base): Use
	_Hashtable_ebo_helper to embed functors into the local_iterator
	when necessary. Pass information about functors involved in hash
	code by copy.
	* include/bits/hashtable.h (__cache_default): Do not cache for
	builtin integral types unless the hash functor is not noexcept
	qualified or is not default constructible. Adapt static assertions
	and local iterator instantiations.
	* include/debug/unordered_set
	(std::__debug::unordered_set<>::erase): Detect local iterators to
	invalidate using contained node rather than generating a dummy
	local_iterator instance.
	(std::__debug::unordered_multiset<>::erase): Likewise.
	* include/debug/unordered_map
	(std::__debug::unordered_map<>::erase): Likewise.
	(std::__debug::unordered_multimap<>::erase): Likewise.
	* testsuite/performance/23_containers/insert_erase/41975.cc: Test
	std::tr1 and std versions of unordered_set regardless of any
	macro. Add test on default cache behavior.
	* testsuite/performance/23_containers/insert/54075.cc: Likewise.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc:
	Adapt line number.
	* testsuite/23_containers/unordered_set/
	not_default_constructible_hash_neg.cc: New.
	* testsuite/23_containers/unordered_set/buckets/swap.cc: New.

From-SVN: r195517
2013-01-28 20:52:13 +00:00
Jakub Jelinek 90d04a445c Update Copyright years for files modified in 2011 and/or 2012.
From-SVN: r194903
2013-01-04 13:49:55 +01:00
François Dumont d4a7f7a15c hashtable_policy.h (_Prime_rehash_policy): Remove automatic shrink.
2012-11-16  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h (_Prime_rehash_policy): Remove
	automatic shrink.
	(_Prime_rehash_policy::_M_bkt_for_elements): Do not call
	_M_next_bkt anymore.
	(_Prime_rehash_policy::_M_next_bkt): Move usage of
	_S_growth_factor ...
	(_Prime_rehash_policy::_M_need_rehash): ... here.
	* include/bits/hashtable.h (_Hashtable<>): Adapt.
	* testsuite/performance/23_containers/insert_erase/41975.cc: Add
	_USE_TR1 to force build using std::tr1 container.
	* testsuite/performance/23_containers/insert/unordered_set.cc:
	Likewise.
	* testsuite/performance/23_containers/insert/54075.cc: New.

From-SVN: r193576
2012-11-16 21:28:44 +00:00
Jonathan Wakely 2328b1de5e range_access.cc: Fix copying permission statement.
* testsuite/18_support/initializer_list/range_access.cc: Fix copying
	permission statement.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy/
	808590.cc: Likewise.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy/
	move_iterators/1.cc: Likewise.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
	move_iterators/1.cc: Likewise.
	* testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
	Likewise.
	* testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
	Likewise.
	* testsuite/21_strings/basic_string/range_access/char/1.cc: Likewise.
	* testsuite/21_strings/basic_string/range_access/wchar_t/1.cc:
	Likewise.
	* testsuite/23_containers/array/element_access/at_neg.cc: Likewise.
	* testsuite/23_containers/array/range_access.cc: Likewise.
	* testsuite/23_containers/deque/capacity/29134-2.cc: Likewise.
	* testsuite/23_containers/deque/capacity/29134.cc: Likewise.
	* testsuite/23_containers/deque/capacity/shrink_to_fit.cc: Likewise.
	* testsuite/23_containers/deque/range_access.cc: Likewise.
	* testsuite/23_containers/deque/requirements/do_the_right_thing.cc:
	Likewise.
	* testsuite/23_containers/forward_list/capacity/1.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/1.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/10.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/11.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/12.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/2.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/3.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/4.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/5.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/6.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/7.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/8.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/9.cc: Likewise.
	* testsuite/23_containers/forward_list/debug/clear.cc: Likewise.
	* testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/move_constructor.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/splice_after.cc: Likewise.
	* testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/swap.cc: Likewise.
	* testsuite/23_containers/forward_list/modifiers/1.cc: Likewise.
	* testsuite/23_containers/forward_list/modifiers/2.cc: Likewise.
	* testsuite/23_containers/forward_list/modifiers/3.cc: Likewise.
	* testsuite/23_containers/forward_list/modifiers/4.cc: Likewise.
	* testsuite/23_containers/forward_list/modifiers/5.cc: Likewise.
	* testsuite/23_containers/forward_list/modifiers/6.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/1.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/2.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/3.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/4.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/5.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/6.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/7.cc: Likewise.
	* testsuite/23_containers/forward_list/range_access.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/
	do_the_right_thing.cc: Likewise.
	* testsuite/23_containers/list/capacity/1.cc: Likewise.
	* testsuite/23_containers/list/capacity/1.h: Likewise.
	* testsuite/23_containers/list/capacity/29134.cc: Likewise.
	* testsuite/23_containers/list/modifiers/1.cc: Likewise.
	* testsuite/23_containers/list/modifiers/1.h: Likewise.
	* testsuite/23_containers/list/modifiers/1_c++0x.cc: Likewise.
	* testsuite/23_containers/list/modifiers/2.cc: Likewise.
	* testsuite/23_containers/list/modifiers/2.h: Likewise.
	* testsuite/23_containers/list/modifiers/3.cc: Likewise.
	* testsuite/23_containers/list/modifiers/3.h: Likewise.
	* testsuite/23_containers/list/modifiers/insert/25288.cc: Likewise.
	* testsuite/23_containers/list/modifiers/insert/25288.h: Likewise.
	* testsuite/23_containers/list/operations/1.cc: Likewise.
	* testsuite/23_containers/list/operations/1.h: Likewise.
	* testsuite/23_containers/list/operations/2.cc: Likewise.
	* testsuite/23_containers/list/operations/2.h: Likewise.
	* testsuite/23_containers/list/operations/2_c++0x.cc: Likewise.
	* testsuite/23_containers/list/operations/3.cc: Likewise.
	* testsuite/23_containers/list/operations/3.h: Likewise.
	* testsuite/23_containers/list/operations/3_c++0x.cc: Likewise.
	* testsuite/23_containers/list/operations/4.cc: Likewise.
	* testsuite/23_containers/list/operations/4.h: Likewise.
	* testsuite/23_containers/list/operations/42352.cc: Likewise.
	* testsuite/23_containers/list/operations/5.cc: Likewise.
	* testsuite/23_containers/list/operations/5.h: Likewise.
	* testsuite/23_containers/list/range_access.cc: Likewise.
	* testsuite/23_containers/list/requirements/do_the_right_thing.cc:
	Likewise.
	* testsuite/23_containers/map/capacity/29134.cc: Likewise.
	* testsuite/23_containers/map/range_access.cc: Likewise.
	* testsuite/23_containers/multimap/capacity/29134.cc: Likewise.
	* testsuite/23_containers/multimap/range_access.cc: Likewise.
	* testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
	* testsuite/23_containers/multiset/range_access.cc: Likewise.
	* testsuite/23_containers/set/capacity/29134.cc: Likewise.
	* testsuite/23_containers/set/range_access.cc: Likewise.
	* testsuite/23_containers/unordered_map/final_hash.cc: Likewise.
	* testsuite/23_containers/unordered_map/observers.cc: Likewise.
	* testsuite/23_containers/unordered_map/range_access.cc: Likewise.
	* testsuite/23_containers/unordered_map/requirements/52942.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/requirements/53067.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/requirements/53339.cc:
	Likewise.
	* testsuite/23_containers/unordered_multimap/final_hash.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/observers.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/range_access.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/requirements/53339.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/final_hash.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/observers.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/range_access.cc: Likewise.
	* testsuite/23_containers/unordered_set/final_hash.cc: Likewise.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
	* testsuite/23_containers/unordered_set/observers.cc: Likewise.
	* testsuite/23_containers/unordered_set/range_access.cc: Likewise.
	* testsuite/23_containers/unordered_set/requirements/52942.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/requirements/53067.cc:
	Likewise.
	* testsuite/23_containers/vector/bool/capacity/29134.cc: Likewise.
	* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
	Likewise.
	* testsuite/23_containers/vector/capacity/29134-2.cc: Likewise.
	* testsuite/23_containers/vector/capacity/29134.cc: Likewise.
	* testsuite/23_containers/vector/capacity/shrink_to_fit.cc: Likewise.
	* testsuite/23_containers/vector/capacity/shrink_to_fit2.cc: Likewise.
	* testsuite/23_containers/vector/range_access.cc: Likewise.
	* testsuite/23_containers/vector/requirements/do_the_right_thing.cc:
	Likewise.
	* testsuite/24_iterators/range_access.cc: Likewise.
	* testsuite/25_algorithms/copy/1.cc: Likewise.
	* testsuite/25_algorithms/copy/2.cc: Likewise.
	* testsuite/25_algorithms/copy/3.cc: Likewise.
	* testsuite/25_algorithms/copy/34595.cc: Likewise.
	* testsuite/25_algorithms/copy/4.cc: Likewise.
	* testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
	* testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
	* testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
	* testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
	* testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
	* testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
	* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
	Likewise.
	* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
	Likewise.
	* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
	Likewise.
	* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
	Likewise.
	* testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
	* testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
	* testsuite/25_algorithms/copy_n/1.cc: Likewise.
	* testsuite/25_algorithms/copy_n/2.cc: Likewise.
	* testsuite/25_algorithms/copy_n/3.cc: Likewise.
	* testsuite/25_algorithms/copy_n/4.cc: Likewise.
	* testsuite/25_algorithms/copy_n/50119.cc: Likewise.
	* testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
	* testsuite/25_algorithms/fill/4.cc: Likewise.
	* testsuite/25_algorithms/fill_n/1.cc: Likewise.
	* testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc:
	Likewise.
	* testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc:
	Likewise.
	* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
	Likewise.
	* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
	Likewise.
	* testsuite/25_algorithms/heap/1.cc: Likewise.
	* testsuite/25_algorithms/heap/moveable.cc: Likewise.
	* testsuite/25_algorithms/heap/moveable2.cc: Likewise.
	* testsuite/25_algorithms/is_heap/1.cc: Likewise.
	* testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
	* testsuite/25_algorithms/is_sorted/1.cc: Likewise.
	* testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
	* testsuite/25_algorithms/move/1.cc: Likewise.
	* testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
	* testsuite/25_algorithms/move_backward/1.cc: Likewise.
	* testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
	* testsuite/25_algorithms/partition/1.cc: Likewise.
	* testsuite/25_algorithms/partition/moveable.cc: Likewise.
	* testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
	* testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
	* testsuite/25_algorithms/stable_partition/1.cc: Likewise.
	* testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
	* testsuite/25_algorithms/stable_partition/pr52822.cc: Likewise.
	* testsuite/26_numerics/valarray/range_access.cc: Likewise.
	* testsuite/28_regex/range_access.cc: Likewise.
	* testsuite/ext/vstring/capacity/29134.cc: Likewise.
	* testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
	* testsuite/ext/vstring/hash/char/1.cc: Likewise.
	* testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
	* testsuite/ext/vstring/range_access.cc: Likewise.
	* testsuite/ext/vstring/requirements/do_the_right_thing.cc: Likewise.
	* testsuite/performance/25_algorithms/copy_backward_deque_iterators.cc:
	Likewise.
	* testsuite/performance/25_algorithms/copy_deque_iterators.cc:
	Likewise.
	* testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc:
	Likewise.
	* testsuite/tr1/6_containers/unordered_multimap/capacity/
	29134-multimap.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/capacity/
	29134-multiset.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
	Likewise.

From-SVN: r193076
2012-11-01 23:20:37 +00:00
François Dumont e6fa043b2d 41975.cc: Use __uset_hashtable rather than removed __unordered_set.
2012-09-24  François Dumont  <fdumont@gcc.gnu.org>

	* testsuite/performance/23_containers/insert_erase/41975.cc: Use
	__uset_hashtable rather than removed __unordered_set.

From-SVN: r191678
2012-09-24 19:48:06 +00:00
François Dumont 78aa145d9e re PR libstdc++/54075 ([4.7.1] unordered_map insert still slower than 4.6.2)
2012-07-29  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/54075
	* include/bits/hashtable_policy.h
	(_Prime_rehash_policy::_M_next_bkt): Add a growth factor set to 2
	to boost growth in the number of buckets.
	* testsuite/performance/23_containers/insert/unordered_set.cc: New.

From-SVN: r189938
2012-07-29 16:44:18 +00:00
Jonathan Wakely 6cc5558fe8 * testsuite/performance/30_threads/future/polling.cc: Adjust.
From-SVN: r186354
2012-04-11 21:31:06 +01:00
Benjamin Kosnik 31785b29ee search_n.cc: Disambiguate local variable.
2011-12-19  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/performance/25_algorithms/search_n.cc: Disambiguate
	local variable.

From-SVN: r182510
2011-12-19 23:29:14 +00:00
François Dumont da29608a7a re PR libstdc++/41975 ([C++0x] [DR579] unordered_set::erase performs worse when nearly empty)
2011-11-23  François Dumont <fdumont@gcc.gnu.org>

	PR libstdc++/41975
	* include/bits/hashtable.h (_Hashtable<>): Major data model
	modification to limit performance impact of empty buckets in
	erase(iterator) implementation.
	* include/bits/hashtable_policy.h (_Hashtable_iterator,
	_Hashtable_const_iterator): Remove not used anymore.
	* include/bits/hashtable_policy.h (_Prime_rehash_policy): Remove
	_M_grow_factor, just use natural evolution of prime numbers. Add
	_M_prev_size to know when the number of buckets can be reduced.
	* include/bits/unordered_set.h (__unordered_set<>,
	__unordered_multiset<>), unordered_map.h (__unordered_map<>,
	__unordered_multimap<>): Change default value of cache hash code
	template parameter, false for integral types with noexcept hash
	functor, true otherwise.
	* include/debug/unordered_map, unordered_set: Adapt transformation
	from iterator/const_iterator to respectively
	local_iterator/const_local_iterator.
	* testsuite/performance/23_containers/copy_construct/unordered_set.cc:
	New.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc: New.
	* testsuite/23_containers/unordered_set/hash_policy/rehash.cc: New.
	* testsuite/23_containers/unordered_multiset/cons/copy.cc: New.
	* testsuite/23_containers/unordered_multiset/erase/1.cc,
	24061-multiset.cc: Add checks on the number of bucket elements.
	* testsuite/23_containers/unordered_multiset/insert/multiset_range.cc,
	multiset_single.cc, multiset_single_move.cc: Likewise.

From-SVN: r181677
2011-11-23 20:30:18 +00:00
François Dumont ba3aa0e6c7 41975.cc: Add tests to check performance with or without cache of hash code and with...
2011-11-06  François Dumont <fdumont@gcc.gnu.org>

	* testsuite/performance/23_containers/insert_erase/41975.cc: Add
	tests to check performance with or without cache of hash code and with
	string type that has a costlier hash functor than int type.

From-SVN: r181037
2011-11-06 17:16:00 +00:00
François Dumont 9918dc0f99 41975.cc: New.
2011-10-14  François Dumont  <francois.cppdevs@free.fr>

	* testsuite/performance/23_containers/insert_erase/41975.cc: New.

From-SVN: r179968
2011-10-14 11:25:27 +00:00
Benjamin Kosnik 154c4a088e make_graph_test_infos.xml: Edit.
2011-08-14  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/data/make_graph_test_infos.xml: Edit.
	* testsuite/data/make_graph_htmls.xml: Remove
	* scripts/make_graph.py: Edit, fix.
	* scripts/make_graphs.py: Remove.

	* doc/Makefile.am (doc-svg-performance): New.
	(doc-html-performance): Remove.
	* doc/Makefile.in: Regenerate.

	* doc/xml/manual/test_policy_data_structures.xml: Markup changes.
	* doc/xml/manual/policy_data_structures.xml: Same.
	* doc/xml/manual/locale.xml: Same.

	Testsuite renames.
	* performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc:
	Rename.
	* performance/ext/pb_ds/random_int_find_timing.cc: Same.
	* performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp
	* performance/ext/pb_ds/multimap_text_find_timing.hpp
	* performance/ext/pb_ds/priority_queue_random_int_push_timing.cc: Same.
	* performance/ext/pb_ds/priority_queue_text_modify_timing.hpp
	* performance/ext/pb_ds/tree_order_statistics_timing.cc: Same.
	* performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc: Same.
	* performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc: Same.
	* performance/ext/pb_ds/priority_queue_text_join_timing.cc: Same.
	* performance/ext/pb_ds/multimap_text_insert_timing_small.cc: Same.
	* performance/ext/pb_ds/random_int_subscript_insert_timing.cc: Same.
	* performance/ext/pb_ds/tree_text_lor_find_timing.cc: Same.
	* performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc: Same.
	* performance/ext/pb_ds/multimap_text_find_timing_small.cc: Same.
	* performance/ext/pb_ds/text_find_timing.cc: Same.
	* performance/ext/pb_ds/tree_text_insert_timing.cc: Same.
	* performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc: Same.
	* performance/ext/pb_ds/random_int_subscript_find_timing.cc: Same.
	* performance/ext/pb_ds/priority_queue_text_push_timing.cc: Same.
	* performance/ext/pb_ds/tree_split_join_timing.cc: Same.
	* performance/ext/pb_ds/multimap_text_insert_timing_large.cc: Same.
	* performance/ext/pb_ds/priority_queue_text_modify_up_timing.cc: Same.
	* performance/ext/pb_ds/multimap_text_find_timing_large.cc: Same.
	* performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc:
	Same.
	* performance/ext/pb_ds/multimap_text_insert_timing.hpp
	* performance/ext/pb_ds/multimap_text_insert_mem_usage_small.cc: Same.
	* performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc: Same.

	* performance/ext/pb_ds/all_int_find.cc: To these new files...
	* performance/ext/pb_ds/all_int_subscript_find.cc: ...this.
	* performance/ext/pb_ds/all_int_subscript_insert.cc: ...this.
	* performance/ext/pb_ds/all_text_find.cc: ...this.
	* performance/ext/pb_ds/hash_int_erase_mem.cc: ...this.
	* performance/ext/pb_ds/hash_zlob_int_find.cc: ...this.
	* performance/ext/pb_ds/multimap_text_find.hpp
	* performance/ext/pb_ds/multimap_text_find_large.cc: ...this.
	* performance/ext/pb_ds/multimap_text_find_small.cc: ...this.
	* performance/ext/pb_ds/multimap_text_insert.hpp
	* performance/ext/pb_ds/multimap_text_insert_large.cc: ...this.
	* performance/ext/pb_ds/multimap_text_insert_mem.hpp
	* performance/ext/pb_ds/multimap_text_insert_mem_large.cc: ...this.
	* performance/ext/pb_ds/multimap_text_insert_mem_small.cc: ...this.
	* performance/ext/pb_ds/multimap_text_insert_small.cc: ...this.
	* performance/ext/pb_ds/priority_queue_int_push.cc: ...this.
	* performance/ext/pb_ds/priority_queue_int_push_pop.cc: ...this.
	* performance/ext/pb_ds/priority_queue_text_join.cc: ...this.
	* performance/ext/pb_ds/priority_queue_text_modify_down.cc: ...this.
	* performance/ext/pb_ds/priority_queue_text_modify.hpp
	* performance/ext/pb_ds/priority_queue_text_modify_up.cc: ...this.
	* performance/ext/pb_ds/priority_queue_text_pop_mem.cc: ...this.
	* performance/ext/pb_ds/priority_queue_text_push.cc: ...this.
	* performance/ext/pb_ds/priority_queue_text_push_pop.cc: ...this.
	* performance/ext/pb_ds/tree_order_statistics.cc: ...this.
	* performance/ext/pb_ds/tree_split_join.cc: ...this.
	* performance/ext/pb_ds/tree_text_insert.cc: ...this.
	* performance/ext/pb_ds/tree_text_lor_find.cc: ...this.

	* doc/xml/images/*: Image and image filename changes.

From-SVN: r177756
2011-08-15 00:51:06 +00:00
Benjamin Kosnik c7c2e8316c filebuf_sputn_unbuf.cc: Include unistd.h for unlink.
2011-08-03  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/performance/27_io/filebuf_sputn_unbuf.cc: Include
	unistd.h for unlink.
	* testsuite/performance/27_io/ofstream_insert_int.cc: Same.
	* testsuite/performance/27_io/ifstream_extract_int.cc: Same.
	* testsuite/performance/27_io/ifstream_getline-2.cc: Same.
	* testsuite/performance/27_io/fstream_seek_write.cc: Same.
	* testsuite/performance/27_io/ifstream_extract_chars.cc: Same.
	* testsuite/performance/27_io/ofstream_insert_float.cc: Same.
	* testsuite/performance/27_io/ifstream_extract_float.cc: Same.
	* testsuite/performance/27_io/filebuf_sputc.cc: Same.

From-SVN: r177307
2011-08-04 02:26:52 +00:00
Benjamin Kosnik a345e45d14 re PR libstdc++/37144 (A bug in include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp)
2011-05-23  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/37144
	PR libstdc++/28457
	Interface changes for ext/pb_ds.
	PB_DS_BASE_C_DEC to unique PB_DS_*_BASE macros.
	* include/ext/pb_ds/assoc_container.hpp (container_base): Remove.
	(basic_hash_table, basic_branch, list_update): Derive from
	container_base_dispatch.
	* include/ext/pb_ds/list_update_policy.hpp (null_lu_metadata): Remove.
	(move_to_front_lu_policy): To lu_move_to_front_policy.
	(counter_lu_policy): To lu_counter_policy.
	* include/ext/pb_ds/tree_policy.hpp (null_tree_node_update): Remove.
	* include/ext/pb_ds/tag_and_trait.hpp (container_base_dispatch): Adjust
	template parameters, declare here.
	(null_mapped_type) Remove.
	(null_type): Just use this for template tricks everywhere.
	* include/ext/pb_ds/hash_policy.hpp (null_hash_fn, null_probe_fn):
	Remove.
	* include/ext/pb_ds/trie_policy.hpp (null_trie_node_update): Remove.
	(string_trie_e_access_traits): To trie_string_access_traits.
	* include/ext/pb_ds/priority_queue.hpp: Use container_base_dispatch.

	File changes.
	* include/Makefile.am (pb_headers): Removed and changed file names.
	* include/Makefile.in: Regenerated.
	* include/ext/pb_ds/detail/basic_types.hpp: Remove.
	* include/ext/pb_ds/detail/bin_search_tree_/
	  cond_dtor_entry_dealtor.hpp: Remove.
	* include/ext/pb_ds/detail/bin_search_tree_/
	  cond_key_dtor_entry_dealtor.hpp: Remove.
	* include/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp: Move..
	* include/ext/pb_ds/detail/binary_heap_/
	  point_const_iterator.hpp: ..here.
	* include/ext/pb_ds/detail/basic_tree_policy: Move to...
	* include/ext/pb_ds/detail/branch_policy: This.
	* include/ext/pb_ds/detail/branch_policy/
	  basic_tree_policy_base.hpp: Move...
	* include/ext/pb_ds/detail/branch_policy/branch_policy.hpp: ...here.
	* include/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp: Add.
	* include/ext/pb_ds/detail/branch_policy/traits.hpp: Add.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	null_metadata.hpp: Remove.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	const_point_iterator.hpp: Move...
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	point_const_iterator.hpp: ...here.
	* include/ext/pb_ds/detail/list_update_policy/
	counter_lu_metadata.hpp: Move..
	* include/ext/pb_ds/detail/list_update_policy/
	lu_counter_metadata.hpp: ...here.
	* include/ext/pb_ds/detail/list_update_policy/
	counter_lu_policy_imp.hpp: Remove.
	* include/ext/pb_ds/detail/list_update_policy/
	mtf_lu_policy_imp.hpp: Remove.
	* include/ext/pb_ds/detail/trie_policy/
	string_trie_e_access_traits_imp.hpp: Move...
	* include/ext/pb_ds/detail/trie_policy/
	sample_trie_access_traits.hpp: ...here.
	* include/ext/pb_ds/detail/trie_policy/
	sample_trie_e_access_traits.hpp: Move...
	* include/ext/pb_ds/detail/trie_policy/
	trie_string_access_traits_imp.hpp: ...here.
	* include/ext/pb_ds/detail/trie_policy/null_node_update_imp.hpp: Remove.
	* include/ext/pb_ds/detail/tree_policy/null_node_update_imp.hpp: Remove.
	* include/ext/pb_ds/detail/ov_tree_map_/cond_dtor.hpp: Remove.
	* include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: New, fold all
	types found in the following files into pat_trie_base.
	* include/ext/pb_ds/detail/pat_trie_/const_child_iterator.hpp: Folded.
	* include/ext/pb_ds/detail/pat_trie_/
	  cond_dtor_entry_dealtor.hpp: Folded.
	* include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp: Folded.
	* include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp: Folded.
	* include/ext/pb_ds/detail/pat_trie_/head.hpp: Folded.
	* include/ext/pb_ds/detail/pat_trie_/leaf.hpp: Folded.
	* include/ext/pb_ds/detail/pat_trie_/node_base.hpp: Folded.
	* include/ext/pb_ds/detail/pat_trie_/node_metadata_base.hpp: Folded.
	* include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Folded.
	* include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp: Folded.
	* include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp: Folded.
	* include/ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp: Move...
	* include/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp: ...here.
	* include/ext/pb_ds/detail/unordered_iterator/
	const_point_iterator.hpp: Move...
	* include/ext/pb_ds/detail/unordered_iterator/
	point_const_iterator.hpp: ...here.


	Adjust for above changes.
	* include/ext/pb_ds/detail/resize_policy/sample_size_policy.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/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_/
	  constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	  split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/container_base_dispatch.hpp: Same. Adjust
	  for template parameter ordering change.
	* 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_/
	  constructor_destructor_no_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_/find_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_/
	  resize_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_/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_/
	  debug_no_store_hash_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_/
	  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_/
	  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/cc_hash_table_map_/
	  standard_policies.hpp: Same.
	* include/ext/pb_ds/detail/tree_trace_base.hpp: Same.
	* 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/pat_trie_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.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_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/
	  constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/pat_trie_.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_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/iterators_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_/
	  policy_access_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_/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_/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/list_update_policy/
	  sample_update_policy.hpp: Same.
	* 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/gp_hash_table_map_/
	  erase_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_/
	  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_/
	  policy_access_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_/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_/
	  debug_no_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_/
	  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_/
	  resize_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/standard_policies.hpp: Same.
	* include/ext/pb_ds/detail/types_traits.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/policy_access_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_/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_/binary_heap_.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/resize_policy.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/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/
	  sample_tree_node_update.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/node_metadata_selector.hpp: Same.
	* include/ext/pb_ds/detail/cond_dealtor.hpp: Same.
	* include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: Same.
	  Adjust for template parameter change, fold into
	  container_base_dispatch.
	* 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_/
	  constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pairing_heap_/debug_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_/
	  constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_/debug_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/hash_eq_fn.hpp: Same.
	* include/ext/pb_ds/detail/eq_fn/eq_by_less.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_/
	  const_iterator.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_/
	  constructors_destructor_fn_imps.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_/
	  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/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_/
	  constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp: Same.
	* 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_/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_/
	  constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/traits.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/debug_map_base.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/sample_ranged_probe_fn.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/sample_ranged_hash_fn.hpp: Same.
	* 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_/
	  constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/debug_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_/info_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/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_/
	  entry_metadata_base.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/find_fn_imps.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_/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_/
	  constructors_destructor_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_/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_/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_/
	  constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.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_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/traits.hpp: Same.


	Documentation changes.
	* include/ext/pb_ds/*: Add doxygen markup.
	* doc/doxygen/user.cfg.in: Add details for extracting comments
	from pb_ds.
	* scripts/run_doxygen: Fixup __gnu_pb_ds::detail.
	* scripts/make_graph.py: Move to svg output. Re-format generated tables.

	* doc/Makefile.am (stamp-html-copy): New rule.
	(stamp-html): Use it to copy non-generated files into html docs.
	* doc/Makefile.in: Regenerated.

	* doc/html/ext/pb_ds/sample_trie_e_access_traits.html: Move...
	* doc/html/ext/pb_ds/trie_string_access_traits.html: ...here.
	* doc/html/ext/pb_ds/string_trie_e_access_traits.html: Move..
	* doc/html/ext/pb_ds/sample_trie_access_traits.html: ...here.

	* doc/html/ext/pb_ds/tree_text_lor_find_timing_test_local.png,
	hash_random_int_erase_mem_usage_test_local.png,
	multimap_text_insert_mem_usage_test_small_s2p_hash_local.png,
	tree_text_insert_timing_test_pat_trie_local.png ,
	multimap_text_insert_mem_usage_test_small_s2p_tree_local.png ,
	priority_queue_text_modify_down_timing_test_local.png,
	gp_hash_random_int_subscript_timing_test_find_local.png,
	text_find_timing_test_hash_local.png,
	multimap_text_insert_timing_test_small_s2p_hash_local.png,
	multimap_text_insert_timing_test_small_s2p_tree_local.png,
	multimap_text_insert_mem_usage_test_large_s2p_hash_local.png,
	multimap_text_insert_mem_usage_test_large_s2p_tree_local.png,
	multimap_text_insert_timing_test_large_s2p_hash_local.png,
	hash_zlob_random_int_find_timing_test_local.png,
	multimap_text_insert_timing_test_large_s2p_tree_local.png,
	binary_priority_queue_random_int_push_timing_test_local.png,
	priority_queue_text_pop_mem_usage_test_local.png,
	priority_queue_text_modify_down_timing_test_pairing_thin_local.png,
	tree_split_join_timing_test_local.png,
	multimap_text_find_timing_test_small_s2p_hash_local.png,
	ccgp_hash_random_int_subscript_timing_test_insert_local.png,
	priority_queue_random_int_push_pop_timing_test_local.png,
	multimap_text_find_timing_test_small_s2p_tree_local.png,
	gp_hash_random_int_subscript_timing_test_insert_local.png,
	priority_queue_text_push_timing_test_local.png,
	cc_hash_random_int_subscript_timing_test_find_local.png,
	tree_text_insert_timing_test_vector_tree_local.png,
	multimap_text_find_timing_test_large_s2p_hash_local.png,
	pairing_priority_queue_text_push_timing_test_local.png,
	tree_order_statistics_timing_test_local.png,
	priority_queue_text_push_pop_timing_test_local.png,
	text_find_timing_test_tree_like_local.png,
	multimap_text_find_timing_test_large_s2p_tree_local.png,
	priority_queue_text_modify_up_timing_test_pairing_thin_local.png,
	cc_hash_random_int_subscript_timing_test_insert_local.png,
	priority_queue_text_modify_up_timing_test_local.png,
	random_int_find_find_timing_test_tree_local.png,
	priority_queue_random_int_push_timing_test_local.png,
	tree_text_insert_timing_test_node_tree_local.png,
	pairing_priority_queue_text_push_pop_timing_test_local.png,
	gp_hash_random_int_find_timing_test_local.png,
	cc_hash_random_int_find_timing_test_local.png,
	priority_queue_text_join_timing_test_local.png: Update local pngs.


	Testsuite changes.
	* testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc: New.
	* testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc: New.
	* testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc: New.
	* testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc: New.
	* testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc: New.
	* testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc:
	New.
	* testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc:
	New.
	* testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc: New.
	* testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc: New.

	* testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Fix typo.

	* testsuite/ext/pb_ds/example/basic_set.cc: Update.
	* testsuite/ext/pb_ds/example/ranged_hash.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/trie_dna.cc: Same.
	* testsuite/ext/pb_ds/example/tree_intervals.cc: Same.
	* testsuite/ext/pb_ds/example/basic_multimap.cc: Same.
	* testsuite/performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc:
	  Same.
	* testsuite/performance/ext/pb_ds/tree_split_join_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc: Same.
	* testsuite/data/make_graph_test_infos.xml: Same.
	* testsuite/util/regression/common_type.hpp: Same.
	* testsuite/util/regression/trait/assoc/native_type_trait.hpp: Same.
	* testsuite/util/regression/trait/assoc/trait.hpp: 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/priority_queue/
	  container_rand_regression_test.tcc: Same.
	* testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Same.
	* testsuite/util/regression/rand/assoc/container_rand_regression_test.h
	* testsuite/util/regression/rand/assoc/
	  container_rand_regression_test.tcc: Same.
	* testsuite/util/native_type/native_priority_queue.hpp: Same.
	* testsuite/util/native_type/native_multimap.hpp: Same.
	* testsuite/util/native_type/native_hash_multimap.hpp: Same.
	* testsuite/util/native_type/native_set.hpp: Same.
	* testsuite/util/native_type/native_map.hpp: Same.
	* testsuite/util/native_type/native_hash_set.hpp: Same.
	* testsuite/util/native_type/native_hash_map.hpp: Same.
	* testsuite/util/testsuite_containers.h
	* 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/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/
	  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/native_set.hpp: Same.
	* testsuite/util/performance/assoc/timing/common_type.hpp: Same.
	* testsuite/util/performance/assoc/timing/multimap_find_test.hpp: Same.
	* testsuite/util/performance/assoc/multimap_common_type.hpp: Same.

From-SVN: r174100
2011-05-24 02:38:19 +00:00
Paolo Carlini a5d39cb4a7 [multiple changes]
2010-09-14  Matt Austern  <austern@google.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

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

2010-09-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/performance/21_strings/string_append.cc: Rename to...
	* testsuite/performance/21_strings/append-1.cc: ... this.
	* testsuite/performance/21_strings/string_append_2.cc: Rename to...
	* testsuite/performance/21_strings/append-2.cc: ... this.
	* testsuite/performance/21_strings/string_cons_input_iterator.cc:
	Rename to...
	* testsuite/performance/21_strings/cons_input_iterator.cc: ... this.
	* testsuite/performance/21_strings/string_copy_cons_and_dest.cc:
	Rename to...
	* testsuite/performance/21_strings/copy_cons_and_dest.cc: ... this.
	* testsuite/performance/21_strings/string_find.cc: Rename to...
	* testsuite/performance/21_strings/find.cc: ... this.

From-SVN: r164278
2010-09-14 10:27:36 +00:00
Paolo Carlini 1f5ca1a15c [multiple changes]
2010-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/bitset/invalidation: Move...
	* testsuite/23_containers/bitset/debug/invalidation: ... here.
	* testsuite/23_containers/deque/invalidation: Move...
	* testsuite/23_containers/deque/debug/invalidation: ... here.
	* testsuite/23_containers/list/invalidation: Move...
	* testsuite/23_containers/list/debug/invalidation: ... here.
	* testsuite/23_containers/map/invalidation: Move...
	* testsuite/23_containers/map/debug/invalidation: ... here.
	* testsuite/23_containers/multimap/invalidation: Move...
	* testsuite/23_containers/multimap/debug/invalidation: ... here.
	* testsuite/23_containers/set/invalidation: Move...
	* testsuite/23_containers/set/debug/invalidation: ... here.
	* testsuite/23_containers/multiset/invalidation: Move...
	* testsuite/23_containers/multiset/debug/invalidation: ... here.
	* testsuite/23_containers/vector/invalidation: Move...
	* testsuite/23_containers/vector/debug/invalidation: ... here.

2010-08-29  François Dumont  <francois.cppdevs@free.fr>

        * include/bits/stl_algobase.h (_Iter_base):  Move...
        * include/bits/stl_iterator_base_types.h: ...here.
        * include/debug/functions.h (__check_valid_range, __check_string,
	__check_sorted): Fix to not depend on _GLIBCXX_DEBUG; include
	formatter.h and use formatting macros for a consistent debug result.
        * include/debug/formatter.h (__check_singular): Declare; do not
	include debug.h.
        * include/debug/debug.h: Do not include formatter.h.
        * include/debug/safe_iterator.h (_Safe_iterator::_Base_Iterator)
        rename to iterator_type.
	(__gnu_debug::__base): Add.
        * include/debug/set.h: Use everywhere __gnu_debug::__base once
	iterator range valided.
        * include/debug/unordered_map: Likewise.
        * include/debug/multiset.h: Likewise.
        * include/debug/vector: Likewise.
        * include/debug/unordered_set: Likewise.
        * include/debug/deque: Likewise.
        * include/debug/map.h: Likewise.
        * include/debug/string: Likewise.
        * include/debug/list: Likewise.
        * include/debug/multimap.h: Likewise.
        * testsuite/23_containers/util/debug/assign_neg.h: New test cases on
        debug checks performed on container assign operation.
        * testsuite/23_containers/util/debug/construct_neg.h: New test cases
        on debug checks on constructors.
        * testsuite/23_containers/util/debug/insert_neg.h: New test cases on
        debug checks performed on container insert operations.
        * testsuite/23_containers/unordered_map/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: New.
        * testsuite/23_containers/multimap/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/set/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/unordered_multimap/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/unordered_set/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/multiset/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/unordered_multiset/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/map/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/vector/debug/cont_traits.h,
        debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc,
        assign4_neg.cc, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/deque/debug/cont_traits.h,
        debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc,
        assign4_neg.cc, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/cont_traits.h,
        debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc,
        assign4_neg.cc, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/performance/23_containers/range_construct/
	list_construct1.cc: New, validate performance impact of the patch
	on the debug mode.
        * testsuite/performance/23_containers/range_construct/
	list_construct2.cc: Likewise.
        * testsuite/performance/23_containers/range_construct/
	vector_construct.cc: Likewise.
        * testsuite/performance/23_containers/range_construct/
	deque_construct.cc: Likewise.

From-SVN: r163628
2010-08-29 17:39:00 +00:00
Jonathan Wakely 73571bf1e2 re PR libstdc++/45283 (performance/30_threads/future/polling.cc fails at compile time)
2010-08-14  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/45283
	* testsuite/performance/30_threads/future/polling.cc: Replace calls to
	shared_future::is_ready.

From-SVN: r163250
2010-08-14 21:00:55 +01:00
Benjamin Kosnik 41bcd5a9fd re PR libstdc++/42491 (performance/30_threads/future/polling.cc fails at compile time)
2010-01-06  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/42491
	* scripts/check_performance (CXX): Add -std=gnu++0x.
	* testsuite/performance/30_threads/future/polling.cc: Mark up as
	using threads.

From-SVN: r155681
2010-01-06 22:55:52 +00:00
Paolo Carlini 0800b8ea79 stl_deque.h (copy_backward(_Deque_iterator, _Deque_iterator, _Deque_iterator), [...]): Declare.
2009-12-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_deque.h (copy_backward(_Deque_iterator,
	_Deque_iterator, _Deque_iterator), move_backward(_Deque_iterator,
	_Deque_iterator, _Deque_iterator)): Declare.
	* include/bits/deque.tcc: Implement the latter.
	* testsuite/performance/25_algorithms/
	copy_backward_deque_iterators.cc: New.
	* testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
	* testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r155455
2009-12-24 12:47:37 +00:00
Paolo Carlini e2bf200700 stl_deque.h (copy(_Deque_iterator, _Deque_iterator, _Deque_iterator), [...]): Declare.
2009-12-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_deque.h (copy(_Deque_iterator, _Deque_iterator,
	_Deque_iterator), move(_Deque_iterator, _Deque_iterator,
	_Deque_iterator)): Declare.
	* include/bits/deque.tcc: Implement the latter.
	* testsuite/performance/25_algorithms/copy_deque_iterators.cc: New.
	* testsuite/25_algorithms/move/2.cc: Likewise.
	* testsuite/25_algorithms/copy/5.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r155432
2009-12-23 17:14:15 +00:00
Jonathan Wakely c910ceff6a future: New.
2009-06-21  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/future: New.
	* include/Makefile.am: Add.
	* include/Makefile.in: Regenerate.
	* src/future.cc: New.
	* src/Makefile.am: Add.
	* src/Makefile.in: Regenerate.
	* config/abi/pre/gnu.ver: Add export.
	* testsuite/30_threads/headers/future/std_c++0x_neg.cc: New.
	* testsuite/30_threads/headers/future/types_std_c++0x.cc: New.
	* testsuite/30_threads/packaged_task/cons/1.cc: New.
	* testsuite/30_threads/packaged_task/cons/2.cc: New.
	* testsuite/30_threads/packaged_task/cons/assign_neg.cc: New.
	* testsuite/30_threads/packaged_task/cons/copy_neg.cc: New.
	* testsuite/30_threads/packaged_task/cons/move_assign.cc: New.
	* testsuite/30_threads/packaged_task/cons/move.cc: New.
	* testsuite/30_threads/packaged_task/members/boolconv.cc: New.
	* testsuite/30_threads/packaged_task/members/get_future.cc: New.
	* testsuite/30_threads/packaged_task/members/get_future2.cc: New.
	* testsuite/30_threads/packaged_task/members/invoke.cc: New.
	* testsuite/30_threads/packaged_task/members/invoke2.cc: New.
	* testsuite/30_threads/packaged_task/members/invoke3.cc: New.
	* testsuite/30_threads/packaged_task/members/invoke4.cc: New.
	* testsuite/30_threads/packaged_task/members/invoke5.cc: New.
	* testsuite/30_threads/packaged_task/members/reset.cc: New.
	* testsuite/30_threads/packaged_task/members/reset2.cc: New.
	* testsuite/30_threads/packaged_task/members/swap.cc: New.
	* testsuite/30_threads/packaged_task/requirements/
	explicit_instantiation.cc: New.
	* testsuite/30_threads/promise/cons/1.cc: New.
	* testsuite/30_threads/promise/cons/assign_neg.cc: New.
	* testsuite/30_threads/promise/cons/copy_neg.cc: New.
	* testsuite/30_threads/promise/cons/move_assign.cc: New.
	* testsuite/30_threads/promise/cons/move.cc: New.
	* testsuite/30_threads/promise/members/get_future.cc: New.
	* testsuite/30_threads/promise/members/get_future2.cc: New.
	* testsuite/30_threads/promise/members/set_exception.cc: New.
	* testsuite/30_threads/promise/members/set_exception2.cc: New.
	* testsuite/30_threads/promise/members/set_value.cc: New.
	* testsuite/30_threads/promise/members/set_value2.cc: New.
	* testsuite/30_threads/promise/members/set_value3.cc: New.
	* testsuite/30_threads/promise/members/swap.cc: New.
	* testsuite/30_threads/promise/requirements/
	explicit_instantiation.cc: New.
	* testsuite/30_threads/shared_future/cons/assign_neg.cc: New.
	* testsuite/30_threads/shared_future/cons/copy.cc: New.
	* testsuite/30_threads/shared_future/cons/default_neg.cc: New.
	* testsuite/30_threads/shared_future/cons/move.cc: New.
	* testsuite/30_threads/shared_future/members/get.cc: New.
	* testsuite/30_threads/shared_future/members/get2.cc: New.
	* testsuite/30_threads/shared_future/members/has_exception.cc: New.
	* testsuite/30_threads/shared_future/members/has_value.cc: New.
	* testsuite/30_threads/shared_future/members/is_ready.cc: New.
	* testsuite/30_threads/shared_future/members/wait.cc: New.
	* testsuite/30_threads/shared_future/members/wait_for.cc: New.
	* testsuite/30_threads/shared_future/members/wait_until.cc: New.
	* testsuite/30_threads/shared_future/requirements/
	explicit_instantiation.cc: New.
	* testsuite/30_threads/unique_future/cons/assign_neg.cc: New.
	* testsuite/30_threads/unique_future/cons/copy_neg.cc: New.
	* testsuite/30_threads/unique_future/cons/default_neg.cc: New.
	* testsuite/30_threads/unique_future/cons/move.cc: New.
	* testsuite/30_threads/unique_future/members/get.cc: New.
	* testsuite/30_threads/unique_future/members/get2.cc: New.
	* testsuite/30_threads/unique_future/members/has_exception.cc: New.
	* testsuite/30_threads/unique_future/members/has_value.cc: New.
	* testsuite/30_threads/unique_future/members/is_ready.cc: New.
	* testsuite/30_threads/unique_future/members/wait.cc: New.
	* testsuite/30_threads/unique_future/members/wait_for.cc: New.
	* testsuite/30_threads/unique_future/members/wait_until.cc: New.
	* testsuite/30_threads/unique_future/requirements/
	explicit_instantiation.cc: New.
	* testsuite/performance/30_threads/future/polling.cc: New.

From-SVN: r148765
2009-06-21 15:02:09 +01:00
Jakub Jelinek 748086b7b2 Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
From-SVN: r145841
2009-04-09 17:00:19 +02:00
Benjamin Kosnik 2e3f9c21d5 using.xml: Outline exception topics.
2008-06-06  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/manual/using.xml: Outline exception topics.

	* include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp: Format.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	policy_access_fn_imps.hpp: Same.
	* include/ext/pb_ds/priority_queue.hpp: Same.
	* include/ext/throw_allocator.h: Same.

	* include/ext/pb_ds/tag_and_trait.hpp (string_tag): New tag.
	(sequence_tag): New tag. Doxygen markup fixes.

	* testsuite/lib/libstdc++.exp: Remove twister_ran_gen.cc source file.

	* testsuite/performance/ext/pb_ds/text_find_timing.cc: Fix
	comment typo, include paths, format.
	* testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/
	hash_random_int_erase_mem_usage.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_mem_usage.hpp
	* testsuite/performance/ext/pb_ds/multimap_text_find_timing.hpp
	* testsuite/performance/ext/pb_ds/
	priority_queue_random_int_push_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/priority_queue_text_modify_timing.hpp
	* 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
	* 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/ext/pb_ds/regression/hash_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/trie_data_map_rand.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/hash_no_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Same.
	* testsuite/util/regression/trait/priority_queue/trait.hpp: Same.
	* testsuite/util/regression/trait/erase_if_fn.hpp: Same.
	* 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/resize_trait.hpp: Same.
	* testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
	* testsuite/util/regression/trait/assoc/to_string.hpp: Same.
	* testsuite/util/regression/basic_type.hpp: Same.
	* testsuite/util/common_type/priority_queue/string_form.hpp: Same.
	* testsuite/util/common_type/priority_queue/detail/
	ds_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/string_form.hpp: Same.
	* 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/
	comb_hash_fn_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/detail/ds_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/
	list_update_policy_string_form.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/io/prog_bar.cc: Same.

	* testsuite/util/regression/rand/io: Remove.
	* testsuite/util/regression/rand/io/priority_queue: Same.
	* testsuite/util/regression/rand/io/assoc: Same.
	* testsuite/util/regression/rand/io/priority_queue/
	xml_formatter.hpp: Consolidate this...
	* testsuite/util/regression/rand/io/assoc/xml_formatter.hpp: ...this
	* testsuite/util/regression/rand/io/xml_formatter.hpp: ... and this
	* testsuite/util/regression/rand/xml_formatter.hpp: ...here.

	* testsuite/util/regression/rand/priority_queue/
	container_rand_regression_test.hpp:To ...
	container_rand_regression_test.h: ... this.
	* testsuite/util/regression/rand/priority_queue/detail/*.hpp:To ...
	* testsuite/util/regression/rand/priority_queue/
	container_rand_regression_test.tcc: ... this.
	PB_DS_THROW_IF_FAIL: Change to _GLIBCXX_THROW_IF, adjust predicate.
	PB_DS_SET_DESTRUCT_PRINT: Fold inline.
	PB_DS_CANCEL_DESTRUCT_PRINT: Fold inline.
	* testsuite/util/regression/rand/priority_queue/
	rand_regression_test.hpp: Adjust includes.

	* testsuite/util/regression/rand/assoc/
	container_rand_regression_test.hpp: To ...
	* testsuite/util/regression/rand/assoc/
	container_rand_regression_test.h: ... this.
	* testsuite/util/regression/rand/assoc/detail/*.hpp:To ...
	* testsuite/util/regression/rand/assoc/
	container_rand_regression_test.tcc: ...this.
	* testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Adjust
	includes.

	* testsuite/util/regression/priority_queue: Remove.
	* testsuite/util/regression/assoc: Remove.
	* testsuite/util/regression/priority_queue/
	common_type.hpp: Consolidate this...
	* testsuite/util/regression/assoc/common_type.hpp: ... and this
	* testsuite/util/regression/common_type.hpp: ...here.

	* testsuite/util/rng: Remove.
	* testsuite/util/rng/twister_rand_gen.cc: Consolidate...
	* testsuite/util/rng/twister_rand_gen.hpp: ... and this
	* testsuite/util/testsuite_rng.h: ...here.

	* testsuite/util/native_type/priority_queue: Remove.
	* testsuite/util/native_type/priority_queue/
	native_priority_queue.hpp: To...
	* testsuite/util/native_type/native_priority_queue.hpp: ...here.

	* testsuite/util/native_type/assoc: Remove.
	* testsuite/util/native_type/assoc/native_multimap.hpp: To...
	* testsuite/util/native_type/assoc/native_tree_tag.hpp: To...
	* testsuite/util/native_type/assoc/native_hash_multimap.hpp: To...
	* testsuite/util/native_type/assoc/native_set.hpp: To...
	* testsuite/util/native_type/assoc/native_map.hpp: To...
	* testsuite/util/native_type/assoc/native_hash_set.hpp: To...
	* testsuite/util/native_type/assoc/native_hash_tag.hpp: To...
	* testsuite/util/native_type/assoc/native_hash_map.hpp: To...
	* testsuite/util/native_type/native_multimap.hpp: ...here.
	* testsuite/util/native_type/native_tree_tag.hpp: ...here.
	* testsuite/util/native_type/native_hash_multimap.hpp: ...here.
	* testsuite/util/native_type/native_set.hpp: ...here.
	* testsuite/util/native_type/native_map.hpp: ...here.
	* testsuite/util/native_type/native_hash_set.hpp: ...here.
	* testsuite/util/native_type/native_hash_tag.hpp: ...here.
	* testsuite/util/native_type/native_hash_map.hpp: ...here.

	* testsuite/util/common_type/priority_queue/common_type.hpp:
	Make include guard distinct.

From-SVN: r136497
2008-06-06 19:32:43 +00:00
Benjamin Kosnik 1d3d8fff36 testsuite_visualization.h: Move contents into...
2008-05-05  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/util/testsuite_visualization.h: Move contents into...
	* testsuite/util/testsuite_performance.h: ...here.
	* testsuite/util/testsuite_common_types.h: Move
	performance-related test infrastructure into
	testsuite_performance.
	* testsuite/performance/25_algorithms/search_n.cc: Fix includes.
	* 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.

	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.

From-SVN: r134949
2008-05-05 17:22:02 +00:00
Benjamin Kosnik 5e11f978ed *: Change namespace pb_ds to __gnu_pbds.
2007-09-12  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/pb_ds/*: Change namespace pb_ds to __gnu_pbds.
	* docs/html/ext/pb_ds/*: Same.
	* testsuite/ext/pb_ds/*: Same.
	* testsuite/performance/ext/pb_ds/*: Same.
	* testsuite/util/*: Same.

From-SVN: r128448
2007-09-12 23:06:27 +00:00
Paolo Carlini c2fe93f7ba re PR libstdc++/32908 (Miss lexicographical_compare random access override)
2007-07-30  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/32908
	* include/bits/stl_algobase.h (struct __lc_rai): New.
	(lexicographical_compare(_II1, _II1, _II2, _II2),
	lexicographical_compare(_II1, _II1, _II2, _II2, _Compare)): Use it.
	* testsuite/performance/25_algorithms/lexicographical_compare.cc: New.

From-SVN: r127073
2007-07-30 21:14:52 +00:00
Paolo Carlini debac9f40d 9661-1.cc: Include <cstdlib>.
2007-03-02  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/objects/wchar_t/9661-1.cc: Include <cstdlib>.
	* testsuite/27_io/objects/wchar_t/7.cc: Likewise.
	* testsuite/27_io/objects/char/9661-1.cc: Likewise.
	* testsuite/27_io/objects/char/7.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/char/2.cc: Likewise.
	* testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Likewise.
	* testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/
	11.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/wchar_t/
	4.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/char/
	4.cc: Likewise.
	* testsuite/27_io/basic_ostream/seekp/wchar_t/
	2346-fstream.cc: Likewise.
	* testsuite/27_io/basic_ostream/seekp/char/
	2346-fstream.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
	* testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Likewise.
	* testsuite/21_strings/basic_string/inserters_extractors/
	wchar_t/10.cc: Likewise.
	* testsuite/21_strings/basic_string/inserters_extractors/
	wchar_t/11.cc: Likewise.
	* testsuite/21_strings/basic_string/inserters_extractors/
	char/10.cc: Likewise.
	* testsuite/21_strings/basic_string/inserters_extractors/
	char/11.cc: Likewise.
	* testsuite/ext/pb_ds/example/trie_dna.cc: Likewise.
	* testsuite/ext/new_allocator/deallocate_global.cc: Likewise.
	* testsuite/ext/new_allocator/deallocate_local.cc: Likewise.
	* testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: Likewise.
	* testsuite/performance/27_io/ifstream_getline.cc: Likewise.
	* testsuite/22_locale/locale/cons/4.cc: Likewise.
	* testsuite/22_locale/locale/cons/5.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/thread/
	mutex_weaktoshared.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/thread/
	default_weaktoshared.cc: Likewise.
	* testsuite/thread/pthread5.cc: Likewise.
	* testsuite/thread/pthread1.cc: Likewise.
	* testsuite/23_containers/deque/cons/assign/1.cc: Likewise.

From-SVN: r122482
2007-03-02 18:11:15 +00:00
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