3 This file is part of libmspio
4 Copyright © 2007 Mikko Rasa, Mikkosoft Productions
5 Distributed under the LGPL
18 A class for reading and writing files.
20 Non-blocking mode is not supported on Win32.
22 class File: public Base
32 File(const std::string &, Mode=M_READ, CreateMode =CreateMode(C_CREATE+C_TRUNCATE));
40 virtual int seek(int, SeekType);
41 virtual int tell() const;
43 virtual Handle get_event_handle() { return handle; }
49 void check_access(Mode) const;
50 virtual unsigned do_write(const char *, unsigned);
51 virtual unsigned do_read(char *, unsigned);
54 inline File::CreateMode operator|(File::CreateMode m, File::CreateMode n)
55 { return File::CreateMode((int)m|(int)n); }
57 inline File::CreateMode operator&(File::CreateMode m, File::CreateMode n)
58 { return File::CreateMode((int)m&(int)n); }
60 inline File::CreateMode operator~(File::CreateMode m)
61 { return File::CreateMode(~(int)m); }