stl_queue.h (queue<>::push(value_type&&)): Replace with "emplace" version per DR 756.

2007-10-31  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_queue.h (queue<>::push(value_type&&)): Replace
	with "emplace" version per DR 756.
	(priority_queue<>::push(value_type&&)): Likewise.
	* include/bits/stl_stack.h (stack<>::push(value_type&&)): Likewise.

From-SVN: r129814
This commit is contained in:
Paolo Carlini 2007-11-01 01:40:56 +00:00 committed by Paolo Carlini
parent e52e300091
commit c54171fee6
3 changed files with 31 additions and 18 deletions

View file

@ -1,3 +1,10 @@
2007-10-31 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_queue.h (queue<>::push(value_type&&)): Replace
with "emplace" version per DR 756.
(priority_queue<>::push(value_type&&)): Likewise.
* include/bits/stl_stack.h (stack<>::push(value_type&&)): Likewise.
2007-10-30 Paolo Carlini <pcarlini@suse.de> 2007-10-30 Paolo Carlini <pcarlini@suse.de>
* include/tr1_impl/random (uniform_int<>:: * include/tr1_impl/random (uniform_int<>::

View file

@ -220,14 +220,16 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* to it. The time complexity of the operation depends on the * to it. The time complexity of the operation depends on the
* underlying sequence. * underlying sequence.
*/ */
#ifndef __GXX_EXPERIMENTAL_CXX0X__
void void
push(const value_type& __x) push(const value_type& __x)
{ c.push_back(__x); } { c.push_back(__x); }
#else
#ifdef __GXX_EXPERIMENTAL_CXX0X__ // NB: DR 756.
void template<typename... _Args>
push(value_type&& __x) void
{ c.push_back(std::move(__x)); } push(_Args&&... __args)
{ c.push_back(std::forward<_Args>(__args)...); }
#endif #endif
/** /**
@ -507,20 +509,22 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* The time complexity of the operation depends on the underlying * The time complexity of the operation depends on the underlying
* sequence. * sequence.
*/ */
#ifndef __GXX_EXPERIMENTAL_CXX0X__
void void
push(const value_type& __x) push(const value_type& __x)
{ {
c.push_back(__x); c.push_back(__x);
std::push_heap(c.begin(), c.end(), comp); std::push_heap(c.begin(), c.end(), comp);
} }
#else
#ifdef __GXX_EXPERIMENTAL_CXX0X__ // NB: DR 756.
void template<typename... _Args>
push(value_type&& __x) void
{ push(_Args&&... __args)
c.push_back(std::move(__x)); {
std::push_heap(c.begin(), c.end(), comp); c.push_back(std::forward<_Args>(__args)...);
} std::push_heap(c.begin(), c.end(), comp);
}
#endif #endif
/** /**

View file

@ -184,14 +184,16 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* to it. The time complexity of the operation depends on the * to it. The time complexity of the operation depends on the
* underlying sequence. * underlying sequence.
*/ */
#ifndef __GXX_EXPERIMENTAL_CXX0X__
void void
push(const value_type& __x) push(const value_type& __x)
{ c.push_back(__x); } { c.push_back(__x); }
#else
#ifdef __GXX_EXPERIMENTAL_CXX0X__ // NB: DR 756.
void template<typename... _Args>
push(value_type&& __x) void
{ c.push_back(std::move(__x)); } push(_Args&&... __args)
{ c.push_back(std::forward<_Args>(__args)...); }
#endif #endif
/** /**