blob: 47069b295c63a5bc580269283442765cb09bcb86 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 | #include "cru/base/io/OpenFileFlag.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
 |