diff --git a/include/boost/iostreams/device/file.hpp b/include/boost/iostreams/device/file.hpp index a9399a6..e1387de 100755 --- a/include/boost/iostreams/device/file.hpp +++ b/include/boost/iostreams/device/file.hpp @@ -17,7 +17,7 @@ #if defined(_MSC_VER) && (_MSC_VER >= 1020) # pragma once -#endif +#endif #include #ifndef BOOST_IOSTREAMS_NO_LOCALE @@ -74,10 +74,12 @@ template struct basic_file_source : private basic_file { typedef Ch char_type; struct io_category - : public source_tag, - public closable_tag + : input_seekable, + device_tag, + closable_tag { }; using basic_file::read; + using basic_file::seek; using basic_file::close; basic_file_source( const std::string& path, BOOST_IOS::openmode mode = @@ -93,10 +95,12 @@ template struct basic_file_sink : private basic_file { typedef Ch char_type; struct io_category - : public sink_tag, - public closable_tag + : output_seekable, + device_tag, + closable_tag { }; using basic_file::write; + using basic_file::seek; using basic_file::close; basic_file_sink( const std::string& path, BOOST_IOS::openmode mode = BOOST_IOS::out )