
"Neal Becker" <ndbecker2@verizon.net> wrote in message news:chiqs5$3u1$1@sea.gmane.org... There are two patches that have already been posted which I would like you to try. I didn't patch the main distribution because I wanted to keep it frozen during the review. First, for boost/io/operations.hpp: --------- --- operations.hpp 1 Sep 2004 01:48:40 -0000 1.37 +++ operations.hpp 1 Sep 2004 01:48:49 -0000 @@ -19,6 +19,7 @@ #if !defined(BOOST_NO_STD_LOCALE) # include <locale> // neeed for boost::io::imbue. #endif +#include <boost/io/detail/assert_convertible.hpp> #include <boost/io/detail/dispatch.hpp> #include <boost/io/detail/iterator_traits.hpp> #include <boost/io/detail/ios_traits.hpp> @@ -103,7 +104,7 @@ template<typename T> static void putback(T&, BOOST_IO_CHAR_TYPE(T)) - { BOOST_STATIC_ASSERT(false); } + { BOOST_IO_ASSERT_CONVERTIBLE(BOOST_IO_CATEGORY(T), peekable_tag); } }; --------- next, for boost/io/detail/resolve.hpp --------- --- resolve.hpp 31 Aug 2004 18:02:51 -0000 1.4 +++ resolve.hpp 1 Sep 2004 01:13:32 -0000 @@ -35,7 +35,7 @@ BOOST_STATIC_ASSERT(!is_const<T>::value); #ifndef BOOST_IO_NO_FULL_SMART_ADAPTER_SUPPORT template<typename U> - struct get_result_type : U::result_type<Mode, Ch> { }; + struct get_result_type : U::template result_type<Mode, Ch> { }; #else template<typename U> struct get_result_type { ---------
Adding #include <iostream> fixes this problem.
What file did you add the include to? I'm trying to get by with <iosfwd> and <ios> wherever possible. Thanks for the report. Let me know if it works with the above patches. Jonathan