Commit 74345dec by François Dumont

2012-02-06 François Dumont <fdumont@gcc.gnu.org>

	* include/debug/safe_iterator.h
	(_Safe_iterator::_M_before_dereferenceable): Avoid the expensive
	creation of a _Safe_iterator instance to do the check.

From-SVN: r183941
parent cb406914
2012-02-06 François Dumont <fdumont@gcc.gnu.org>
* include/debug/safe_iterator.h
(_Safe_iterator::_M_before_dereferenceable): Avoid the expensive
creation of a _Safe_iterator instance to do the check.
2012-02-05 Jonathan Wakely <jwakely.gcc@gmail.com> 2012-02-05 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/52104 PR libstdc++/52104
......
...@@ -380,8 +380,12 @@ namespace __gnu_debug ...@@ -380,8 +380,12 @@ namespace __gnu_debug
bool bool
_M_before_dereferenceable() const _M_before_dereferenceable() const
{ {
_Self __it = *this; if (this->_M_incrementable())
return __it._M_incrementable() && (++__it)._M_dereferenceable(); {
_Iterator __base = base();
return ++__base != _M_get_sequence()->_M_base().end();
}
return false;
} }
/// Is the iterator incrementable? /// Is the iterator incrementable?
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment