MGL(Win32)
読み取り中…
検索中…
一致する文字列を見つけられません
mgl_file_defs.h
[詳解]
1// SPDX-License-Identifier: Zlib
2/* ------------------------------------------------------------------------- */
9/* ------------------------------------------------------------------------- */
10
11#ifndef INCGUARD_MGL_FILE_DEFS_H_1611104704
12#define INCGUARD_MGL_FILE_DEFS_H_1611104704
13
14#include <cstdint>
15
19
20namespace MGL::File
21{
23enum class DelegateKey : uint32_t {};
24
26constexpr uint32_t kDefaultDelegateKeySeed = MGL::Hash::kFNV1aDefaultValue32;
27
28/* ------------------------------------------------------------------------- */
35/* ------------------------------------------------------------------------- */
36[[nodiscard]] constexpr DelegateKey MakeDelegateKey(const char *keyString, uint32_t seed = kDefaultDelegateKeySeed) noexcept
37{
38 return DelegateKey{MGL::Hash::FNV1a(keyString, seed)};
39}
40
41class Delegate;
42
44using SharedDelegate = std::shared_ptr<Delegate>;
45
47enum class OpenMode : uint8_t
48{
49 None,
50 Read,
51 Write
52};
53
55enum class MountAccessType : uint8_t
56{
57 ReadOnly,
58 Writable,
59};
60
62enum class SeekType : uint8_t
63{
64 Top,
65 End,
66 Current
67};
68
70enum class Error : uint16_t
71{
72 None = 0,
73
74 NoOperation = 100,
75 NotImplemented = 101,
76 NotSupported = 102,
77 InvalidDelegate = 103,
78 InvalidArgument = 104,
79 InvalidPathFormat = 105,
80 BadImplement = 106,
81
83 DelegateNotExist = 201,
84 NotMounted = 202,
85 AlreadyMounted = 203,
86 MountNotWritable = 204,
87 MountFailed = 205,
88 NotOpened = 206,
89 NotReadableMode = 207,
90 NotWritableMode = 208,
91 NoSystemNativeFile = 209,
92 NoRegularFile = 210,
93
94 FileNotExist = 300,
95 FileAlreadyExist = 301,
96 PathNotFound = 302,
97 NotPermitted = 303,
98 NoSpaceStorage = 304,
99 ReadError = 305,
100 WriteError = 306,
101
102 UnknownError = 999,
103};
104
107
108} // namespace MGL::File
109#endif // INCGUARD_MGL_FILE_DEFS_H_1611104704
110
111// vim: et ts=4 sw=4 sts=4
MountAccessType
マウント時のアクセスタイプ
Definition mgl_file_defs.h:56
@ ReadOnly
読み込み専用
@ Writable
書き込み可能
DelegateKey
デリゲートキーの型
Definition mgl_file_defs.h:23
SeekType
シークタイプ
Definition mgl_file_defs.h:63
@ Current
現在の位置から
@ End
末尾から
@ Top
先頭から
Error
エラー定義
Definition mgl_file_defs.h:71
@ PathNotFound
パスが存在しない
@ BadImplement
実装上の不正
@ InvalidArgument
引数が不正
@ WriteError
書き込みに失敗
@ AlreadyMounted
既にマウントされている
@ NoSystemNativeFile
対象がシステム標準のファイルではない
@ NoOperation
処理していない
@ DelegateAlreadyExist
デリゲートが既に存在している
@ FileNotExist
ファイルが存在しない
@ NoSpaceStorage
保存領域の容量不足
@ InvalidPathFormat
パスの書式が不正
@ InvalidDelegate
デリゲートが不正
@ DelegateNotExist
デリゲートが存在しない
@ NoRegularFile
通常ファイルではない
@ NotImplemented
未実装
@ FileAlreadyExist
ファイルが既に存在している
@ NotSupported
指定された操作に対応していない
@ MountFailed
マウントに失敗
@ MountNotWritable
書き込み不可能なマウントに対する書き込み操作を行おうとしている
@ NotPermitted
ファイルにアクセスする権限がない
@ UnknownError
不明なエラー
@ NotMounted
マウントされていない
@ NotOpened
オープンされていない
@ ReadError
読み込みに失敗
@ NotWritableMode
書き込み用にオープンされていない
@ NotReadableMode
読み込み用にオープンされていない
std::shared_ptr< Delegate > SharedDelegate
デリゲートの共有ポインタ
Definition mgl_file_defs.h:44
constexpr DelegateKey MakeDelegateKey(const char *keyString, uint32_t seed=kDefaultDelegateKeySeed) noexcept
デリゲートキーの生成
Definition mgl_file_defs.h:36
OpenMode
オープンモード
Definition mgl_file_defs.h:48
constexpr uint32_t kDefaultDelegateKeySeed
デリゲートキーのハッシュ生成に使用するシード値
Definition mgl_file_defs.h:26
MGL FNV-1aハッシュ計算関数
MGL エラーを処理結果としてラップするためのテンプレート
MGL STLのメモリ関連の代替