--- skip.hpp.orig 2007-03-20 16:20:55.253000000 -0400 +++ skip.hpp 2007-03-20 16:11:51.096750000 -0400 @@ -67,7 +67,17 @@ void skip(Device& dev, stream_offset off) { typedef typename mode_of::type mode; - detail::skip(dev, off, is_convertible()); + typedef mpl::or_< + mpl::and_< + is_convertible, + is_convertible + >, + mpl::and_< + is_convertible, + is_convertible + > + > can_seek; + detail::skip(dev, off, can_seek()); } template