diff options
author | Paolo Carlini <pcarlini@suse.de> | 2004-11-14 22:54:24 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2004-11-14 22:54:24 +0000 |
commit | 509228203e929a5aa3205aaa838700235187dc1d (patch) | |
tree | 017aff8b3decdd408526fadcb46cca5aab1c0154 | |
parent | fceb80bf943035f22495b9970aefe4a375df457f (diff) | |
download | gcc-509228203e929a5aa3205aaa838700235187dc1d.zip gcc-509228203e929a5aa3205aaa838700235187dc1d.tar.gz gcc-509228203e929a5aa3205aaa838700235187dc1d.tar.bz2 |
streambuf_iterator.h (istreambuf_iterator::_M_get): Slightly tweak for clarity (also leads to measurably better code).
2004-11-14 Paolo Carlini <pcarlini@suse.de>
* include/bits/streambuf_iterator.h (istreambuf_iterator::_M_get):
Slightly tweak for clarity (also leads to measurably better code).
From-SVN: r90636
-rw-r--r-- | libstdc++-v3/ChangeLog | 5 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/streambuf_iterator.h | 7 |
2 files changed, 9 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index ff93b2d..fd553a1 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2004-11-14 Paolo Carlini <pcarlini@suse.de> + + * include/bits/streambuf_iterator.h (istreambuf_iterator::_M_get): + Slightly tweak for clarity (also leads to measurably better code). + 2004-11-12 Andrew Pinski <pinskia@physics.uc.edu> PR other/14264 diff --git a/libstdc++-v3/include/bits/streambuf_iterator.h b/libstdc++-v3/include/bits/streambuf_iterator.h index f378862..3e3daf6 100644 --- a/libstdc++-v3/include/bits/streambuf_iterator.h +++ b/libstdc++-v3/include/bits/streambuf_iterator.h @@ -157,10 +157,11 @@ namespace std int_type __ret = __eof; if (_M_sbuf) { - if (!traits_type::eq_int_type(_M_c, __eof) - || !traits_type::eq_int_type((_M_c = _M_sbuf->sgetc()), - __eof)) + if (!traits_type::eq_int_type(_M_c, __eof)) __ret = _M_c; + else if (!traits_type::eq_int_type((__ret = _M_sbuf->sgetc()), + __eof)) + _M_c = __ret; else _M_sbuf = 0; } |