d1129d45b0 
								
							 
						 
						
							
							
								
								Remove redundant std::move in std::for_each  
							
							... 
							
							
							
							* include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
	and adjust comment.
From-SVN: r238399 
							
						 
						
							2016-07-15 20:51:33 +01:00  
				
					
						
							
							
								 
						
							
								4db1cb44be 
								
							 
						 
						
							
							
								
								Implement C++17 P0025 clamp.  
							
							... 
							
							
							
							2016-07-15  Edward Smith-Rowland  <3dw4rd@verizon.net>
	Implement C++17 P0025 clamp.
	* include/bits/algorithmfwd.h: Declare clamp overloads.
	* include/bits/stl_algo.h: Implement clamp.  Feature __cpp_lib_clamp.
	* testsuite/25_algorithms/clamp/1.cc: New test.
	* testsuite/25_algorithms/clamp/2.cc: New test.
	* testsuite/25_algorithms/clamp/constexpr.cc: New test.
	* testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
	1.cc: New test.
	* testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
	pod.cc: New test.
From-SVN: r238383 
							
						 
						
							2016-07-15 17:16:32 +00:00  
				
					
						
							
							
								 
						
							
								3ebacabd0e 
								
							 
						 
						
							
							
								
								libstdc++/71545 fix debug checks in binary search algorithms  
							
							... 
							
							
							
							PR libstdc++/71545
	* include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
	Remove irreflexive checks.
	* include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
	binary_search): Likewise.
	* testsuite/25_algorithms/equal_range/partitioned.cc: New test.
	* testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
	* testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
	* testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
	* testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
	Add constructor from array.
From-SVN: r237560 
							
						 
						
							2016-06-17 19:28:34 +01:00  
				
					
						
							
							
								 
						
							
								9f285ccb77 
								
							 
						 
						
							
							
								
								Revert empty class parameter passing ABI changes.  
							
							... 
							
							
							
							From-SVN: r234977 
							
						 
						
							2016-04-14 12:23:06 -04:00  
				
					
						
							
							
								 
						
							
								a6297ab587 
								
							 
						 
						
							
							
								
								Adjust for new empty class parameter passing ABI.  
							
							... 
							
							
							
							* include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
	_GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
	* include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
	of functions taking empty structs by value. Add a template parameter
	to overloads without hints. Rename overloads with hints to
	_M_emplace_hint.
	(_Hashtable::_M_erase(true_type, const_iterator),
	_Hashtable::_M_erase(false_type, const_iterator)): Change signatures
	by reordering parameters.
	* include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
	_M_emplace_hint instead of _M_emplace.
	* include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
	shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
	* include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
	__shared_ptr): Likewise.
	* include/bits/stl_algo.h (replace_if): Likewise.
	* include/bits/stl_pair.h (piecewise_construct_t,
	piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
	* include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
	__uses_alloc0): Likewise.
	* include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
	* testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
	* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
	* testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
	* testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
From-SVN: r234964 
							
						 
						
							2016-04-13 23:00:50 +01:00  
				
					
						
							
							
								 
						
							
								2944621e2c 
								
							 
						 
						
							
							
								
								Avoid including all of <random> in <algorithm>  
							
							... 
							
							
							
							PR libstdc++/69464
	* include/Makefile.am: Add new header.
	* include/Makefile.in: Regenerate.
	* include/bits/random.h (uniform_int_distribution): Move to
	bits/uniform_int_dist.h.
	* include/bits/random.tcc (uniform_int_distribution::operator(),
	uniform_int_distribution::__generate_impl): Likewise.
	* include/bits/uniform_int_dist.h: New header.
	* include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
	<bits/uniform_int_dist.h> instead of <random>.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy/
	move_iterators/1.cc: Include correct header for uninitialized_copy.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
	move_iterators/1.cc: Likewise.
	* testsuite/25_algorithms/nth_element/58800.cc: Include correct
	header for vector.
	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
From-SVN: r232798 
							
						 
						
							2016-01-25 16:44:30 +00:00  
				
					
						
							
							
								 
						
							
								818ab71a41 
								
							 
						 
						
							
							
								
								Update copyright years.  
							
							... 
							
							
							
							From-SVN: r232055 
							
						 
						
							2016-01-04 15:30:50 +01:00  
				
					
						
							
							
								 
						
							
								ec494945a9 
								
							 
						 
						
							
							
								
								2015-11-09  François Dumont  <fdumont@gcc.gnu.org>  
							
							... 
							
							
							
							* include/bits/stl_algo.h
	(partial_sort_copy): Instantiate std::iterator_traits only if concept
	checks.
	(lower_bound): Likewise.
	(upper_bound): Likewise.
	(equal_range): Likewise.
	(binary_search): Likewise.
	* include/bits/stl_heap.h (pop_heap): Likewise.
From-SVN: r230052 
							
						 
						
							2015-11-09 21:10:18 +00:00  
				
					
						
							
							
								 
						
							
								630a286ab6 
								
							 
						 
						
							
							
								
								re PR libstdc++/60519 (Debug mode should check comparators for irreflexivity)  
							
							... 
							
							
							
							2015-08-24  François Dumont  <fdumont@gcc.gnu.org>
	PR libstdc++/60519
	* include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering):
	New enum entry.
	* include/debug/functions.h (_Irreflexive_checker): New.
	(__is_irreflexive, __is_irreflexive_pred): New.
	* include/debug/macros.h
	(__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New
	macros.
	(__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New
	macros limited to post-C++11 mode.
	* include/debug/debug.h
	(__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred):
	New macros, use latter.
	(__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2):
	Likewise.
	* include/bits/stl_algo.h
	(partial_sort_copy): Add irreflexive debug check.
	(partial_sort_copy): Likewise.
	(lower_bound): Likewise.
	(upper_bound): Likewise.
	(equal_range): Likewise.
	(binary_search): Likewise.
	(inplace_merge): Likewise.
	(includes): Likewise.
	(next_permutation): Likewise.
	(prev_permutation): Likewise.
	(is_sorted_until): Likewise.
	(minmax_element): Likewise.
	(partial_sort): Likewise.
	(nth_element): Likewise.
	(sort): Likewise.
	(merge): Likewise.
	(stable_sort): Likewise.
	(set_union): Likewise.
	(set_intersection): Likewise.
	(set_difference): Likewise.
	(set_symmetric_difference): Likewise.
	(min_element): Likewise.
	(max_element): Likewise.
	* include/bits/stl_algobase.h
	(lower_bound): Likewise.
	(lexicographical_compare): Likewise.
	* include/bits/stl_heap.h
	(push_heap): Likewise.
	(pop_heap): Likewise.
	(make_heap): Likewise.
	(sort_heap): Likewise.
	(is_heap_until): Likewise.
	* testsuite/25_algorithms/lexicographical_compare/debug/
	irreflexive_neg.cc: New.
	* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New.
	* testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
	New.
From-SVN: r227189 
							
						 
						
							2015-08-25 20:27:03 +00:00  
				
					
						
							
							
								 
						
							
								25c65938c8 
								
							 
						 
						
							
							
								
								Revert my change to commit with PR reference again.  
							
							... 
							
							
							
							From-SVN: r227187 
							
						 
						
							2015-08-25 20:22:47 +00:00  
				
					
						
							
							
								 
						
							
								41e4e5edce 
								
							 
						 
						
							
							
								
								formatter.h (_Debug_msg_id::__msg_irreflexive_ordering): New enum entry.  
							
							... 
							
							
							
							2015-08-24  François Dumont  <fdumont@gcc.gnu.org>
	* include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering):
	New enum entry.
	* include/debug/functions.h (_Irreflexive_checker): New.
	(__is_irreflexive, __is_irreflexive_pred): New.
	* include/debug/macros.h
	(__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New
	macros.
	(__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New
	macros limited to post-C++11 mode.
	* include/debug/debug.h
	(__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred):
	New macros, use latter.
	(__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2):
	Likewise.
	* include/bits/stl_algo.h
	(partial_sort_copy): Add irreflexive debug check.
	(partial_sort_copy): Likewise.
	(lower_bound): Likewise.
	(upper_bound): Likewise.
	(equal_range): Likewise.
	(binary_search): Likewise.
	(inplace_merge): Likewise.
	(includes): Likewise.
	(next_permutation): Likewise.
	(prev_permutation): Likewise.
	(is_sorted_until): Likewise.
	(minmax_element): Likewise.
	(partial_sort): Likewise.
	(nth_element): Likewise.
	(sort): Likewise.
	(merge): Likewise.
	(stable_sort): Likewise.
	(set_union): Likewise.
	(set_intersection): Likewise.
	(set_difference): Likewise.
	(set_symmetric_difference): Likewise.
	(min_element): Likewise.
	(max_element): Likewise.
	* include/bits/stl_algobase.h
	(lower_bound): Likewise.
	(lexicographical_compare): Likewise.
	* include/bits/stl_heap.h
	(push_heap): Likewise.
	(pop_heap): Likewise.
	(make_heap): Likewise.
	(sort_heap): Likewise.
	(is_heap_until): Likewise.
	* testsuite/25_algorithms/lexicographical_compare/debug/
	irreflexive_neg.cc: New.
	* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New.
	* testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
	New.
From-SVN: r227147 
							
						 
						
							2015-08-24 20:21:57 +00:00  
				
					
						
							
							
								 
						
							
								f970a17d6f 
								
							 
						 
						
							
							
								
								re PR libstdc++/64657 (Support iterators with overloaded operator-comma)  
							
							... 
							
							
							
							PR libstdc++/64657
	* include/bits/basic_string (basic_string::_S_copy_chars): Cast
	expression to void.
	* include/bits/locale_facets_nonio.tcc (money_get::_M_extract,
	time_get::_M_extract_num, time_get::_M_extract_name,
	time_get::_M_extract_wday_or_month): Likewise.
	* include/bits/stl_algo.h (__includes, __replace_copy_if,
	__is_sorted_until, __is_permutation, transform): Likewise.
	* include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m,
	__equal::equal, __lexicographical_compare_impl, equal): Likewise.
	* include/bits/stl_numeric.h (inner_product): Likewise.
	* include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise.
	* testsuite/util/testsuite_iterators.h (output_iterator_wrapper,
	input_iterator_wrapper): Declare unusable comma operator.
	* testsuite/21_strings/basic_string/cons/char/64657.cc: New.
	* testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc:
	New.
From-SVN: r222579 
							
						 
						
							2015-04-29 16:22:13 +01:00  
				
					
						
							
							
								 
						
							
								2e7e2075d1 
								
							 
						 
						
							
							
								
								stl_algo.h (random_shuffle): Only define for hosted implementations.  
							
							... 
							
							
							
							* include/bits/stl_algo.h (random_shuffle): Only define for hosted
	implementations.
From-SVN: r222542 
							
						 
						
							2015-04-28 20:42:56 +01:00  
				
					
						
							
							
								 
						
							
								87839f22d2 
								
							 
						 
						
							
							
								
								re PR libstdc++/58357 (In C++11 std::rotate(first, middle, last) now should return a forward iterator to  first + (last - middle).)  
							
							... 
							
							
							
							PR libstdc++/58357
	* include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2.
	* include/bits/stl_algo.h (__rotate, rotate): Likewise.
From-SVN: r220823 
							
						 
						
							2015-02-19 20:57:40 +00:00  
				
					
						
							
							
								 
						
							
								257024e31e 
								
							 
						 
						
							
							
								
								re PR libstdc++/64646 (New overloads of std::is_permutation dereference past-the-end iterator)  
							
							... 
							
							
							
							PR libstdc++/64646
	* include/bits/stl_algo.h (__is_permutation): Also test for reaching
	end of the second range.
	* testsuite/25_algorithms/is_permutation/64646.cc: New.
From-SVN: r219821 
							
						 
						
							2015-01-18 16:31:06 +00:00  
				
					
						
							
							
								 
						
							
								1d0a12dc55 
								
							 
						 
						
							
							
								
								DR 488 PR libstdc++/58357  
							
							... 
							
							
							
							DR 488
	PR libstdc++/58357
	* include/bits/algorithmfwd.h (rotate): Return an iterator.
	* include/bits/stl_algo.h (rotate, __rotate): Likewise.
	* testsuite/25_algorithms/rotate/dr488.cc: New.
	* testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
	* testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
	2.cc: Likewise.
	* testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
	pod.cc: Likewise.
From-SVN: r219793 
							
						 
						
							2015-01-17 03:15:52 +00:00  
				
					
						
							
							
								 
						
							
								5624e564d2 
								
							 
						 
						
							
							
								
								Update copyright years.  
							
							... 
							
							
							
							From-SVN: r219188 
							
						 
						
							2015-01-05 13:33:28 +01:00  
				
					
						
							
							
								 
						
							
								8dff34fe8e 
								
							 
						 
						
							
							
								
								re PR libstdc++/60271 ([DR2369] [C++1y] std::max(initializer_list<T>) cannot use std::max_element)  
							
							... 
							
							
							
							2014-12-22  Ville Voutilainen  <ville.voutilainen@gmail.com>
	PR libstdc++/60271
	C++14 constexpr min, max, minmax, min_element, max_element
	and minmax_element. Also constexpr for 20.9.5-20.9.9,
	aka various library functors.
	* include/bits/c++config: Add _GLIBCXX14_CONSTEXPR.
	* include/bits/algorithmfwd.h (min, max, minmax, min_element,
	max_element): Use it.
	* include/bits/predefined_ops.h (_Iter_less_iter, __iter_less_iter,
	_Iter_comp_iter, __iter_comp_iter): Likewise.
	* include/bits/stl_algo.h (minmax, __minmax_element, minmax_element,
	min, max, __min_element, min_element, __max_element, max_element)
	Likewise.
	* include/bits/stl_algobase.h (min, max): Likewise.
	* include/bits/stl_function.h (plus, minus, multiplies, divides,
	modulus, negate, equal_to, not_equal_to, greater, less, greater_equal,
	less_equal, logical_and, logical_or, logical_not, bit_and, bit_or,
	bit_xor, bit_not, unary_negate, not1, binary_negate, not2): Likewise.
	* testsuite/20_util/function_objects/constexpr.cc: New.
	* testsuite/25_algorithms/max/constexpr.cc: Likewise.
	* testsuite/25_algorithms/max_element/constexpr.cc: Likewise.
	* testsuite/25_algorithms/min/constexpr.cc: Likewise.
	* testsuite/25_algorithms/min_element/constexpr.cc: Likewise.
	* testsuite/25_algorithms/minmax/constexpr.cc: Likewise.
	* testsuite/25_algorithms/minmax_element/constexpr.cc: Likewise.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error.
From-SVN: r219015 
							
						 
						
							2014-12-22 16:00:16 +00:00  
				
					
						
							
							
								 
						
							
								970a9caa49 
								
							 
						 
						
							
							
								
								re PR libstdc++/61107 (stl_algo.h: std::__inplace_stable_partition() doesn't process the whole data range)  
							
							... 
							
							
							
							2014-11-11  François Dumont  <fdumont@gcc.gnu.org>
	PR libstdc++/61107
	* include/bits/stl_algo.h (__inplace_stable_partition): Delete.
	(__stable_partition_adaptive): Return __first if range length is 1.
	(__stable_partition): Adapt.
	* testsuite/util/testsuite_new_operators.h: New.
	* testsuite/25_algorithms/stable_sort/1.cc: Test algo in simulated
	constraint memory context.
	* testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
	* testsuite/25_algorithms/stable_partition/1.cc: Likewise.
From-SVN: r217370 
							
						 
						
							2014-11-11 21:21:10 +00:00  
				
					
						
							
							
								 
						
							
								bc5022d011 
								
							 
						 
						
							
							
								
								re PR libstdc++/59603 (std::random_shuffle tries to swap element with itself)  
							
							... 
							
							
							
							PR libstdc++/59603
	* include/bits/stl_algo.h (random_shuffle): Prevent self-swapping.
	* testsuite/25_algorithms/random_shuffle/59603.cc: New.
From-SVN: r215219 
							
						 
						
							2014-09-12 14:30:35 +01:00  
				
					
						
							
							
								 
						
							
								aa118a03c4 
								
							 
						 
						
							
							
								
								Update copyright years in libstdc++-v3/  
							
							... 
							
							
							
							From-SVN: r206301 
							
						 
						
							2014-01-02 22:30:10 +00:00  
				
					
						
							
							
								 
						
							
								f5b9d5e877 
								
							 
						 
						
							
							
								
								re PR libstdc++/58800 (std::nth_element segfaults on valid input)  
							
							... 
							
							
							
							2013-10-20  Chris Jefferson  <chris@bubblescope.net>
	    Paolo Carlini  <paolo.carlini@oracle.com>
	PR libstdc++/58800
	* include/bits/stl_algo.h (__unguarded_partition_pivot): Change
	__last - 2 to __last - 1.
	* testsuite/25_algorithms/nth_element/58800.cc: New
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r203872 
							
						 
						
							2013-10-20 09:07:36 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								3bd2644c00 
								
							 
						 
						
							
							
								
								stl_algo.h (remove_copy, [...]): Declare inline.  
							
							... 
							
							
							
							2013-09-28  François Dumont  <fdumont@gcc.gnu.org>
	* include/bits/stl_algo.h (remove_copy, remove_copy_if): Declare
	inline.
	(rotate_copy, stable_partition, partial_sort_copy): Likewise.
	(lower_bound, upper_bound, equal_range, inplace_merge): Likewise.
	(includes, next_permutation, prev_permutation): Likewise.
	(replace_copy, replace_copy_if, is_sorted_until): Likewise.
	(minmax_element, is_permutation, adjacent_find): Likewise.
	(count, count_if, search, search_n, merge): Likewise.
	(set_intersection, set_difference): Likewise.
	(set_symmetric_difference, min_element, max_element): Likewise.
	* include/bits/stl_algobase.h (lower_bound): Likewise.
	(lexicographical_compare, mismatch): Likewise.
From-SVN: r203008 
							
						 
						
							2013-09-28 20:30:51 +00:00  
				
					
						
							
							
								 
						
							
								ea89b2482f 
								
							 
						 
						
							
							
								
								predefined_ops.h: New.  
							
							... 
							
							
							
							2013-09-27  François Dumont  <fdumont@gcc.gnu.org>
	* include/bits/predefined_ops.h: New.
	* include/bits/stl_heap.h: Include <bits/predefined_ops.h>.
	(__is_heap_until, __push_heap, __adjust_heap, __pop_heap): Remove
	algo duplication.
	(__is_heap): Adapt.
	(__make_heap): New.
	(make_heap): Adapt to use latter.
	(__sort_heap): New.
	(sort_heap): Adapt to use latter.
	* include/bits/algobase.h: Include <bits/predefined_ops.h>.
	(__lexicographical_compare_impl): New.
	(__lexicographical_compare<false>::__lc): Adapt to use latter.
	(lexicographical_compare): Likewise.
	(__lower_bound): New.
	(lower_bound): Adapt to use latter.
	(equal): Use _GLIBCXX_STD_A::equal in N3671 overloads.
	(__mismatch): New.
	(mismatch): Use latter.
	* include/bits/algo.h: Include <bits/predefined_ops.h>. Remove
	<functional> include.
	(__move_median_first, __find, __find_if, __find_if_not): Remove
	algo duplication.
	(__find_end): Likewise.
	(__search_n): Rename into ...
	(__search_n_aux): ... this.
	(__search_n): Renew, use latter.
	(search_n): Use latter.
	(__search): New.
	(search): Use latter.
	(__find_end): Likewise.
	(__remove_copy_if): New.
	(remove_copy): Use latter.
	(__adjacent_find): New.
	(adjacent_find): Use latter.
	(__unique): New.
	(unique): Use latter.
	(__unique_copy): Remove algo duplication.
	(__stable_partition): New.
	(stable_partition): Use latter.
	(__heap_select): Remove algo duplication, use __make_heap.
	(__partial_sort): New, use latter.
	(partial_sort): Use latter.
	(__partial_sort_copy): New.
	(partial_sort_copy): Use latter.
	(__unguarded_linear_insert, __insertion_sort): Remove algo
	duplication.
	(__unguarded_insertion_sort, __final_insertion_sort): Likewise.
	(__unguarded_partition, __unguarded_partition_pivot): Likewise.
	(__partial_sort): New.
	(partial_sort): Use latter.
	(__sort): New.
	(sort): Use latter.
	(lower_bound): Use __lower_bound.
	(__upper_bound): New.
	(upper_bound): Use latter.
	(__equal_range): New.
	(equal_range): Use latter.
	(__move_merge_adaptive, __move_merge_adaptive_backward): Remove
	algo duplication.
	(__merge_adaptive, __merge_without_buffer): Likewise.
	(__inplace_merge): New.
	(inplace_merge): Use latter.
	(__move_merge, __merge_sort_loop, __chunk_insertion_sort): Remove
	algo duplication.
	(__merge_sort_with_buffer, __stable_sort_adaptive): Likewise.
	(__inplace_stable_sort): Likewise.
	(__include): New.
	(includes): Use latter.
	(__next_permutation): New.
	(next_permutation): Use latter.
	(__prev_permutation): New.
	(prev_permutation): Use latter.
	(__replace_copy_if): New.
	(replace_copy): Use latter.
	(__is_sorted_until): New.
	(is_sorted_unitl): Use latter.
	(__minmax_element): New.
	(minmax_element): Use latter.
	(__is_permutation): New.
	(is_permutation): Use latter.
	(__adjacent_find): New.
	(adjacent_find): Use latter.
	(__count_if): New.
	(count): Use latter.
	(count_if): Likewise.
	(__merge): New.
	(merge): Use latter.
	(__stable_sort): New.
	(stable_sort): Use latter.
	(__set_union): New.
	(set_union): Use latter.
	(__set_intersection): New.
	(set_intersection): Use latter.
	(__set_difference): New.
	(set_difference): Use latter.
	(__set_symmetric_difference): New.
	(set_symmetric_difference): Use latter.
	(__min_element): New.
	(min_element): Use latter.
	(__max_element): New.
	(max_element): Use latter.
	* include/Makefile.am: Add predefined_ops.h.
	* include/Makefile.in: Regenerate.
	* include/parallel/algobase.h (equal, mismatch): Add overloads
	from N3671.
	* testsuite/25_algorithms/is_permutation/vectorbool.cc: New.
	* testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
	* testsuite/25_algorithms/find/vectorbool.cc: Likewise.
	* testsuite/25_algorithms/find_if/vectorbool.cc: Likewise.
	* testsuite/25_algorithms/find_first_of/vectorbool.cc: Likewise.
	* testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
	* testsuite/25_algorithms/find_end/vectorbool.cc: Likewise.
	* testsuite/25_algorithms/find_if_not/vectorbool.cc: Likewise.
From-SVN: r202992 
							
						 
						
							2013-09-27 21:17:36 +00:00  
				
					
						
							
							
								 
						
							
								4b47d65500 
								
							 
						 
						
							
							
								
								re PR libstdc++/58358 (search_n has a Complexity violation for random access iterator)  
							
							... 
							
							
							
							2013-09-11  Mitsuru Kariya  <kariya_mitsuru@hotmail.com>
	    Chris Jefferson  <chris@bubblescope.net>
	PR libstdc++/58358
	* include/bits/stl_algo.h (search_n): Fix to guarantee a number
	of comparisons <= number of elements in the range.
	* testsuite/25_algorithms/search_n/58358.cc: New.
	* testsuite/25_algorithms/search_n/iterator.cc: Extend.
Co-Authored-By: Chris Jefferson <chris@bubblescope.net>
From-SVN: r202510 
							
						 
						
							2013-09-11 22:24:50 +00:00  
				
					
						
							
							
								 
						
							
								31eb8a1809 
								
							 
						 
						
							
							
								
								stl_algobase.h (equal): Make C++14 overloads from N3671 dispatch to traditional std::equal for...  
							
							... 
							
							
							
							2013-06-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
	    Chris Jefferson  <chris@bubblescope.net>
	* include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671
	dispatch to traditional std::equal for random-access iterators.
	(__equal2_aux, __equal2): Remove.
	(__equal::equal): Remove unused overloads.
	* include/bits/stl_algo.h (is_permutation): Fix typos.
Co-Authored-By: Chris Jefferson <chris@bubblescope.net>
From-SVN: r200145 
							
						 
						
							2013-06-17 01:47:55 +01:00  
				
					
						
							
							
								 
						
							
								f7fbb0036a 
								
							 
						 
						
							
							
								
								stl_algo.h (is_permutation): Add overloads from N3671.  
							
							... 
							
							
							
							* include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
	* include/bits/stl_algobase.h (equal, mismatch): Likewise.
	* testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
	* testsuite/25_algorithms/equal/2.cc: New.
	* testsuite/25_algorithms/equal/check_type2.cc: New.
	* testsuite/25_algorithms/is_permutationqual/2.cc: New.
	* testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
	* testsuite/25_algorithms/mismatch/2.cc: New.
	* testsuite/25_algorithms/mismatch/check_type2.cc: New.
	* testsuite/util/testsuite_iterators.h: Fix spelling.
From-SVN: r199854 
							
						 
						
							2013-06-08 17:12:13 +01:00  
				
					
						
							
							
								 
						
							
								405feeb871 
								
							 
						 
						
							
							
								
								Update copyright in libstdc++-v3.  
							
							... 
							
							
							
							From-SVN: r195701 
							
						 
						
							2013-02-03 17:54:05 +00:00  
				
					
						
							
							
								 
						
							
								1b5dc776ca 
								
							 
						 
						
							
							
								
								stl_algo.h (reverse_copy): Update comment per DR 2074.  
							
							... 
							
							
							
							* include/bits/stl_algo.h (reverse_copy): Update comment per DR 2074.
	* include/bits/unordered_map.h: Apply DR 2005 resolution.
	* doc/xml/manual/status_cxx2011.xml: Update per DR 2048.
	* include/bits/allocator.h (allocator): Apply DR 2103 resolution.
	* include/ext/array_allocator.h: Likewise.
	* include/ext/bitmap_allocator.h: Likewise.
	* include/ext/malloc_allocator.h: Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/ext/new_allocator.h: Likewise.
	* include/ext/pool_allocator.h: Likewise.
	* include/ext/throw_allocator.h: Likewise.
	* include/ext/alloc_traits.h (__allocator_always_compares_equal): Add
	additional specializations.
	* include/std/functional: Add comment about DR resolution.
	* include/std/future: Likewise.
	* include/std/scoped_allocator: Likewise.
	* include/std/thread: Likewise.
	* testsuite/20_util/allocator/requirements/typedefs.cc: New.
	* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
From-SVN: r193638 
							
						 
						
							2012-11-19 22:28:00 +00:00  
				
					
						
							
							
								 
						
							
								734f50238f 
								
							 
						 
						
							
							
								
								* many: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.  
							
							... 
							
							
							
							From-SVN: r193392 
							
						 
						
							2012-11-10 12:27:22 -05:00  
				
					
						
							
							
								 
						
							
								2fc9b37dd0 
								
							 
						 
						
							
							
								
								Fix PR52822 (stable_partition move-assigns object to itself) by scanning for...  
							
							... 
							
							
							
							Fix PR52822 (stable_partition move-assigns object to itself) by
scanning for the first value that doesn't match the predicate before
starting to rearrange values.
2012-04-03   Jeffrey Yasskin  <jyasskin@google.com>
	PR libstdc++/52822
	* include/bits/stl_algo.h (__find_if_not): Expose in
	C++98 mode.
	(__find_if_not_n): Like __find_if_not, but works on and updates a
	counted range instead of a bounded range.
	(stable_partition): Guarantee !__pred(*__first) in call to
	__stable_partition_adaptive() or __inplace_stable_partition().
	(__stable_partition_adaptive): Use new precondition to avoid
	moving/copying objects onto themselves.  Guarantee new
	precondition to recursive calls.
	(__inplace_stable_partition): Use new precondition to simplify
	base case, remove __last parameter.  Guarantee new precondition to
	recursive calls.
	* testsuite/25_algorithms/stable_partition/moveable.cc (test02):
	Test a sequence that starts with a value matching the predicate.
	* testsuite/25_algorithms/stable_partition/pr52822.cc:
	Test vectors, which have a destructive self-move-assignment.
From-SVN: r186391 
							
						 
						
							2012-04-12 20:59:09 +00:00  
				
					
						
							
							
								 
						
							
								7897a1c029 
								
							 
						 
						
							
							
								
								user.cfg.in: Add macros, directories.  
							
							... 
							
							
							
							2011-12-10  Benjamin Kosnik  <bkoz@redhat.com>
	* doc/doxygen/user.cfg.in: Add macros, directories.
	* include/bits/locale_classes.h: Remove doxygen warnings, fix markup.
	* include/bits/locale_classes.tcc: Same.
	* include/bits/shared_ptr.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_numeric.h: Same.
	* include/debug/safe_base.h: Same.
	* include/parallel/equally_split.h: Same.
	* include/std/bitset: Same.
	* include/std/complex: Same.
	* include/std/fstream: Same.
	* include/std/istream: Same.
	* include/std/ostream: Same.
	* include/tr2/dynamic_bitset: Same.
	* scripts/run_doxygen: Remove munging for names that no longer exist.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Adjust line numbers.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
From-SVN: r182189 
							
						 
						
							2011-12-10 15:33:06 +00:00  
				
					
						
							
							
								 
						
							
								6ba30237b9 
								
							 
						 
						
							
							
								
								re PR libstdc++/50119 ([C++0x] copy_n advances InputIterator one more time than necessary)  
							
							... 
							
							
							
							2011-08-18  Paolo Carlini  <paolo.carlini@oracle.com>
	PR libstdc++/50119
	* include/bits/stl_algo.h (__copy_n(_InputIterator, _Size,
	_OutputIterator, input_iterator_tag)): Fix.
	* testsuite/25_algorithms/copy_n/50119.cc: New.
From-SVN: r177871 
							
						 
						
							2011-08-18 16:32:23 +00:00  
				
					
						
							
							
								 
						
							
								93c66bc68a 
								
							 
						 
						
							
							
								
								user.cfg.in (PDF_HYPERLINKS): To NO.  
							
							... 
							
							
							
							2011-08-06  Benjamin Kosnik  <bkoz@redhat.com>
	* doc/doxygen/user.cfg.in (PDF_HYPERLINKS): To NO.
2011-08-06  Benjamin Kosnik  <bkoz@redhat.com>
	* doc/doxygen/user.cfg.in: Add scoped_allocator.
	* include/debug/safe_sequence.h: Fix doxygen markup.
	* include/debug/safe_unordered_base.h: Same.
	* include/debug/safe_local_iterator.tcc: Same.
	* include/debug/safe_unordered_container.h: Same.
	* include/std/valarray: Same.
	* include/std/iomanip: Same.
	* include/std/streambuf: Same.
	* include/std/bitset: Same.
	* include/std/fstream: Same.
	* include/std/functional: Same.
	* include/std/istream: Same.
	* include/std/ostream: Same.
	* include/std/scoped_allocator: Same.
	* include/std/sstream: Same.
	* include/parallel/multiway_merge.h: Same.
	* include/parallel/base.h: Same.
	* include/parallel/for_each_selectors.h: Same.
	* include/parallel/multiway_mergesort.h: Same.
	* include/parallel/search.h: Same.
	* include/parallel/partial_sum.h: Same.
	* include/parallel/queue.h: Same.
	* include/parallel/sort.h: Same.
	* include/parallel/random_number.h: Same.
	* include/ext/vstring.h: Same.
	* include/ext/algorithm: Same.
	* include/ext/pb_ds/assoc_container.h: Same.
	* include/ext/bitmap_allocator.h: Same.
	* include/ext/stdio_filebuf.h: Same.
	* include/ext/memory: Same.
	* include/ext/functional: Same.
	* include/bits/basic_ios.h: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_algobase.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/gslice.h: Same.
	* include/bits/locale_classes.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/locale_facets.h: Same.
	* include/bits/stl_stack.h: Same.
	* include/bits/stl_heap.h: Same.
	* include/bits/forward_list.h: Same.
	* include/bits/stream_iterator.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_pair.h: Same.
	* include/bits/ios_base.h: Same.
	* include/bits/stl_numeric.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/codecvt.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_uninitialized.h: Same.
	* include/bits/ptr_traits.h: Same.
	* include/bits/slice_array.h: Same.
	* include/bits/stl_iterator_base_funcs.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/stl_iterator.h: Same.
	* include/bits/stl_tempbuf.h: Same.
	* include/bits/regex.h: Same.
	* include/bits/range_access.h: Same.
	* include/bits/random.h: Same.
	* include/bits/alloc_traits.h: Same.
	* include/bits/regex_error.h: Same.
	* include/bits/locale_facets_nonio.h: Same.
	* include/bits/stl_relops.h: Same.
	* include/backward/auto_ptr.h: Same.
	* libsupc++/initializer_list: Same.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Adjust line numbers.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
	Same.
	* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
	Same.
From-SVN: r177542 
							
						 
						
							2011-08-07 07:27:06 +00:00  
				
					
						
							
							
								 
						
							
								848ca96f30 
								
							 
						 
						
							
							
								
								re PR libstdc++/49559 ([C++0x] stable_sort calls self-move-assignment operator)  
							
							... 
							
							
							
							2011-07-11  Paolo Carlini  <paolo.carlini@oracle.com>
	PR libstdc++/49559
	* include/bits/stl_algo.h (__move_merge_backward): Remove.
	(__move_merge_adaptive, __move_merge_adaptive_backward): New.
	(__merge_adaptive): Use the latter two.
	(__rotate_adaptive): Avoid self move-assignment.
	* include/bits/stl_algobase.h (move_backward): Fix comment.
	* testsuite/25_algorithms/stable_sort/49559.cc: New.
	* testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
	* testsuite/25_algorithms/inplace_merge/moveable.cc: Extend.
	* testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
	* testsuite/util/testsuite_rvalref.h (rvalstruct::operator=
	(rvalstruct&&)): Check for self move-assignment.
From-SVN: r176174 
							
						 
						
							2011-07-11 18:38:54 +00:00  
				
					
						
							
							
								 
						
							
								60c5236ed1 
								
							 
						 
						
							
							
								
								[multiple changes]  
							
							... 
							
							
							
							2011-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
	* testsuite/util/testsuite_rvalref.h: Minor tweaks.
2011-03-09  Jonathan Wakely  <redi@gcc.gnu.org>
	    Chris Jefferson  <chris@bubblescope.net>
	    Paolo Carlini  <paolo.carlini@oracle.com>
	* testsuite/util/testsuite_rvalref.h (rvalstruct_compare_by_value):
	New.
	* testsuite/25_algorithms/sort_heap/check_compare_by_value.cc:
	Likewise.
	* testsuite/25_algorithms/partial_sort/check_compare_by_value:
	Likewise.
	* testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
	Likewise.
	* testsuite/25_algorithms/sort/check_compare_by_value: Likewise.
2011-03-09  Chris Jefferson  <chris@bubblescope.net>
	PR libstdc++/48038
	* include/bits/stl_algo.h (__merge_backward): Rename to
	__move_merge_backward and change to always move rather than copy.
	(__move_merge): New function similar to std::merge except values
	are moved instead of copied.
	(__merge_adaptive, __merge_sort_loop): Change from using std::merge
	and __merge_backward to __move_merge and __move_merge_backward.
From-SVN: r170827 
							
						 
						
							2011-03-09 18:30:11 +00:00  
				
					
						
							
							
								 
						
							
								12ffa22844 
								
							 
						 
						
							
							
								
								PR libstdc++/36104 part four  
							
							... 
							
							
							
							2011-01-30  Benjamin Kosnik  <bkoz@redhat.com>
	PR libstdc++/36104 part four
	* include/bits/c++config (_GLIBCXX_STD): Remove.
	(_GLIBCXX_STD_D, _GLIBCXX_PR): Now _GLIBCXX_STD_C.
	(_GLIBCXX_P): Now _GLIBCXX_STD_A.
	(_GLIBCXX_NAMESPACE_DEBUG, _GLIBCXX_NAMESPACE_PARALLEL,
	 _GLIBCXX_NAMESPACE_PROFILE, _GLIBCXX_NAMESPACE_VERSION): Remove.
	(_GLIBCXX_INLINE_DEBUG, _GLIBCXX_INLINE_PARALLEL,
	 _GLIBCXX_INLINE_PROFILE): Remove.
	(_GLIBCXX_BEGIN_NAMESPACE(X)): Remove.
	(_GLIBCXX_END_NAMESPACE): Remove.
	(_GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y)): Remove.
	(_GLIBCXX_END_NESTED_NAMESPACE): Remove.
	(_GLIBCXX_BEGIN_NAMESPACE_ALGO): Add.
	(_GLIBCXX_END_NAMESPACE_ALGO): Add.
	(_GLIBCXX_BEGIN_NAMESPACE_CONTAINER): Add.
	(_GLIBCXX_END_NAMESPACE_CONTAINER): Add.
	(_GLIBCXX_BEGIN_NAMESPACE_VERSION): Add.
	(_GLIBCXX_END_NAMESPACE_VERSION): Add.
	(_GLIBCXX_BEGIN_LDBL_NAMESPACE): To _GLIBCXX_BEGIN_NAMESPACE_LDBL.
	(_GLIBCXX_END_LDBL_NAMESPACE): To _GLIBCXX_END_NAMESPACE_LDBL.
	(_GLIBCXX_VISIBILITY_ATTR): Revert to _GLIBCXX_VISIBILITY.
	* include/*: Use new macros for namespace scope.
	* config/*: Same.
	* src/*: Same.
	* src/Makefile.am (sources): Remove debug_list.cc, add
	compatibility-debug_list-2.cc.
	(parallel_sources): Remove parallel_list.cc, add
	compatibility-parallel_list-2.cc.
	(compatibility-parallel_list-2.[o,lo]): New rule.
	* src/Makefile.in: Regenerate.
	* src/debug_list.cc: Remove.
	* src/parallel_list.cc: Remove.
	* src/compatibility-list-2.cc: New.
	* src/compatibility-debug_list-2.cc: New.
	* src/compatibility-parallel_list-2.cc: New.
	* doc/doxygen/user.cfg.in: Adjust macros.
	* testsuite/20_util/auto_ptr/assign_neg.cc: Adjust line numbers, macros.
	* testsuite/20_util/declval/requirements/1_neg.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
	* testsuite/20_util/forward/c_neg.cc: Same.
	* testsuite/20_util/forward/f_neg.cc: Same.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Same.
	* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Same.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/forward_list/capacity/1.cc: Same.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Same.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Same.
	* testsuite/23_containers/list/capacity/29134.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/vector/bool/capacity/29134.cc: Same.
	* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
	* testsuite/25_algorithms/sort/35588.cc: Same.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Same.
	* testsuite/ext/profile/profiler_algos.cc: Same.
	* testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same.
	* testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same.
	* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same.
	* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Same.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
From-SVN: r169421 
							
						 
						
							2011-01-30 22:39:36 +00:00  
				
					
						
							
							
								 
						
							
								632469d01e 
								
							 
						 
						
							
							
								
								[multiple changes]  
							
							... 
							
							
							
							2011-01-13  Paolo Carlini  <paolo.carlini@oracle.com>
	* testsuite/25_algorithms/is_permutation/check_type.cc: New.
	* testsuite/25_algorithms/is_permutation/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/is_permutation/requirements/
	explicit_instantiation/pod.cc: Likewise.
	* testsuite/25_algorithms/is_permutation/1.cc: Likewise.
2011-01-13  John Lakos  <jlakos@bloomberg.net>
	    Pablo Halpern  <phalpern@halpernwightsoftware.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>
	* include/bits/stl_algo.h (is_permutation): Add, per N3068.
	* include/bits/algorithmfwd.h: Add.
From-SVN: r168773 
							
						 
						
							2011-01-14 01:21:51 +00:00  
				
					
						
							
							
								 
						
							
								f910786b98 
								
							 
						 
						
							
							
								
								*: Use headername alias to associate private includes to public includes.  
							
							... 
							
							
							
							2010-11-18  Benjamin Kosnik  <bkoz@redhat.com>
	* config/*/*: Use headername alias to associate private includes
	to public includes.
	* include/*/*: Same.
	* scripts/run_doxygen: Update for doxygen 1.7.2.
	* doc/doxygen/user.cfg.in: Same.
	* doc/doxygen/TODO: Remove.
	* testsuite/*/std_c++0x_neg.cc: Adjust line number.
From-SVN: r168046 
							
						 
						
							2010-12-19 09:21:16 +00:00  
				
					
						
							
							
								 
						
							
								1ed78d6c3d 
								
							 
						 
						
							
							
								
								re PR libstdc++/45488 (lower_bound doesn't really require the iterator parameters to be default constructible)  
							
							... 
							
							
							
							2010-09-01  Christopher Yeleighton  <giecrilj@stegny.2a.pl>
	    Paolo Carlini  <paolo.carlini@oracle.com>
	PR libstdc++/45488
	* include/bits/stl_algobase.h (lower_bound): Clean-up a tad, move
	two variables inside the main loop.
	* include/bits/stl_algo.h (lower_bound, upper_bound, equal_range):
	Likewise.
From-SVN: r163747 
							
						 
						
							2010-09-01 22:58:15 +00:00  
				
					
						
							
							
								 
						
							
								633e8e192b 
								
							 
						 
						
							
							
								
								stl_algo.h (shuffle): Change signature consistently with random_shuffle (US 121).  
							
							... 
							
							
							
							2010-08-11  Paolo Carlini  <paolo.carlini@oracle.com>
	* include/bits/stl_algo.h (shuffle): Change signature consistently
	with random_shuffle (US 121).
	* include/bits/algorithmfwd.h: Adjust.
	* testsuite/25_algorithms/shuffle/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/shuffle/requirements/
	explicit_instantiation/pod.cc: Likewise.
From-SVN: r163102 
							
						 
						
							2010-08-11 17:10:04 +00:00  
				
					
						
							
							
								 
						
							
								759149fbf3 
								
							 
						 
						
							
							
								
								re PR libstdc++/25306 (fill_n, generate_n assume Size is modifiable)  
							
							... 
							
							
							
							2010-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
	PR libstdc++/25306
	* include/bits/stl_algobase.h (fill_n): Use a properly typed __niter
	initialized to __n.
	* include/bits/stl_algo.h (generate_n): Likewise.
	* testsuite/25_algorithms/fill_n/25306.cc: New.
	* testsuite/25_algorithms/generate_n/25306.cc: Likewise.
From-SVN: r159677 
							
						 
						
							2010-05-21 16:57:17 +00:00  
				
					
						
							
							
								 
						
							
								7c8420560b 
								
							 
						 
						
							
							
								
								stl_algobase.h (lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&, _Compare)): Move...  
							
							... 
							
							
							
							2010-03-23  Paolo Carlini  <paolo.carlini@oracle.com>
	* include/bits/stl_algobase.h (lower_bound(_ForwardIterator,
	_ForwardIterator, const _Tp&, _Compare)): Move...
	* include/bits/stl_algo.h: ... here.
From-SVN: r157668 
							
						 
						
							2010-03-23 14:32:35 +00:00  
				
					
						
							
							
								 
						
							
								afcd05a759 
								
							 
						 
						
							
							
								
								random.tcc: Minor formatting changes.  
							
							... 
							
							
							
							2010-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
	* include/bits/random.tcc: Minor formatting changes.
2010-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
	* include/bits/stl_algo.h (shuffle): Fix typo in signature.
	* include/bits/algorithmfwd.h: Adjust.
	* testsuite/25_algorithms/shuffle/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/shuffle/requirements/
	explicit_instantiation/pod.cc: Likewise.
From-SVN: r157565 
							
						 
						
							2010-03-19 11:10:08 +00:00  
				
					
						
							
							
								 
						
							
								247d807571 
								
							 
						 
						
							
							
								
								stl_algo.h (shuffle): Add, per D3056.  
							
							... 
							
							
							
							2010-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
	* include/bits/stl_algo.h (shuffle): Add, per D3056.
	(random_shuffle): Fix signature in C++0x mode.
	(lower_bound, __lg): Move...
	* include/bits/stl_algobase.h: ... here.
	* include/bits/algorithmfwd.h: Adjust.
	* include/parallel/algorithmfwd.h: Likewise.
	* include/parallel/algo.h: Likewise.
	* include/bits/hashtable_policy.h (__lower_bound): Remove,
	adjust callers.
	* include/tr1/hashtable_policy.h (__lower_bound): Likewise.
	* include/bits/random.tcc (__detail::__transform): Add,
	adjust std::transform callers; don't include <algorithm>.
	* testsuite/25_algorithms/shuffle/1.cc: Add.
	* testsuite/25_algorithms/shuffle/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/shuffle/requirements/
	explicit_instantiation/pod.cc: Likewise.
	* include/bits/random.h: Add comments.
From-SVN: r157564 
							
						 
						
							2010-03-19 10:36:57 +00:00  
				
					
						
							
							
								 
						
							
								e962c1b0f4 
								
							 
						 
						
							
							
								
								array (swap(array<>&, array<>&)): Use member swap.  
							
							... 
							
							
							
							2010-03-13  Paolo Carlini  <paolo.carlini@oracle.com>
	* include/tr1_impl/array (swap(array<>&, array<>&)): Use member swap.
	
	* include/bits/stl_algo.h: Improve comment.
From-SVN: r157421 
							
						 
						
							2010-03-13 12:47:09 +00:00  
				
					
						
							
							
								 
						
							
								488d283713 
								
							 
						 
						
							
							
								
								stl_algo.h (for_each): Implement resolution of DR 1110.  
							
							... 
							
							
							
							2010-02-19  Paolo Carlini  <paolo.carlini@oracle.com>
	* include/bits/stl_algo.h (for_each): Implement resolution of DR 1110.
	* testsuite/25_algorithms/for_each/1.cc: New.
From-SVN: r156900 
							
						 
						
							2010-02-19 17:38:18 +00:00  
				
					
						
							
							
								 
						
							
								d5c5922408 
								
							 
						 
						
							
							
								
								stl_algo.h (__median): Move...  
							
							... 
							
							
							
							2010-02-15  Paolo Carlini  <paolo.carlini@oracle.com>
	* include/bits/stl_algo.h (__median): Move...
	* include/ext/algorithm: ... here, being an SGI extension.
From-SVN: r156776 
							
						 
						
							2010-02-15 16:55:20 +00:00  
				
					
						
							
							
								 
						
							
								2a60a9f652 
								
							 
						 
						
							
							
								
								re PR libstdc++/42460 (man page errors for generated libstdc++ man pages)  
							
							... 
							
							
							
							2010-02-04  Benjamin Kosnik  <bkoz@redhat.com>
	PR libstdc++/42460
	* doc/doxygen/user.cfg.in: Update file list.
	* include/debug/safe_sequence.h: Doxygen markup fixes for '' and "".
	* include/debug/safe_base.h: Same.
	* include/debug/macros.h: Same.
	* include/tr1_impl/regex: Same.
	* include/std/iostream: Same.
	* include/std/streambuf: Same.
	* include/std/bitset: Same.
	* include/std/iosfwd: Same.
	* include/std/limits: Same.
	* include/std/fstream: Same.
	* include/std/istream: Same.
	* include/std/ostream: Same.
	* include/std/sstream: Same.
	* include/parallel/multiway_merge.h: Same.
	* include/parallel/for_each.h: Same.
	* include/parallel/workstealing.h: Same.
	* include/parallel/omp_loop_static.h: Same.
	* include/parallel/omp_loop.h: Same.
	* include/c_std/csignal: Same.
	* include/c_std/cstdlib: Same.
	* include/c_std/cstdio: Same.
	* include/c_std/cstdarg: Same.
	* include/c_std/cctype: Same.
	* include/c_std/cerrno: Same.
	* include/c_std/cmath: Same.
	* include/c_std/ciso646: Same.
	* include/c_std/ctime: Same.
	* include/c_std/clocale: Same.
	* include/c_std/climits: Same.
	* include/c_std/cassert: Same.
	* include/c_std/csetjmp: Same.
	* include/c_std/cwchar: Same.
	* include/c_std/cfloat: Same.
	* include/c_std/cstring: Same.
	* include/c_std/cstddef: Same.
	* include/c_std/cwctype: Same.
	* include/profile/iterator_tracker.h: Same.
	* include/profile/impl/profiler_trace.h: Same.
	* include/ext/vstring.h: Same.
	* include/ext/algorithm: Same.
	* include/ext/pb_ds/detail/pat_trie_/pat_trie_.h.pp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.h.pp: Same.
	* include/ext/pb_ds/detail/type_utils.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same
	* include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
	* include/ext/rc_string_base.h: Same.
	* include/ext/stdio_sync_filebuf.h: Same.
	* include/ext/functional: Same.
	* include/ext/mt_allocator.h: Same.
	* include/bits/basic_ios.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_algobase.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/locale_classes.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/locale_facets.h: Same.
	* include/bits/stl_stack.h: Same.
	* include/bits/stl_iterator_base_types.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/ios_base.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_iterator_base_funcs.h: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/stl_iterator.h: Same.
	* include/bits/stl_tempbuf.h: Same.
	* include/bits/random.tcc: Same.
	* include/bits/stl_function.h: Same.
	* include/bits/cpp_type_traits.h: Same.
	* include/bits/random.h: Same.
	* include/bits/allocator.h: Same.
	* include/bits/locale_facets_nonio.h: Same.
	* include/c_global/csignal: Same.
	* include/c_global/cstdlib: Same.
	* include/c_global/cstdio: Same.
	* include/c_global/cstdarg: Same.
	* include/c_global/cctype: Same.
	* include/c_global/cerrno: Same.
	* include/c_global/cmath: Same.
	* include/c_global/ciso646: Same.
	* include/c_global/ctime: Same.
	* include/c_global/clocale: Same.
	* include/c_global/climits: Same.
	* include/c_global/cassert: Same.
	* include/c_global/csetjmp: Same.
	* include/c_global/cwchar: Same.
	* include/c_global/cfloat: Same.
	* include/c_global/cstring: Same.
	* include/c_global/cstddef: Same.
	* include/c_global/cwctype: Same.
	* include/tr1/hypergeometric.tcc: Same.
	* include/tr1/random.tcc: Same.
	* include/tr1/functional: Same.
	* include/tr1/random.h: Same.
	* include/backward/auto_ptr.h: Same.
	* include/backward/binders.h: Same.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Adjust line numbers.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
	Same.
	* testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
	Same.
From-SVN: r156502 
							
						 
						
							2010-02-04 18:20:34 +00:00