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

View File

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