14 A class for reading and writing files.
16 Non-blocking mode is not supported on Win32.
18 class File: public Base
28 File(const std::string &, Mode = M_READ, CreateMode =CreateMode(C_CREATE+C_TRUNCATE));
36 virtual int seek(int, SeekType);
37 virtual int tell() const;
39 virtual Handle get_event_handle() { return handle; }
45 void check_access(Mode) const;
47 virtual unsigned do_write(const char *, unsigned);
48 virtual unsigned do_read(char *, unsigned);
51 inline File::CreateMode operator|(File::CreateMode m, File::CreateMode n)
52 { return File::CreateMode(static_cast<int>(m)|static_cast<int>(n)); }
54 inline File::CreateMode operator&(File::CreateMode m, File::CreateMode n)
55 { return File::CreateMode(static_cast<int>(m)&static_cast<int>(n)); }
57 inline File::CreateMode operator~(File::CreateMode m)
58 { return File::CreateMode(~static_cast<int>(m)); }
60 typedef Filtered<File, Buffered> BufferedFile;