fixed problem with a iterator running out of range

(reported by gcc3.4 as an invalid condition even though the
iterator has not been dereferenced)


[SVN r22462]
This commit is contained in:
Pavol Droba
2004-03-09 17:58:59 +00:00
parent e0776cd359
commit 678183f831

View File

@ -325,10 +325,14 @@ namespace boost {
typedef ForwardIteratorT input_iterator_type; typedef ForwardIteratorT input_iterator_type;
typedef iterator_range<ForwardIteratorT> result_type; typedef iterator_range<ForwardIteratorT> result_type;
input_iterator_type It=Begin+m_N; if(std::distance(Begin,End) >= m_N)
if ( It >= End ) It=End; {
return result_type(Begin,End);
return result_type( Begin, It ); }
else
{
return result_type(Begin,Begin+m_N);
}
} }
private: private: