move.h (struct __move_if_noexcept_cond): Add.
authorPaolo Carlini <paolo.carlini@oracle.com>
Tue, 7 Jun 2011 16:11:36 +0000 (16:11 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Tue, 7 Jun 2011 16:11:36 +0000 (16:11 +0000)
commit74a2a1b4f60cb499962d67c43e7d0b3b783b1373
tree44f8b32ca92b13801daecdae7376732bd875fb7c
parent06bc3ec79056f8c53d4e59f45afe78a547c23546
move.h (struct __move_if_noexcept_cond): Add.

2011-06-07  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/move.h (struct __move_if_noexcept_cond): Add.
(move_if_noexcept): Use the latter.
* include/bits/stl_iterator.h (__make_move_if_noexcept_iterator,
_GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR): Add.
* include/bits/stl_uninitialized.h
(__uninitialized_move_if_noexcept_a): Add.
* include/bits/vector.tcc (vector<>::reserve): Use
_GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR.
(vector<>::_M_insert_aux, _M_fill_insert, _M_default_append,
_M_range_insert): Use __uninitialized_move_if_noexcept_a.
* testsuite/23_containers/vector/modifiers/moveable2.cc: New.
* testsuite/23_containers/vector/capacity/resize/moveable2.cc:
Likewise.
* testsuite/23_containers/vector/capacity/reserve/moveable2.cc:
Likewise.

From-SVN: r174756
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/move.h
libstdc++-v3/include/bits/stl_iterator.h
libstdc++-v3/include/bits/stl_uninitialized.h
libstdc++-v3/include/bits/vector.tcc
libstdc++-v3/testsuite/23_containers/vector/capacity/reserve/moveable2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/vector/capacity/resize/moveable2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/vector/modifiers/moveable2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/util/testsuite_rvalref.h