X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Ffile.h;h=4e86e29642c47dd35b52b0978b6b7be7b38d05f8;hp=f2271d02623c439dcd1385af35beb4d4c4fc841f;hb=21bf2db4f8600a576dc8d6bfa82bb83e64d8424f;hpb=d6b80800099c85df8d6f49b5b9d11e43f86c79b0 diff --git a/source/file.h b/source/file.h index f2271d0..4e86e29 100644 --- a/source/file.h +++ b/source/file.h @@ -9,6 +9,8 @@ Distributed under the LGPL #include #include "base.h" +#include "buffered.h" +#include "filtered.h" #include "seek.h" namespace Msp { @@ -47,18 +49,21 @@ private: Handle handle; void check_access(Mode) const; +protected: virtual unsigned do_write(const char *, unsigned); virtual unsigned do_read(char *, unsigned); }; inline File::CreateMode operator|(File::CreateMode m, File::CreateMode n) -{ return File::CreateMode((int)m|(int)n); } +{ return File::CreateMode(static_cast(m)|static_cast(n)); } inline File::CreateMode operator&(File::CreateMode m, File::CreateMode n) -{ return File::CreateMode((int)m&(int)n); } +{ return File::CreateMode(static_cast(m)&static_cast(n)); } inline File::CreateMode operator~(File::CreateMode m) -{ return File::CreateMode(~(int)m); } +{ return File::CreateMode(~static_cast(m)); } + +typedef Filtered BufferedFile; } // namespace IO } // namespace Msp