From f4e5280b48245281bf49c197e307a38a8fc82705 Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Fri, 19 Nov 2004 12:44:09 +0000 Subject: [PATCH] [multiple changes] 2004-11-19 Chris Jefferson * include/bits/stl_list.h (list::back, list::back const): Don't decrement temporary. 2004-11-19 Paolo Carlini * include/bits/stl_deque.h (deque::front, deque::front const, deque::back, deque::back const): Slightly tweak for stylistic consistency. From-SVN: r90917 --- libstdc++-v3/ChangeLog | 11 +++++++++++ libstdc++-v3/include/bits/stl_deque.h | 8 ++++---- libstdc++-v3/include/bits/stl_list.h | 12 ++++++++++-- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 638c420e0c9..5159a49eb18 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,14 @@ +2004-11-19 Chris Jefferson + + * include/bits/stl_list.h (list::back, list::back const): + Don't decrement temporary. + +2004-11-19 Paolo Carlini + + * include/bits/stl_deque.h (deque::front, deque::front const, + deque::back, deque::back const): Slightly tweak for stylistic + consistency. + 2004-11-18 Paolo Carlini * testsuite/26_numerics/numeric/sum_diff.cc: Use VERIFY. diff --git a/libstdc++-v3/include/bits/stl_deque.h b/libstdc++-v3/include/bits/stl_deque.h index 8b50fb51bb5..b3114389857 100644 --- a/libstdc++-v3/include/bits/stl_deque.h +++ b/libstdc++-v3/include/bits/stl_deque.h @@ -970,7 +970,7 @@ namespace _GLIBCXX_STD */ reference front() - { return *this->_M_impl._M_start; } + { return *begin(); } /** * Returns a read-only (constant) reference to the data at the first @@ -978,7 +978,7 @@ namespace _GLIBCXX_STD */ const_reference front() const - { return *this->_M_impl._M_start; } + { return *begin(); } /** * Returns a read/write reference to the data at the last element of the @@ -987,7 +987,7 @@ namespace _GLIBCXX_STD reference back() { - iterator __tmp = this->_M_impl._M_finish; + iterator __tmp = end(); --__tmp; return *__tmp; } @@ -999,7 +999,7 @@ namespace _GLIBCXX_STD const_reference back() const { - const_iterator __tmp = this->_M_impl._M_finish; + const_iterator __tmp = end(); --__tmp; return *__tmp; } diff --git a/libstdc++-v3/include/bits/stl_list.h b/libstdc++-v3/include/bits/stl_list.h index 07185dd3efd..ff6a0dfeb8f 100644 --- a/libstdc++-v3/include/bits/stl_list.h +++ b/libstdc++-v3/include/bits/stl_list.h @@ -707,7 +707,11 @@ namespace _GLIBCXX_STD */ reference back() - { return *(--end()); } + { + iterator __tmp = end(); + --__tmp; + return *__tmp; + } /** * Returns a read-only (constant) reference to the data at the last @@ -715,7 +719,11 @@ namespace _GLIBCXX_STD */ const_reference back() const - { return *(--end()); } + { + const_iterator __tmp = end(); + --__tmp; + return *__tmp; + } // [23.2.2.3] modifiers /**