gcc/libstdc++-v3
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
..
config re PR libstdc++/54612 (Many failures in ext/random testsuite) 2012-09-18 14:02:20 +00:00
doc re PR libstdc++/28811 (--with-pic vs static libraries and libstdc++) 2012-09-20 02:10:22 +00:00
include re PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers) 2012-09-24 19:53:36 +00:00
libsupc++ re PR libstdc++/28811 (--with-pic vs static libraries and libstdc++) 2012-09-20 02:10:22 +00:00
po re PR libstdc++/28811 (--with-pic vs static libraries and libstdc++) 2012-09-20 02:10:22 +00:00
python re PR libstdc++/28811 (--with-pic vs static libraries and libstdc++) 2012-09-20 02:10:22 +00:00
scripts testsuite_flags.in (cxxflags): Remove -ftrack-macro-expansion=0. 2012-05-03 20:23:42 +00:00
src re PR libstdc++/28811 (--with-pic vs static libraries and libstdc++) 2012-09-20 02:10:22 +00:00
testsuite re PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers) 2012-09-24 19:53:36 +00:00
acinclude.m4 Clear hardware capabilities on libstdc++.so with Sun as 2012-09-12 12:38:15 +00:00
aclocal.m4 re PR libstdc++/28811 (--with-pic vs static libraries and libstdc++) 2012-09-20 02:10:22 +00:00
ChangeLog re PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers) 2012-09-24 19:53:36 +00:00
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011 Roll ChangeLog file, move 2012 entries in the new ChangeLog. 2012-01-05 20:49:15 +00:00
config.h.in re PR libstdc++/43852 (Embedded systems friendly libstdc++) 2012-09-10 00:08:48 +01:00
configure re PR libstdc++/28811 (--with-pic vs static libraries and libstdc++) 2012-09-20 02:10:22 +00:00
configure.ac re PR libstdc++/28811 (--with-pic vs static libraries and libstdc++) 2012-09-20 02:10:22 +00:00
configure.host configure.ac: Substitute CPU_OPT_EXT_RANDOM. 2012-09-17 13:02:39 +00:00
crossconfig.m4 crossconfig.m4: Since we know that all TPF builds are cross- builds and cannot run... 2012-05-02 15:34:31 -04:00
fragment.am Clear hardware capabilities on libstdc++.so with Sun as 2012-09-12 12:38:15 +00:00
linkage.m4
Makefile.am re PR libstdc++/28811 (--with-pic vs static libraries and libstdc++) 2012-09-20 02:10:22 +00:00
Makefile.in re PR libstdc++/28811 (--with-pic vs static libraries and libstdc++) 2012-09-20 02:10:22 +00:00
README

file: libstdc++-v3/README

New users may wish to point their web browsers to the file
index.html in the 'doc/html' subdirectory.  It contains brief
building instructions and notes on how to configure the library in
interesting ways.