aboutsummaryrefslogtreecommitdiff
path: root/src/base/io/Base.cpp
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-11-15 16:43:25 +0800
committerYuqian Yang <crupest@crupest.life>2025-11-16 00:01:49 +0800
commit246eb9266b9349b44cbe96f3f839124ab30cbb89 (patch)
tree31604c8a4764d3a601d56599e56c98d91bd97758 /src/base/io/Base.cpp
parentb92aa78ac19476049ab881b49c51b1a970a4a973 (diff)
downloadcru-246eb9266b9349b44cbe96f3f839124ab30cbb89.tar.gz
cru-246eb9266b9349b44cbe96f3f839124ab30cbb89.tar.bz2
cru-246eb9266b9349b44cbe96f3f839124ab30cbb89.zip
Impl win subprocess.
Diffstat (limited to 'src/base/io/Base.cpp')
-rw-r--r--src/base/io/Base.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/base/io/Base.cpp b/src/base/io/Base.cpp
new file mode 100644
index 00000000..d591336a
--- /dev/null
+++ b/src/base/io/Base.cpp
@@ -0,0 +1,19 @@
+#include "cru/base/io/Base.h"
+
+namespace cru::io {
+bool CheckOpenFileFlag(OpenFileFlag flags) {
+ auto has = [flags](OpenFileFlag flag) { return flags & flag; };
+
+ if ((has(OpenFileFlags::Append) || has(OpenFileFlags::Truncate) ||
+ has(OpenFileFlags::Create)) &&
+ !has(OpenFileFlags::Write)) {
+ return false;
+ }
+
+ if (has(OpenFileFlags::Truncate) && has(OpenFileFlags::Append)) {
+ return false;
+ }
+
+ return true;
+}
+} // namespace cru::io