Doug Gregor
On Nov 18, 2005, at 4:00 PM, john.wismar@autozone.com wrote:
We've noticed some changed behavior in a module that's using lexical_cast, having gone from 1.32.0 to 1.33.0. I tracked it down to
this change: [snip It turns out that we are passing a string containing a number with a trailing space. The 1.32.0 version of lexical_cast did not mind the trailing space, but the 1.33.0 version throws a bad_lexical_cast exception. I found that if I change this: stream.get() == to this: (stream >> std::ws).get() ==
that my issue goes away, but the workaround for compilers without the eof() function still works.... Would it be possilbe to add this into 1.34.0, or is this undesirable behavior?
This looks like a reasonably change to me; I hope that someone more involved in lexical_cast<> can give us more information, either rationale for the 1.33.0 behavior or confirmation that this is a bug. If it is a change that needs to be made, we'll put it in 1.33.1.
Looks like the change was not made in the RC.... -------------------------------- John Wismar john.wismar@autozone.com