11#ifndef INCGUARD_MGL_FILE_ACCESSOR_H_1611109313
12#define INCGUARD_MGL_FILE_ACCESSOR_H_1611109313
20namespace MGL::File::Accessor
25size_t Read(AccessWorkPtr &work, Result &result,
void *buffer,
size_t size)
noexcept;
26size_t Write(AccessWorkPtr &work, Result &result,
const void *buffer,
size_t size)
noexcept;
27size_t Seek(AccessWorkPtr &work, Result &result, SeekType seekType, int32_t offset)
noexcept;
28size_t GetOffset(AccessWorkPtr &work, Result &result)
noexcept;
29bool IsEOF(AccessWorkPtr &work, Result &result)
noexcept;
30size_t GetSize(AccessWorkPtr &work, Result &result)
noexcept;
32size_t GetSize(Result &result,
const PathView &path)
noexcept;
34Result Move(
const PathView &sourcePath,
const PathView &destPath)
noexcept;
36Result Copy(
const PathView &sourcePath,
const PathView &destPath)
noexcept;
37bool Exists(Result &result,
const PathView &path)
noexcept;
68template<
class DelegateClass,
class... Args>
static constexpr DelegateKey kDefaultDelegateKey
デフォルトを表す予約デリゲートキー
Definition mgl_file_mounter.h:43
文字列の参照のみを行うファイルパスクラス
Definition mgl_file_path_view.h:20
static Mounter & GetInstance() noexcept
Definition mgl_singleton.h:74
STL::unique_ptr< AccessWork > AccessWorkPtr
ファイルアクセスのためのワークのポインタ型
Definition mgl_file_access_work.h:130
Result Close(AccessWorkPtr &work) noexcept
ファイルをクローズ
Definition mgl_file_accessor.cc:138
size_t GetOffset(AccessWorkPtr &work, Result &result) noexcept
ストリーム位置を取得
Definition mgl_file_accessor.cc:300
void SetDefaultDelegate(DelegateKey key) noexcept
デフォルトのデリゲートを設定
Definition mgl_file_accessor.h:92
Result MakeDirectory(const PathView &path) noexcept
ディレクトリを作成する
Definition mgl_file_accessor.cc:439
AccessWorkPtr Open(Result &result, const PathView &path, OpenMode mode) noexcept
ファイルをオープン
Definition mgl_file_accessor.cc:94
Result Remove(const PathView &path) noexcept
ファイルの削除
Definition mgl_file_accessor.cc:510
Result Copy(const PathView &sourcePath, const PathView &destPath) noexcept
ファイルのコピー
Definition mgl_file_accessor.cc:539
bool IsSystemNativeFile(Result &result, const PathView &path) noexcept
パスがシステム標準のファイルかを取得
Definition mgl_file_accessor.cc:623
Result Remount(const PathView &mountName, const PathView &path, MountAccessType accessType, DelegateKey delegateKey=Mounter::kDefaultDelegateKey) noexcept
再マウント
Definition mgl_file_accessor.cc:694
size_t Seek(AccessWorkPtr &work, Result &result, SeekType seekType, int32_t offset) noexcept
ストリーム位置を設定
Definition mgl_file_accessor.cc:257
Result RemoveDelegate(DelegateKey key) noexcept
デリゲートの削除
Definition mgl_file_accessor.h:81
size_t Read(AccessWorkPtr &work, Result &result, void *buffer, size_t size) noexcept
ファイルを読み込み
Definition mgl_file_accessor.cc:181
Result Unmount(const PathView &mountName) noexcept
マウント解除
Definition mgl_file_accessor.cc:678
size_t GetSize(AccessWorkPtr &work, Result &result) noexcept
オープンしているファイルのサイズを取得
Definition mgl_file_accessor.cc:374
Result Mount(const PathView &mountName, const PathView &path, MountAccessType accessType, DelegateKey delegateKey=Mounter::kDefaultDelegateKey) noexcept
マウント
Definition mgl_file_accessor.cc:658
bool IsEOF(AccessWorkPtr &work, Result &result) noexcept
ファイルストリームが終端に達しているかを取得
Definition mgl_file_accessor.cc:338
size_t Write(AccessWorkPtr &work, Result &result, const void *buffer, size_t size) noexcept
ファイルに書き込み
Definition mgl_file_accessor.cc:219
Result Move(const PathView &sourcePath, const PathView &destPath) noexcept
ファイルの移動・リネーム
Definition mgl_file_accessor.cc:463
bool Exists(Result &result, const PathView &path) noexcept
ファイルの存在をチェック
Definition mgl_file_accessor.cc:598
bool IsMounted(const PathView &mountName) noexcept
マウントされているかを取得
Definition mgl_file_accessor.h:52
constexpr Result AddDelegate(DelegateKey key, Args... args) noexcept
デリゲートの追加
Definition mgl_file_accessor.h:69
DelegateKey
デリゲートキーの型
Definition mgl_file_defs.h:23
MGL::ResultWrapper< Error, Error::None, Error::NoOperation > Result
ファイル関連の処理結果
Definition mgl_file_defs.h:106
basic_string< char > string
std::stringの代替
Definition mgl_stl_string.h:25