userver
C++ Async Framework
Loading...
Searching...
No Matches
open_mode.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/fs/blocking/open_mode.hpp
4
/// @brief @copybrief fs::blocking::OpenMode
5
/// @ingroup userver_universal
6
7
#
include
<
userver
/
utils
/
flags
.
hpp
>
8
9
USERVER_NAMESPACE_BEGIN
10
11
namespace
fs::
blocking
{
12
13
enum
class
OpenFlag
{
14
kNone = 0,
15
16
/// Open the file for reading. Reading starts at the beginning of the file.
17
/// At least one of `kRead`, `kWrite` must be set.
18
kRead
= 1 << 0,
19
20
/// Open the file for writing. Writing starts at the beginning of the file.
21
/// By default, the file won't be created if it doesn't already exist.
22
/// At least one of `kRead`, `kWrite` must be set.
23
kWrite
= 1 << 1,
24
25
/// Used together with `kWrite` to create an empty file and open it
26
/// for writing if it doesn't already exist.
27
kCreateIfNotExists
= 1 << 2,
28
29
/// Differs from `kCreateIfNotExists` in that it ensures that the 'open'
30
/// operation creates the file.
31
kExclusiveCreate
= 1 << 3,
32
33
/// Used together with `kWrite` to clear the contents of the file in case it
34
/// already exists.
35
kTruncate
= 1 << 4,
36
37
/// Used together with `kWrite` to open file for writing to the end of the
38
/// file.
39
kAppend
= 1 << 5,
40
};
41
42
/// A set of OpenFlags
43
using
OpenMode =
utils
::Flags<
OpenFlag
>;
44
45
}
// namespace fs::blocking
46
47
USERVER_NAMESPACE_END
userver
fs
blocking
open_mode.hpp
Generated on Wed Dec 4 2024 18:50:34 for userver by
Doxygen
1.10.0