file_not_found(const std::string &fn): std::runtime_error(fn) { }
};
+class file_already_exists: public std::runtime_error
+{
+public:
+ file_already_exists(const std::string &fn): std::runtime_error(fn) { }
+};
+
/**
A class for reading and writing files.
{
C_NONE = 0,
C_CREATE = 1,
- C_TRUNCATE = 2
+ C_TRUNCATE = 2,
+ C_OVERWRITE = C_CREATE+C_TRUNCATE,
+ C_EXCLUSIVE = 4,
+ C_NEW = C_CREATE+C_EXCLUSIVE
};
private:
/** Creates a new file object and opens it. If the create flag is set and
write access is requested and the file does exist, it is created. Otherwise
a missing file is an error. */
- File(const std::string &, Mode = M_READ, CreateMode = CreateMode(C_CREATE+C_TRUNCATE));
+ File(const std::string &, Mode = M_READ, CreateMode = C_OVERWRITE);
virtual ~File();
void set_block(bool);