
In the tuple_io.hpp header, there seems to be a slight problem in extract_and_check_delimiter(). The following snippet is problematic: char c; if (is_delimiter) { is >> c; if (c!=d) { is.setstate(std::ios::failbit); } } If c cannot be read because is.eof(), the result of c!=d is undefined. A simple fix is attached. cheers, Rupert -- Rupert Kittinger <rkit@mur.at> *** tuple_io.hpp.orig Wed Aug 24 21:05:26 2005 --- tuple_io.hpp Wed Aug 24 21:07:13 2005 *************** *** 349,355 **** char c; if (is_delimiter) { is >> c; ! if (c!=d) { is.setstate(std::ios::failbit); } } --- 349,355 ---- char c; if (is_delimiter) { is >> c; ! if (is.good() && c!=d) { is.setstate(std::ios::failbit); } } *************** *** 443,449 **** CharType c; if (is_delimiter) { is >> c; ! if (c!=d) { is.setstate(std::ios::failbit); } } --- 443,449 ---- CharType c; if (is_delimiter) { is >> c; ! if (is.good() && c!=d) { is.setstate(std::ios::failbit); } }