gcc/libstdc++-v3/include/profile
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
..
impl PR libstdc++/52317 (cont) 2012-02-21 21:30:26 +00:00
base.h PR libstdc++/52317 (cont) 2012-02-21 21:30:26 +00:00
bitset bitset (operator[](size_t) const): Declare constexpr. 2011-11-19 11:50:44 +00:00
deque hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Use std::move on the allocator, use noexcept. 2011-06-01 14:16:19 +00:00
forward_list hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Use std::move on the allocator, use noexcept. 2011-06-01 14:16:19 +00:00
iterator_tracker.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
list hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Use std::move on the allocator, use noexcept. 2011-06-01 14:16:19 +00:00
map PR libstdc++/52317 (cont) 2012-02-21 21:30:26 +00:00
map.h re PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers) 2012-09-24 19:53:36 +00:00
multimap.h re PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers) 2012-09-24 19:53:36 +00:00
multiset.h re PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers) 2012-09-24 19:53:36 +00:00
set PR libstdc++/52317 (cont) 2012-02-21 21:30:26 +00:00
set.h re PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers) 2012-09-24 19:53:36 +00:00
unordered_map re PR libstdc++/53657 ([C++11] pair(pair&&) move constructor is non-trivial) 2012-07-13 08:59:58 +00:00
unordered_set PR libstdc++/52317 (cont) 2012-02-21 21:30:26 +00:00
vector PR libstdc++/52317 (cont) 2012-02-21 21:30:26 +00:00