re PR libstdc++/3016 (stl_queue.h bugs wrt compliance)

2001-06-04  Brendan Kehoe  <brendan@zen.org>

	PR libstdc++/3016
	* include/bits/stl_queue.h (classes queue, priority_queue):  Fix
	ctors to match the standard.

From-SVN: r42857
This commit is contained in:
Brendan Kehoe 2001-06-04 13:34:36 -04:00 committed by Phil Edwards
parent c0e17dafb2
commit 5890be1892
2 changed files with 11 additions and 16 deletions

View File

@ -1,3 +1,9 @@
2001-06-04 Brendan Kehoe <brendan@zen.org>
PR libstdc++/3016
* include/bits/stl_queue.h (classes queue, priority_queue): Fix
ctors to match the standard.
2001-06-04 Jeffrey Oldham <oldham@codesourcery.com>
* include/bits/char_traits.h (move): Reverse qualification of

View File

@ -75,8 +75,7 @@ public:
protected:
_Sequence c;
public:
queue() : c() {}
explicit queue(const _Sequence& __c) : c(__c) {}
explicit queue(const _Sequence& __c = _Sequence()) : c(__c) {}
bool empty() const { return c.empty(); }
size_type size() const { return c.size(); }
@ -154,25 +153,15 @@ protected:
_Sequence c;
_Compare comp;
public:
priority_queue() : c() {}
explicit priority_queue(const _Compare& __x) : c(), comp(__x) {}
priority_queue(const _Compare& __x, const _Sequence& __s)
explicit priority_queue(const _Compare& __x = _Compare(),
const _Sequence& __s = _Sequence())
: c(__s), comp(__x)
{ make_heap(c.begin(), c.end(), comp); }
template <class _InputIterator>
priority_queue(_InputIterator __first, _InputIterator __last)
: c(__first, __last) { make_heap(c.begin(), c.end(), comp); }
template <class _InputIterator>
priority_queue(_InputIterator __first,
_InputIterator __last, const _Compare& __x)
: c(__first, __last), comp(__x)
{ make_heap(c.begin(), c.end(), comp); }
template <class _InputIterator>
priority_queue(_InputIterator __first, _InputIterator __last,
const _Compare& __x, const _Sequence& __s)
const _Compare& __x = _Compare(),
const _Sequence& __s = _Sequence())
: c(__s), comp(__x)
{
c.insert(c.end(), __first, __last);