From 5890be1892c19167692fef0d14bab2dfb3c9493a Mon Sep 17 00:00:00 2001 From: Brendan Kehoe Date: Mon, 4 Jun 2001 13:34:36 -0400 Subject: [PATCH] re PR libstdc++/3016 (stl_queue.h bugs wrt compliance) 2001-06-04 Brendan Kehoe PR libstdc++/3016 * include/bits/stl_queue.h (classes queue, priority_queue): Fix ctors to match the standard. From-SVN: r42857 --- libstdc++-v3/ChangeLog | 6 ++++++ libstdc++-v3/include/bits/stl_queue.h | 21 +++++---------------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 3688ab3fac9..14ec36e481b 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2001-06-04 Brendan Kehoe + + PR libstdc++/3016 + * include/bits/stl_queue.h (classes queue, priority_queue): Fix + ctors to match the standard. + 2001-06-04 Jeffrey Oldham * include/bits/char_traits.h (move): Reverse qualification of diff --git a/libstdc++-v3/include/bits/stl_queue.h b/libstdc++-v3/include/bits/stl_queue.h index ad27ba72db9..c1fe023e4db 100644 --- a/libstdc++-v3/include/bits/stl_queue.h +++ b/libstdc++-v3/include/bits/stl_queue.h @@ -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 - priority_queue(_InputIterator __first, _InputIterator __last) - : c(__first, __last) { make_heap(c.begin(), c.end(), comp); } - - template - priority_queue(_InputIterator __first, - _InputIterator __last, const _Compare& __x) - : c(__first, __last), comp(__x) - { make_heap(c.begin(), c.end(), comp); } - template 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);