aboutsummaryrefslogtreecommitdiff
path: root/include/cru/common/io/OpenFileFlag.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/common/io/OpenFileFlag.h')
-rw-r--r--include/cru/common/io/OpenFileFlag.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/cru/common/io/OpenFileFlag.h b/include/cru/common/io/OpenFileFlag.h
index bca1d737..fd8b6e2c 100644
--- a/include/cru/common/io/OpenFileFlag.h
+++ b/include/cru/common/io/OpenFileFlag.h
@@ -9,11 +9,38 @@ struct OpenFileFlagTag {};
using OpenFileFlag = Bitmask<details::OpenFileFlagTag>;
struct OpenFileFlags {
+ /**
+ * \brief for reading
+ */
static constexpr OpenFileFlag Read{0x1};
+
+ /**
+ * \brief for writing
+ */
static constexpr OpenFileFlag Write{0x2};
+
+ /**
+ * \brief when writing, seek to end first
+ * Only effective for writing.
+ */
static constexpr OpenFileFlag Append{0x4};
+
+ /**
+ * \brief when writing, truncate the file to empty
+ * Only effective for writing.
+ * So the content is erased! Be careful!
+ */
static constexpr OpenFileFlag Truncate{0x8};
+
+ /**
+ * \brief when writing, if the file does not exist, create one
+ * Only effective for writing.
+ */
static constexpr OpenFileFlag Create{0x10};
+
+ /**
+ * TODO: ???
+ */
static constexpr OpenFileFlag Exclusive{0x20};
};
} // namespace cru::io