
On May 10, 2005, at 5:41 AM, Gennaro Prota wrote:
--- Doug Gregor <dgregor@cs.indiana.edu> wrote:
The stream extraction operators for dynamic_bitset are failing on CodeWarrior 9.4. See: http://tinyurl.com/addko Is anyone familiar enough with the quirks of Metrowerks' iostreams to fix this issue?
Hi Doug, Jeremy and Howard
unfortunately, due to a series of vicissitudes that would be too long to tell, I have no home connection at the moment (a situation that lasts from several months) and thus I can't work on CVS. Howard Hinnant is probably the person who knows Metrowerks compiler and library best. Howard?
I know the Metrowerks library inside/out. I started looking at this last night but I'm pretty lost in the test code. Here's what I have so far: Failure inside of: template<typename Stream, typename String> static void stream_extractor(Bitset& b, Stream& is, String& str ) at: if(stream_was_good) BOOST_CHECK(remainder == str.substr(after_digits)); At this point remainder is a zero-length string, after_digits is 0 and str is length 359. On entry to this routine b has length 1 and that element is true. I believe, but I am not positive that str is unmodified through this test, despite being passed by reference (as opposed to const ref). I've so far been unable to determine the state of the stream is on entry. But it looks completely hosed by the time the BOOST_CHECK is triggered. For example the iostate has the value 0x7E even though the highest numerical state it can possibly have is 0x07. did_throw is false. -Howard