
6 Jun
2008
6 Jun
'08
5:28 p.m.
David Abrahams wrote:
on Fri Jun 06 2008, Jeff Flinn <TriumphSprint2000-AT-hotmail.com> wrote:
I'm moving from 1.34.1 to 1.35.0
The following compiles in 1.34.1 and fails in 1.35.0 on MSVC 8. Any thoughts on how to correct this?
Jeff,
in 1.35 I'm pretty sure that iterator_range<T>::size() only works when T is a random access iterator, and filtered iterators are by necessity bidirectional. I suggest you use
std::distance(r.begin(), r.end())
if you're willing to pay for O(N) execution.
Hmm, it looks like that's what iterator_range<T>::size() did in 1.34.1 while 1.35 returns m_Begin - m_End. Any idea why this was done? Thanks, Jeff