From: Stefan Slapeta (stefan_at_[hidden])
Date: 2004-07-29 15:58:14
> -----Original Message-----
> From: boost-bounces_at_[hidden]
> [mailto:boost-bounces_at_[hidden]] On Behalf Of Pavol Droba
> This fix is correct. It is precisely what is equal ment to
> be. I have overlooked the order of comparisons.
An optimization: I realized later that it can be costly to evaluate the eof
states. I would save them in a local bool variable instead of calling the
eof functions twice for each comparison.
...return eof() || Other.eof() ? eof() == Other.eof() : etc.
> find_iterator can be in two states:
> 1) Valid: all internal iterator variables point to valid
> iterators. Valid find
> iterators are equal if they point to the same part of the sequence.
> 2) Null: all null iterators are equal and at
> the end of sequence, the iterator automaticaly becames null.
After my very first (speculative) posting, I found that in the documentation
and understood that you don't need any special function for end iterators :)
> > BTW, the replace test doesn't compile at all with
> VC7.1+STLPort. I'll
> > have a look on that later.
> I don't know what can be the problem. Can you elaborate a little more?
I didn't investigate more then; today it compiles (I really don't understand
why, I have to admit) _but_: now the same VC 8 regression test fails with
exactly the same error (see below)! (A workaround was to split the function
into some smaller ones.)
..\libs\algorithm\string\test\replace_test.cpp(147) : fatal error C1509:
compiler limit : too many exception handler states in function
'replace_test'. simplify function
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk