gcc/libstdc++-v3/testsuite/util
François Dumont 55826ab6d1 re PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers)
2012-09-24  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/44436
	* include/bits/stl_tree.h
	(_Rb_tree<>::_M_insert_): Take _Base_ptr rather than
	_Const_Base_ptr.
	(_Rb_tree<>::_M_insert_node): New.
	(_Rb_tree<>::_M_get_insert_unique_pos): New, search code of
	_M_insert_unique method.
	(_Rb_tree<>::_M_insert_unique): Use latter.
	(_Rb_tree<>::_M_emplace_unique): New, likewise.
	(_Rb_tree<>::_M_get_insert_equal_pos): New, search code of
	_M_insert_equal method.
	(_Rb_tree<>::_M_insert_equal): Use latter.
	(_Rb_tree<>::_M_emplace_equal): New, likewise.
	(_Rb_tree<>::_M_get_insert_hint_unique_pos): New, search code of
	_M_insert_unique_ method.
	(_Rb_tree<>::_M_insert_unique_): Use latter.
	(_Rb_tree<>::_M_emplace_hint_unique): New, likewise.
	(_Rb_tree<>::_M_get_insert_hint_equal_pos): New, search code of
	_M_insert_equal_ method.
	(_Rb_tree<>::_M_insert_equal_): Use latter.
	(_Rb_tree<>::_M_emplace_hint_equal): New, likewise.
	(_Rb_tree<>::_M_insert_lower): Remove first _Base_ptr parameter,
	useless as always null.
	* include/bits/stl_map.h: Include <tuple> in C++11.
	(map<>::operator[](const key_type&)): Use
	_Rb_tree<>::_M_emplace_hint_unique in C++11.
	(map<>::operator[](key_type&&)): Likewise.
	(map<>::emplace): New.
	(map<>::emplace_hint): New.
	* include/bits/stl_multimap.h (multimap<>::emplace): New.
	(multimap<>::emplace_hint): New.
	* include/bits/stl_set.h (set<>::emplace): New.
	(set<>::emplace_hint): New.
	* include/bits/stl_multiset.h (multiset<>::emplace): New.
	(multiset<>::emplace_hint): New.
	* include/debug/map.h (std::__debug::map<>::emplace): New.
	(std::__debug::map<>::emplace_hint): New.
	* include/debug/multimap.h (std::__debug::multimap<>::emplace):
	New.
	(std::__debug::multimap<>::emplace_hint): New.
	* include/debug/set.h (std::__debug::set<>::emplace): New.
	(std::__debug::set<>::emplace_hint): New.
	* include/debug/multiset.h (std::__debug::multiset<>::emplace):
	New.
	(std::__debug::multiset<>::emplace_hint): New.
	* include/profile/map.h (std::__profile::map<>::emplace): New.
	(std::__profile::map<>::emplace_hint): New.
	* include/profile/multimap.h (std::__profile::multimap<>::emplace):
	New.
	(std::__profile::multimap<>::emplace_hint): New.
	* include/profile/set.h (std::__profile::set<>::emplace): New.
	(std::__profile::set<>::emplace_hint): New.
	* include/profile/multiset.h (std::__profile::multiset<>::emplace):
	New.
	(std::__profile::multiset<>::emplace_hint): New.
	* testsuite/util/testsuite_container_traits.h: Signal that emplace
	and emplace_hint are available on std::map, std::multimap,
	std::set and std::multiset in C++11.
	* testsuite/23_containers/map/operators/2.cc: New.
	* testsuite/23_containers/map/modifiers/emplace/1.cc: New.
	* testsuite/23_containers/multimap/modifiers/emplace/1.cc: New.
	* testsuite/23_containers/set/modifiers/emplace/1.cc: New.
	* testsuite/23_containers/multiset/modifiers/emplace/1.cc: New.

From-SVN: r191679
2012-09-24 19:53:36 +00:00
..
common_type re PR libstdc++/37144 (A bug in include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp) 2011-05-24 02:38:19 +00:00
debug safe_unordered_base.h, [...]: New, support for unordered sequence safe local iterators. 2011-07-19 19:39:45 +00:00
exception hashtable.h (_Hashtable<>::emplace, [...]): Add. 2011-12-09 20:01:04 +00:00
hash_fn
io
native_type re PR libstdc++/37144 (A bug in include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp) 2011-05-24 02:38:19 +00:00
performance re PR libstdc++/37144 (A bug in include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp) 2011-05-24 02:38:19 +00:00
regression re PR libstdc++/37144 (A bug in include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp) 2011-05-24 02:38:19 +00:00
statistic
thread
replacement_memory_operators.h remove_freed.cc: Fix test01 return type to void. 2010-08-31 17:24:39 +00:00
testsuite_abi.cc testsuite_abi.cc (check_version): Add GLIBCXX_3.4.18. 2012-08-30 15:58:52 +00:00
testsuite_abi.h extract_symvers: Add support for tracking TLS symbols. 2010-10-01 17:10:38 +00:00
testsuite_abi_check.cc
testsuite_allocator.cc
testsuite_allocator.h re PR c++/50500 ([C++0x] [DR 1082] move constructor should cause copy constructor to be deleted, but still declared) 2011-10-18 13:39:15 -04:00
testsuite_api.h re PR libstdc++/32618 (std::vector calls uneccessary constructors instead of inplace construction of first object) 2010-06-18 18:07:45 +00:00
testsuite_character.cc
testsuite_character.h re PR libstdc++/45628 (std::fstream::tellg invalidates I/O buffer) 2010-09-22 19:40:43 +00:00
testsuite_common_types.h re PR libstdc++/52702 ([C++11] std::is_trivially_destructible is missing) 2012-04-15 23:35:27 +00:00
testsuite_container_traits.h re PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers) 2012-09-24 19:53:36 +00:00
testsuite_containers.h re PR libstdc++/37144 (A bug in include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp) 2011-05-24 02:38:19 +00:00
testsuite_counter_type.h 2012-08-10 François Dumont <fdumont@gcc.gnu.org> 2012-08-13 19:43:19 +00:00
testsuite_error.h revert: testsuite_error.h: Add empty default constructor to __gnu_test::test_category and... 2011-09-25 20:58:46 +00:00
testsuite_greedy_ops.h stl_iterator.h: Add move_iterator operators overloads to make it robust to template abuses. 2010-12-08 01:23:41 +00:00
testsuite_hooks.cc testsuite_iterators.h: Don't include <cstddef>, don't use NULL, use std::size_t and std::ptrdiff_t. 2010-06-03 23:11:46 +00:00
testsuite_hooks.h [multiple changes] 2010-06-26 20:11:20 +00:00
testsuite_io.h re PR c++/24163 (dependent Base class scope examined during unqualified name lookup in template) 2011-05-20 14:01:22 -04:00
testsuite_iterators.h testsuite_iterators.h: Guard move.h includes. 2010-12-16 22:02:38 +00:00
testsuite_performance.h c++config (std::size_t, [...]): Provide typedefs. 2010-06-03 19:15:56 +00:00
testsuite_random.h invoke.cc: Avoid -Wall warnings. 2011-06-22 21:46:17 +00:00
testsuite_rng.h
testsuite_rvalref.h re PR c++/50500 ([C++0x] [DR 1082] move constructor should cause copy constructor to be deleted, but still declared) 2011-10-18 13:39:15 -04:00
testsuite_shared.cc
testsuite_tr1.h type_traits (is_nothrow_destructible): Implement. 2012-04-23 21:34:06 +00:00