gcc/libstdc++-v3/include/debug
Jonathan Wakely cc7f3d0eee C++11 allocator support for std::list.
PR libstdc++/55409
	* include/bits/list.tcc (_List_base::_M_clear()): Use allocator traits.
	(list::list(const list&)): Use allocator propagation trait. Use
	_M_assign_dispatch to copy elements.
	* include/bits/stl_list.h (_List_node): Use __aligned_membuf in C++11.
	(_List_node::_M_valptr()): Add accessor for stored value.
	(_List_iterator, _List_const_iterator, _List_base): Use _M_valptr().
	(_List_base, list): Use allocator traits.
	(_List_base::_M_get_Tp_allocator, _List_base::get_allocator): Remove.
	(_List_base::_M_move_nodes): New function.
	(_List_base(_List_base&&)): Use _M_move_nodes.
	(_List_base(_List_base&&, _Node_alloc_type&&)): New constructor.
	(list::_M_create_node, list::_M_erase, list::max_size): Use allocator
	traits.
	(list(size_type)): Add allocator parameter.
	(list(const list&)): Use allocator propagation trait.
	(list(const list&, const allocator_type&)): New constructor.
	(list(list&&, const allocator_type&)): Likewise.
	(list::operator=(list&&), list::swap(list&)): Use allocator
	propagation traits.
	(list::_M_move_assign): New functions.
	* include/debug/list: Add allocator-extended constructors.
	* include/profile/list: Likewise.
	* python/libstdcxx/v6/printers.py (get_value_from_list_node): New
	function to get value from _List_node.
	(StdListPrinter): Use get_value_from_list_node.
	* testsuite/23_containers/list/allocator/copy.cc: New.
	* testsuite/23_containers/list/allocator/copy_assign.cc: New.
	* testsuite/23_containers/list/allocator/minimal.cc: New.
	* testsuite/23_containers/list/allocator/move.cc: New.
	* testsuite/23_containers/list/allocator/move_assign.cc: New.
	* testsuite/23_containers/list/allocator/noexcept.cc: New.
	* testsuite/23_containers/list/allocator/swap.cc: New.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Adjust dg-prune-output line number.
	* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
	Likewise.

From-SVN: r224580
2015-06-17 21:36:42 +01:00
..
array Add __is_nothrow_swappable and take it into use. 2015-06-05 15:44:26 +01:00
assertions.h 2015-05-29 François Dumont fdumont@gcc.gnu.org> 2015-05-29 21:29:07 +00:00
bitset
debug.h 2015-05-29 François Dumont fdumont@gcc.gnu.org> 2015-05-29 21:29:07 +00:00
deque
formatter.h list.tcc (list::operator=(const list&), [...]): Use __addressof instead of operator&. 2015-06-16 22:04:53 +01:00
forward_list forward_list.h (_Fwd_list_base(const _Node_alloc_type&)): Change parameter to rvalue-reference. 2015-06-17 18:45:45 +01:00
functions.h list.tcc (list::operator=(const list&), [...]): Use __addressof instead of operator&. 2015-06-16 22:04:53 +01:00
list C++11 allocator support for std::list. 2015-06-17 21:36:42 +01:00
macros.h
map
map.h stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to outer scope and rename to ... 2015-06-07 20:45:57 +00:00
multimap.h stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to outer scope and rename to ... 2015-06-07 20:45:57 +00:00
multiset.h stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to outer scope and rename to ... 2015-06-07 20:45:57 +00:00
safe_base.h 2015-05-29 François Dumont fdumont@gcc.gnu.org> 2015-05-29 21:29:07 +00:00
safe_container.h
safe_iterator.h 2015-05-29 François Dumont fdumont@gcc.gnu.org> 2015-05-29 21:29:07 +00:00
safe_iterator.tcc
safe_local_iterator.h 2015-05-29 François Dumont fdumont@gcc.gnu.org> 2015-05-29 21:29:07 +00:00
safe_local_iterator.tcc
safe_sequence.h 2015-05-29 François Dumont fdumont@gcc.gnu.org> 2015-05-29 21:29:07 +00:00
safe_sequence.tcc
safe_unordered_base.h
safe_unordered_container.h 2015-05-29 François Dumont fdumont@gcc.gnu.org> 2015-05-29 21:29:07 +00:00
safe_unordered_container.tcc
set
set.h stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to outer scope and rename to ... 2015-06-07 20:45:57 +00:00
string
unordered_map
unordered_set
vector 2015-05-29 François Dumont fdumont@gcc.gnu.org> 2015-05-29 21:29:07 +00:00