re PR libstdc++/27404 (Rope iterators are not InputIterators)

2006-05-04  Douglas Gregor  <dgregor@cs.indiana.edu>

	PR libstdc++/27404
	* include/ext/rope (_Rope_const_iterator<>::operator*() const,
	_Rope_iterator<>::operator*() const): Add.

From-SVN: r113519
This commit is contained in:
Douglas Gregor 2006-05-04 09:37:56 +00:00 committed by Paolo Carlini
parent 8cd37d0b6c
commit 49525c762c
2 changed files with 22 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2006-05-04 Douglas Gregor <dgregor@cs.indiana.edu>
PR libstdc++/27404
* include/ext/rope (_Rope_const_iterator<>::operator*() const,
_Rope_iterator<>::operator*() const): Add.
2006-05-01 Paolo Carlini <pcarlini@suse.de>
* acinclude.m4 (GLIBCXX_ENABLE_WCHAR_T): Always check the

View file

@ -1153,7 +1153,15 @@ protected:
_S_setcache(*this);
return *this->_M_buf_ptr;
}
// Without this const version, Rope iterators do not meet the
// requirements of an Input Iterator.
reference
operator*() const
{
return *const_cast<_Rope_const_iterator&>(*this);
}
_Rope_const_iterator&
operator++()
{
@ -1336,6 +1344,13 @@ protected:
*this->_M_buf_ptr);
}
// See above comment.
reference
operator*() const
{
return *const_cast<_Rope_iterator&>(*this);
}
_Rope_iterator&
operator++()
{