summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/include/debug/vector
diff options
context:
space:
mode:
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2008-06-13 12:03:13 +0000
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2008-06-13 12:03:13 +0000
commit31efd5aa9c0af82707046cfc6e8237ff5672ac38 (patch)
tree493ca684950ee53a5812faa7bc131c613ff0d358 /libstdc++-v3/include/debug/vector
parent77b4865cd75fec6f590d93b3ae051aefc57dafb6 (diff)
downloadppe42-gcc-31efd5aa9c0af82707046cfc6e8237ff5672ac38.tar.gz
ppe42-gcc-31efd5aa9c0af82707046cfc6e8237ff5672ac38.zip
2008-06-13 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/stl_deque.h (deque<>::push_back(_Args&&...), deque<>::push_front(_Args&&...)): Remove. (deque<>::push_back(value_type&&), deque<>::push_front(value_type&&)): Add. (deque<>::push_back(const value_type&), deque<>::push_front(const value_type&)): Add back. (deque<>::emplace_back(_Args&&...), deque<>::emplace_front(_Args&&...)): Declare... * include/bits/deque.tcc: ... and define. * include/bits/stl_list.h (list<>::push_back(_Args&&...), list<>::push_front(_Args&&...)): Remove. (list<>::push_back(value_type&&), list<>::push_front(value_type&&), list<>::emplace_back(_Args&&...), list<>::emplace_front(_Args&&...)): Add. (list<>::push_back(const value_type&), list<>::push_front(const value_type&)): Add back. * include/bits/stl_vector.h (vector<>::push_back(_Args&&...)): Remove. (vector<>::push_back(value_type&&)): Add. (vector<>::push_back(const value_type&)): Add back. (vector<>::emplace_back(_Args&&...)): Declare... * include/bits/vector.tcc: ... and define. * include/bits/stl_queue.h (queue<>::push(_Args&&...), priority_queue<>::push(_Args&&...)): Remove. (queue<>::push(value_type&&), queue<>::emplace(_Args&&...), priority_queue<>::push(value_type&&), priority_queue<>::emplace(_Args&&...)): Add. (queue<>::push(const value_type&), priority_queue<>::push(const value_type&)): Add back. * include/bits/stl_stack.h (stack<>::push(_Args&&...)): Remove. (stack<>::push(value_type&&), stack<>::emplace(_Args&&...)): Add. (stack<>::push(const value_type&)): Add back. * include/debug/deque (deque<>::push_back(_Args&&...), deque<>::push_front(_Args&&...)): Remove. (deque<>::push_back(value_type&&), deque<>::push_front(value_type&&), deque<>::emplace_back(_Args&&...), deque<>::emplace_front(_Args&&...)): Add. (deque<>::push_back(const value_type&), deque<>::push_front(const value_type&)): Add back. * include/debug/list (list<>::push_back(_Args&&...), list<>::push_front(_Args&&...)): Remove. (list<>::push_back(value_type&&), list<>::push_front(value_type&&), list<>::emplace_back(_Args&&...), list<>::emplace_front(_Args&&...)): Add. (list<>::push_back(const value_type&), list<>::push_front(const value_type&)): Add back. * include/debug/vector (vector<>::push_back(_Args&&...)): Remove. (vector<>::push_back(value_type&&), vector<>::emplace_back(_Args&&...)): Add. (vector<>::push_back(const value_type&)): Add back. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Adjust dg-error line numbers. * 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: Adjust dg-error line numbers. * 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. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust dg-error line numbers. * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136750 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/include/debug/vector')
-rw-r--r--libstdc++-v3/include/debug/vector12
1 files changed, 8 insertions, 4 deletions
diff --git a/libstdc++-v3/include/debug/vector b/libstdc++-v3/include/debug/vector
index 7945b54591e..12bd52f0b2b 100644
--- a/libstdc++-v3/include/debug/vector
+++ b/libstdc++-v3/include/debug/vector
@@ -289,7 +289,6 @@ namespace __debug
using _Base::data;
// 23.2.4.3 modifiers:
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
void
push_back(const _Tp& __x)
{
@@ -299,13 +298,18 @@ namespace __debug
this->_M_invalidate_all();
_M_update_guaranteed_capacity();
}
-#else
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+ void
+ push_back(_Tp&& __x)
+ { emplace_back(std::move(__x)); }
+
template<typename... _Args>
void
- push_back(_Args&&... __args)
+ emplace_back(_Args&&... __args)
{
bool __realloc = _M_requires_reallocation(this->size() + 1);
- _Base::push_back(std::forward<_Args>(__args)...);
+ _Base::emplace_back(std::forward<_Args>(__args)...);
if (__realloc)
this->_M_invalidate_all();
_M_update_guaranteed_capacity();
OpenPOWER on IntegriCloud