Benjamin Kosnik
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
Benjamin Kosnik
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
Paolo Carlini
efb7b45650
forward_list.h (forward_list<>::erase_after): Return an iterator.
...
2010-10-17 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/forward_list.h (forward_list<>::erase_after): Return
an iterator.
(_M_erase_after): Return _Fwd_list_node_base*.
* include/bits/forward_list.tcc: Likewise.
* include/debug/forward_list: Likewise.
* testsuite/23_containers/forward_list/modifiers/3.cc: Update
and extend.
* testsuite/util/exception/safety.h (erase_base<forward_list<>>):
Adjust.
* testsuite/23_containers/forward_list/requirements/dr438/
assign_neg.cc: Adjust dg-error line number.
* testsuite/23_containers/forward_list/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_2_neg.cc: Likewise.
From-SVN: r165590
2010-10-17 17:34:38 +00:00
Paolo Carlini
b8b4301eec
[multiple changes]
...
2010-09-29 Paolo Carlini <paolo.carlini@oracle.com>
* include/Makefile.am: Add debug/forward_list.
* include/Makefile.in: Regenerate.
* testsuite/util/testsuite_container_traits.h (traits_base):
Add has_erase_after and hash_insert_after typedefs.
(traits<forward_list<>>): Adjust.
* testsuite/util/exception/safety.h (erase_point, erase_range,
insert_point): Deal correctly with forward_list.
* include/Makefile.am: Add.
2010-09-29 François Dumont <francois.cppdevs@free.fr>
* src/debug.cc: Add forward_list specific debug messages.
* include/debug/forward_list: New.
* include/debug/formatter.h: Add debug message ids and before begin
iterator state.
* include/debug/macros.h (__glibcxx_check_insert_after,
__glibcxx_check_insert_range_after, __glibcxx_check_erase_after,
__glibcxx_check_erase_range_after): Add.
* include/debug/safe_iterator.h (_BeforeBeginHelper): Add.
(_Safe_iterator<>::_M_before_dereferenceable,
_Safe_iterator<>::_M_is_before_begin): Add.
(_Safe_iterator<>::_M_dereferenceable, _Safe_iterator<>::_M_is_end,
_Safe_iterator<>::_M_incrementable): Adjust.
* include/std/forward_list: Include debug/forward when _GLIBCXX_DEBUG
defined.
* include/bits/forward_list.h, forward_list.tcc: Put in std::__norm
when debug mode is active.
* testsuite/23_containers/forward_list/capacity/1.cc: Fix to compile
even in debug mode.
* testsuite/23_containers/forward_list/debug/erase_after1.cc,
erase_after2.cc, erase_after3.cc, erase_after4.cc, erase_after5.cc,
insert_after1.cc,erase_after6.cc, erase_after7.cc, insert_after2.cc,
erase_after8.cc, insert_after3.cc, erase_after9.cc: New.
From-SVN: r164717
2010-09-29 11:56:34 +00:00
Paolo Carlini
ac42c96090
forward_list.h (forward_list<>::resize(size_type, value_type)): Fix signature, per LWG 1340.
...
2010-09-13 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/forward_list.h (forward_list<>::resize(size_type,
value_type)): Fix signature, per LWG 1340.
* include/bits/forward_list.tcc: Adjust definition.
From-SVN: r164249
2010-09-13 16:30:47 +00:00
Paolo Carlini
afb767b41f
hashtable.h (_Hashtable<>::erase(const key_type&)): Use std::__addressof.
...
2010-08-11 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/hashtable.h (_Hashtable<>::erase(const key_type&)):
Use std::__addressof.
* include/bits/forward_list.tcc (forward_list<>::remove): Deal
correctly with &__tmp->_M_value == &__val.
* testsuite/23_containers/forward_list/operations/remove_freed.cc:
New.
From-SVN: r163178
2010-08-11 23:59:35 +00:00
Paolo Carlini
dc2cf706b8
re PR libstdc++/32618 (std::vector calls uneccessary constructors instead of inplace construction of first object)
...
2010-06-18 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/32618
* include/bits/stl_list.h (vector<>::_M_default_initialize,
_M_default_append): Declare.
(list<>::list(size_type), resize(size_type)): Add in C++0x mode,
use the latter.
* include/bits/list.tcc (list<>::resize, _M_default_append): Define.
* include/bits/stl_vector.h (vector<>::_M_default_initialize,
_M_default_append): Declare.
(vector<>::vector(size_type), resize(size_type)): Add in C++0x mode,
use the latter.
* include/bits/vector.tcc (vector<>::_M_default_append): Define.
* include/bits/stl_deque.h (deque<>::_M_default_initialize,
_M_default_append): Declare.
(deque<>::deque(size_type), resize(size_type)): Add in C++0x mode,
use the latter.
* include/bits/deque.tcc (deque<>::_M_default_append): Define.
* include/debug/vector: Update.
* include/debug/deque: Likewise.
* include/debug/list: Likewise.
* include/profile/vector: Likewise.
* include/profile/deque: Likewise.
* include/profile/list: Likewise.
* include/bits/forward_list.h (_M_default_initialize,
_M_default_insert_after): Declare.
(forward_list<>::forward_list(size_type), resize(size_type)): Fix,
use the latter.
* include/bits/forward_list.tcc (forward_list<>::_M_default_append,
_M_default_insert_after): Define.
* testsuite/util/testsuite_api.h (NonCopyConstructible): Add.
* testsuite/23_containers/forward_list/modifiers/6.cc: Move to...
* testsuite/23_containers/forward_list/capacity/resize_size.cc:
... here.
* testsuite/23_containers/forward_list/cons/10.cc: Move to...
* testsuite/23_containers/forward_list/cons/cons_size.cc: ... here.
* testsuite/23_containers/vector/resize/1.cc: Move to...
* testsuite/23_containers/vector/capacity/resize/1.cc: ... here.
* testsuite/23_containers/vector/resize/moveable.cc: Move to...
* testsuite/23_containers/vector/resize/capacity/moveable.cc: ... here.
* testsuite/23_containers/vector/cons/cons_size.cc: New.
* testsuite/23_containers/vector/capacity/resize/resize_size.cc:
Likewise.
* testsuite/23_containers/deque/cons/cons_size.cc: Likewise.
* testsuite/23_containers/deque/capacity/resize_size.cc: Likewise.
* testsuite/23_containers/list/cons/cons_size.cc: Likewise.
* testsuite/23_containers/list/capacity/resize_size.cc: Likewise.
* testsuite/23_containers/vector/capacity/resize/moveable.cc: Adjust.
* testsuite/23_containers/deque/capacity/moveable.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
assign_neg.cc: Adjust dg-error line numbers.
* testsuite/23_containers/forward_list/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
assign_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
assign_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Likewise.
From-SVN: r161009
2010-06-18 18:07:45 +00:00
Paolo Carlini
1692089663
forward_list.tcc (_Fwd_list_node_base:: _M_transfer_after): Return _Fwd_list_node_base*.
...
2010-03-15 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/forward_list.tcc (_Fwd_list_node_base::
_M_transfer_after): Return _Fwd_list_node_base*.
(forward_list<>::_M_splice_after): Add.
(forward_list<>::insert_after(const_iterator, size_type, const _Tp&),
insert_after(const_iterator, _InputIterator, _InputIterator),
insert_after(const_iterator, initializer_list<>)): Use the above,
implement DR 1278 ([Ready] in Pittsburgh).
* include/bits/forward_list.h (insert_after(const_iterator,
size_type, const _Tp&), insert_after(const_iterator, _InputIterator,
_InputIterator), insert_after(const_iterator, initializer_list<>)):
Only declare.
* testsuite/23_containers/forward_list/modifiers/2.cc: Adjust.
* testsuite/23_containers/forward_list/requirements/dr438/
assign_neg.cc: Adjust dg-error line number.
* testsuite/23_containers/forward_list/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_2_neg.cc: Likewise.
From-SVN: r157471
2010-03-16 01:32:53 +00:00
Paolo Carlini
97ffcedf40
revert: forward_list.h: Support non-standard pointer types
...
2010-03-15 Paolo Carlini <paolo.carlini@oracle.com>
Revert:
2008-11-11 Bob Walters <bob.s.walters@gmail.com>
* include/bits/forward_list.h: Support non-standard pointer types
(_Fwd_list_node_base): Add _Alloc template parameter.
(_Fwd_list_node<>): Likewise.
(_Fwd_list_iterator<>): Likewise.
(_Fwd_list_const_iterator<>): Likewise.
(_Fwd_list_node_base::_M_next, _M_transfer_after, _M_reverse_after):
Use _Alloc<_Tp>::pointer.
(_Fwd_list_iterator<>::_M_node): Use _Node_base::_Pointer.
(_Fwd_list_base<>::_M_get_node, _M_create_node, _M_create_node,
_M_insert_after, _M_put_node, _M_erase_after): Likewise.
(_Fwd_list_const_iterator<>::_M_node): use _Node_base::_Const_pointer.
(forward_list<>): Use __static_pointer_cast in place of static_cast,
and __const_pointer_cast in place of const_cast.
* include/bits/forward_list.tcc
(_Fwd_list_node<>::_M_sort_after): Using _Pointer typedefs in place
of standard pointers, __static_pointer_cast in place of static_cast.
(_Fwd_list_base<>::_Fwd_list_base, _M_insert_after, _M_erase_after):
Likewise.
(forward_list<>::_M_initialize_dispatch, _M_fill_initialize,
splice_after, remove, remove_if, merge): Likewise.
* testsuite/23_containers/forward_list/ext_pointer/modifiers/1.cc: New.
* testsuite/23_containers/forward_list/ext_pointer/modifiers/2.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/modifiers/3.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/modifiers/4.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/modifiers/5.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/operations/1.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/operations/2.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/operations/3.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/operations/4.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/operations/5.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/operations/6.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/operations/7.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/requirements/1.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/23_containers/forward_list/ext_pointer/requirements/
explicit_instantiation/3.cc: Likewise.
* testsuite/23_containers/forward_list/ext_pointer/1.cc: Likewise.
From-SVN: r157462
2010-03-15 17:02:16 +00:00
Paolo Carlini
1e3ca17d52
forward_list.h (forward_list<>::resize(size_type), [...]): Only declare.
...
2010-02-01 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/forward_list.h (forward_list<>::resize(size_type),
forward_list(size_type)): Only declare.
* include/bits/forward_list.tcc (forward_list<>::resize(size_type),
forward_list(size_type)): Define, don't assume CopyConstructible.
* testsuite/23_containers/forward_list/cons/10.cc: New.
* testsuite/23_containers/forward_list/modifiers/6.cc: Likewis.
* testsuite/23_containers/forward_list/requirements/dr438/
assign_neg.cc: Adjust dg-error line numbers.
* testsuite/23_containers/forward_list/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_2_neg.cc: Likewise.
* include/bits/forward_list.h: Use _M_get_Node_allocator throughout.
From-SVN: r156426
2010-02-01 13:10:12 +00:00
Paolo Carlini
33913cfa99
forward_list.h (forward_list<>::erase_after): Change signature per N2988, return void; simplify.
...
2009-11-13 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/forward_list.h (forward_list<>::erase_after):
Change signature per N2988, return void; simplify.
(_Fwd_list_base<>::_M_erase_after): Likewise return void.
(forward_list<>::~forward_list): Do not call _M_erase_after
unnecessarily, the base class destructor already does it.
(forward_list<>::splice_after(const_iterator position,
forward_list&&, const_iterator i): Check position != i and
position != ++i.
* include/bits/forward_list.tcc (_Fwd_list_base<>::
_M_erase_after(typename _Node_base::_Pointer): Simplify.
(_Fwd_list_base<>::_M_erase_after(typename _Node_base::_Pointer,
typename _Node_base::_Pointer): Fix (remove the correct range
of element) and simplify (update __pos->_M_next at the end).
* testsuite/23_containers/forward_list/modifiers/3.cc: Adjust
and extend.
* testsuite/23_containers/forward_list/ext_pointer/
modifiers/3.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
assign_neg.cc: Tweak dg-error line numbers.
* testsuite/23_containers/forward_list/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_2_neg.cc: Likewise.
From-SVN: r154174
2009-11-13 22:41:49 +00:00
Paolo Carlini
fc52f99da8
re PR libstdc++/41316 ([C++0x] forward_list::sort violates strict aliasing rules)
...
2009-09-11 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/41316
* include/bits/forward_list.h (_Fwd_list_node_base<>::_M_sort_after):
Remove.
(forward_list<>::sort(_Comp)): Only declare.
(forward_list<>::sort()): Forward to the latter.
* include/bits/forward_list.tcc (_Fwd_list_node_base<>::_M_sort_after):
Remove definition.
(forward_list<>::sort(_Comp)): Define.
* testsuite/23_containers/forward_list/requirements/dr438/
assign_neg.cc: Adjust dg-error line number.
* testsuite/23_containers/forward_list/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_2_neg.cc: Likewise.
From-SVN: r151635
2009-09-11 13:47:36 +00:00
Jakub Jelinek
748086b7b2
Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
...
From-SVN: r145841
2009-04-09 17:00:19 +02:00
Paolo Carlini
4ba8a4cb63
forward_list.h (_Fwd_list_node_base<>:: _M_transfer_after, [...]): Move out of line...
...
2009-03-25 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/forward_list.h (_Fwd_list_node_base<>::
_M_transfer_after, _M_reverse_after): Move out of line...
* include/bits/forward_list.tcc: ... here.
(forward_list<>::reverse): Move inline...
* include/bits/forward_list.h: ... here; minor cosmetic changes.
From-SVN: r145069
2009-03-25 16:41:27 +00:00
Bob Walters
1b32e4e506
forward_list.h: Support non-standard pointer types
...
2008-11-11 Bob Walters <bob.s.walters@gmail.com>
* include/bits/forward_list.h: Support non-standard pointer types
(_Fwd_list_node_base): Add _Alloc template parameter.
(_Fwd_list_node<>): Likewise.
(_Fwd_list_iterator<>): Likewise.
(_Fwd_list_const_iterator<>): Likewise.
(_Fwd_list_node_base::_M_next, _M_transfer_after, _M_reverse_after):
Use _Alloc<_Tp>::pointer.
(_Fwd_list_iterator<>::_M_node): Use _Node_base::_Pointer.
(_Fwd_list_base<>::_M_get_node, _M_create_node, _M_create_node,
_M_insert_after, _M_put_node, _M_erase_after): Likewise.
(_Fwd_list_const_iterator<>::_M_node): use _Node_base::_Const_pointer.
(forward_list<>): Use __static_pointer_cast in place of static_cast,
and __const_pointer_cast in place of const_cast.
* include/bits/forward_list.tcc
(_Fwd_list_node<>::_M_sort_after): Using _Pointer typedefs in place
of standard pointers, __static_pointer_cast in place of static_cast.
(_Fwd_list_base<>::_Fwd_list_base, _M_insert_after, _M_erase_after):
Likewise.
(forward_list<>::_M_initialize_dispatch, _M_fill_initialize,
splice_after, remove, remove_if, merge): Likewise.
* testsuite/23_containers/forward_list/ext_pointer/modifiers/1.cc: New.
* testsuite/23_containers/forward_list/ext_pointer/modifiers/2.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/modifiers/3.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/modifiers/4.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/modifiers/5.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/operations/1.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/operations/2.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/operations/3.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/operations/4.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/operations/5.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/operations/6.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/operations/7.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/requirements/1.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/23_containers/forward_list/ext_pointer/requirements/
explicit_instantiation/3.cc: Likewise.
* testsuite/23_containers/forward_list/ext_pointer/1.cc: Likewise.
From-SVN: r141765
2008-11-11 12:16:57 +00:00
Paolo Carlini
27caad2e1e
forward_list.tcc (forward_list<>:: _M_initialize_dispatch(_InputIterator, _InputIterator, __false_type)): Simplify.
...
2008-10-17 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/forward_list.tcc (forward_list<>::
_M_initialize_dispatch(_InputIterator, _InputIterator, __false_type)):
Simplify.
From-SVN: r141192
2008-10-17 09:08:02 +00:00
Edward Smith-Rowland
e73d6fe828
forward_list.h: Factor list construction to dispatch routines.
...
2008-10-16 Edward Smith-Rowland <3dw4rd@verizon.net>
* include/bits/forward_list.h: Factor list construction to dispatch
routines.
* include/bits/forward_list.tcc: Likewise.
* testsuite/23_containers/forward_list/modifiers/2.cc:
From-SVN: r141189
2008-10-17 08:08:03 +00:00
Paolo Carlini
919e5c5edf
forward_list.tcc (operator==): Use auto.
...
2008-10-16 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/forward_list.tcc (operator==): Use auto.
From-SVN: r141173
2008-10-16 14:04:28 +00:00
Paolo Carlini
2a7ee2f989
forward_list.h (_Fwd_list_base<>::_M_insert_after): Move out of line, tweak to return _Fwd_list_node_base*.
...
2008-10-16 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/forward_list.h (_Fwd_list_base<>::_M_insert_after):
Move out of line, tweak to return _Fwd_list_node_base*.
(forward_list<>::insert_after(const_iterator, const _Tp&),
forward_list<>::insert_after(const_iterator, _Tp&&)): Use it.
* include/bits/forward_list.tcc (_Fwd_list_base<>::_M_insert_after):
Define.
* include/bits/forward_list.h (forward_list<>): Consistently qualify
calls of base class functions with this->.
* include/bits/forward_list.tcc (forward_list<>): Likewise.
* include/bits/forward_list.h: Move some functions out of line...
* include/bits/forward_list.tcc: ... here.
* include/bits/forward_list.h (forward_list<>::resize(size_type)): Fix.
From-SVN: r141168
2008-10-16 10:23:00 +00:00
Paolo Carlini
6bb7603486
forward_list.h: Remove pointless const qualifiers in const_casts.
...
2008-10-15 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/forward_list.h: Remove pointless const qualifiers in
const_casts.
* include/bits/forward_list.tcc: Likewise.
* include/bits/forward_list.h (forward_list<>::pointer,
const_pointer, reference, const_reference): Fix, use _Tp_alloc_type.
* testsuite/23_containers/forward_list/requirements/
explicit_instantiation/1.cc: New.
* testsuite/23_containers/forward_list/requirements/
explicit_instantiation/1.cc: Likewise.
From-SVN: r141153
2008-10-15 23:37:54 +00:00
Edward Smith-Rowland
3a63c9cdfc
forward_list: New.
...
2008-10-15 Edward Smith-Rowland <3dw4rd@verizon.net>
* include/std/forward_list: New.
* include/bits/forward_list.h: Likewise.
* include/bits/forward_list.tcc: Likewise.
* include/precompiled/stdc++.h: Modified to include forward_list.
* include/Makefile.am: Add forward_list, forward_list.h, and
forward_list.tcc.
* include/Makefile.in: Regenerate.
* testsuite/23_containers/forward_list/modifiers/1.cc: New.
* testsuite/23_containers/forward_list/modifiers/2.cc: Likewise.
* testsuite/23_containers/forward_list/modifiers/3.cc: Likewise.
* testsuite/23_containers/forward_list/modifiers/4.cc: Likewise.
* testsuite/23_containers/forward_list/modifiers/5.cc: Likewise.
* testsuite/23_containers/forward_list/cons/1.cc: Likewise.
* testsuite/23_containers/forward_list/cons/2.cc: Likewise.
* testsuite/23_containers/forward_list/cons/3.cc: Likewise.
* testsuite/23_containers/forward_list/cons/4.cc: Likewise.
* testsuite/23_containers/forward_list/cons/5.cc: Likewise.
* testsuite/23_containers/forward_list/cons/6.cc: Likewise.
* testsuite/23_containers/forward_list/cons/7.cc: Likewise.
* testsuite/23_containers/forward_list/cons/8.cc: Likewise.
* testsuite/23_containers/forward_list/cons/9.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/1.cc: Likewise.
* testsuite/23_containers/forward_list/operations/1.cc: Likewise.
* testsuite/23_containers/forward_list/operations/2.cc: Likewise.
* testsuite/23_containers/forward_list/operations/3.cc: Likewise.
* testsuite/23_containers/forward_list/operations/4.cc: Likewise.
* testsuite/23_containers/forward_list/operations/5.cc: Likewise.
* testsuite/23_containers/forward_list/operations/6.cc: Likewise.
* testsuite/23_containers/forward_list/operations/7.cc: Likewise.
* testsuite/23_containers/forward_list/capacity/1.cc: Likewise.
* testsuite/23_containers/forward_list/comparable.cc: Likewise.
* testsuite/23_containers/forward_list/moveable.cc: Likewise.
* testsuite/23_containers/headers/forward_list/synopsis.cc: Likewise.
* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Update.
* testsuite/17_intro/headers/c++200x/all: Likewise.
From-SVN: r141146
2008-10-15 16:48:13 +00:00