
David Abrahams wrote:
on Sat Nov 22 2008, Tomas Puverle <Tomas.Puverle-AT-morganstanley.com> wrote:
At the moment all of the useful brain power is spent on trying to prove that what we're doing is wrong.
Maybe my brain power is useless, but so far it is being spent on trying to get someone to show me the specification that guarantees the old behavior will work. For me, that is still at the heart of the matter.
Correct me if I'm wrong, but hasn't this post been in the thread for almost a day now: Tomas Puverle wrote:
Scott,
But what semantics for empty *are* documented?
http://www.boost.org/doc/libs/1_37_0/libs/range/doc/boost_range.html #Semantics empty(x) returns boost::begin(x) == boost::end(x)
Prior to 1.35, the iterator_range<> documentation read the following:
"Recall that many default constructed iterators are singular and hence can only be assigned, but not compared or incremented or anything. However, if one creates a default constructed iterator_range, then one can still call all its member functions. This means that the iterator_range will still be usable in many contexts even though the iterators underneath are not. "
And doesn't this answer your question about whether documented behaviour has changed? Dave