diff --git a/include/boost/lexical_cast.hpp b/include/boost/lexical_cast.hpp index f805f68..8e07fda 100644 --- a/include/boost/lexical_cast.hpp +++ b/include/boost/lexical_cast.hpp @@ -154,7 +154,16 @@ namespace boost { return !is_pointer::value && stream >> output && - stream.get() == std::char_traits::eof(); + stream.get() == +#if defined(__GNUC__) && (__GNUC__<3) && defined(BOOST_NO_STD_WSTRING) +// GCC 2.9x lacks std::char_traits<>::eof(). +// We use BOOST_NO_STD_WSTRING to filter out STLport and libstdc++-v3 +// configurations, which do provide std::char_traits<>::eof(). + + EOF; +#else + std::char_traits::eof(); +#endif } bool operator>>(std::string &output) {