ReXGlue SDK
Toggle main menu visibility
Loading...
Searching...
No Matches
file_open.h
Go to the documentation of this file.
1
10
11
#pragma once
12
13
#include <
rex/bit.h
>
14
#include <
rex/types.h
>
15
16
namespace
rex::filesystem {
17
18
using
rex::HasFlags
;
19
using
rex::operator|;
20
using
rex::operator&;
21
using
rex::operator^;
22
using
rex::operator~;
23
using
rex::operator|=;
24
using
rex::operator&=;
25
using
rex::operator^=;
26
28
enum class
Access
: u32 {
29
kNone = 0,
30
kReadData = 0x00000001,
31
kWriteData = 0x00000002,
32
kAppendData = 0x00000004,
33
kAllAccess = 0x10000000,
34
kExecuteAccess
= 0x20000000,
35
kWriteAccess
= 0x40000000,
36
kReadAccess
= 0x80000000,
37
};
38
40
enum class
Disposition
: u8 {
41
kSupersede
,
42
kOpen
,
43
kCreate
,
44
kOpenIf
,
45
kOverwrite
,
46
kOverwriteIf
,
47
};
48
50
enum class
OpenAction
: u8 {
51
kSuperseded,
52
kOpened,
53
kCreated,
54
kOverwritten,
55
kExists,
56
kDoesNotExist,
57
};
58
59
struct
OpenOptions
{
60
Disposition
disposition =
Disposition::kOpen
;
61
Access
access =
Access::kReadAccess
;
62
bool
create_directory =
false
;
63
bool
require_file =
false
;
64
};
65
66
}
// namespace rex::filesystem
67
68
template
<>
69
inline
constexpr
bool
rex::is_flags_enum<rex::filesystem::Access>
=
true
;
bit.h
rex::filesystem::Access
Access
Definition
file_open.h:28
rex::filesystem::Access::kReadAccess
@ kReadAccess
Definition
file_open.h:36
rex::filesystem::Access::kExecuteAccess
@ kExecuteAccess
Definition
file_open.h:34
rex::filesystem::Access::kWriteAccess
@ kWriteAccess
Definition
file_open.h:35
rex::filesystem::Disposition
Disposition
Definition
file_open.h:40
rex::filesystem::Disposition::kOverwriteIf
@ kOverwriteIf
Definition
file_open.h:46
rex::filesystem::Disposition::kOpenIf
@ kOpenIf
Definition
file_open.h:44
rex::filesystem::Disposition::kSupersede
@ kSupersede
Definition
file_open.h:41
rex::filesystem::Disposition::kCreate
@ kCreate
Definition
file_open.h:43
rex::filesystem::Disposition::kOverwrite
@ kOverwrite
Definition
file_open.h:45
rex::filesystem::Disposition::kOpen
@ kOpen
Definition
file_open.h:42
rex::filesystem::OpenAction
OpenAction
Definition
file_open.h:50
rex::is_flags_enum
constexpr bool is_flags_enum
Definition
bit.h:422
rex::HasFlags
constexpr bool HasFlags(E value, E flags)
Definition
bit.h:483
rex::filesystem::OpenOptions
Definition
file_open.h:59
types.h
Integer types, byte order wrappers and size literals.
rex
filesystem
file_open.h
Generated by
1.18.0