英語版
このページの英語版を見る

dmd.common.file

ファイルユーティリティ。
ファイル入出力と管理に特化した関数とオブジェクト。 TODO: ルートディレクトリなどから成果物をここに移動し、フロントエンドとバックエンドの両方がアクセスできるようにする。
Authors:

ソースcommon/file.d

カバー範囲 https://codecov.io/gh/dlang/dmd/src/master/src/dmd/common/file.d

struct FileMapping(Datum);
メモリマップされたファイルのカプセル化された管理。
Parameters:
Datum マッピングされたデータ型:読み書きマッピングにはサイズ1のPODを使用 し、読み取り専用マッピングにはconst のバージョンを使用する。その他の基本型も 使用できるはずだが、まだテストされていない。
this(const char* filename);
オープンして filenameメモリにマッピングする。Datumconst の場合、読み取り専用で開き、 メモリにコンテンツをマッピングする。ファイルが存在しない場合でもエラーは発生しない。 これにより、存在しないファイルを空として簡単に扱うことができる。
Datum が変更可能の場合、読み書き用にオープンし(存在しない場合はファイルを作成 )、エラーが発生した場合は致命的なエラーとなる。
mmap の仕様により、ファイルが空の場合、handle は有効だが、datanull となる。この状態は有効であり、説明されている。
Parameters:
char* filename メモリにマッピングされるファイルの名前
void close();
このマッピングに関連するリソースを解放する。ただし、名前の割り当ては解除されない。this を再利用可能な新しいオブジェクトとして再初期化する。
bool discard();
基礎となるファイルを削除し、関連するすべてのリソースを解放する。this を再初期化し、再利用可能な新しいオブジェクトとして再生成する。
この関数は、ファイルの削除に失敗しても中断せず、stderr にメッセージを表示し、false を呼び出し元に返す。 ファイルの削除が重要でない場合、呼び出し元に実行を継続するオプションを与えることが この関数の根拠である。
Returns:
true ファイルが正常に削除された場合。ファイルが削除されなかった場合は、 にメッセージを表示し、 を返す。stderr false
const pure nothrow @nogc bool active();
this が現在ファイルに関連付けられているかどうかを問い合わせる。
Returns:
true アクティブなマッピングがあるかどうかを問い合わせる。
const pure nothrow @nogc @safe size_t length();
このマッピングに関連付けられているファイルの長さを問い合わせる。 アクティブでない場合は、0を返す。
Returns: ファイルの長さ、または関連付けられたファイルがない場合は0を返す。
ファイルの長さ、または関連付けられたファイルがない場合は0を返す。
pure nothrow @nogc @safe auto opSlice();
ファイル全体の内容のスライスを取得する。
Returns: ファイルの内容。アクティブでない場合は、xml-ph-0000@deepl.internal スライスを返す。
ファイルの内容。アクティブでない場合は、null スライスを返す。
pure void resize(size_t size);
ファイルとマッピングを指定したサイズにリサイズする size
Parameters:
size_t size 要求された新しい長さに
bool moveToFile(const char* filename);
無条件かつ破壊的に、基礎となるファイルを移動する filename。 操作が成功した場合は、true を返す。失敗した場合は、stderr にメッセージを表示し、false を返す。いずれの場合も、基礎となるファイルは閉じられる。
Parameters:
char* filename 移動先のファイルのゼロ終端文字列名。
Returns:
true 操作が成功した場合。
static nothrow bool writeFile(const(char)* name, const void[] data);
ファイルを書き込み、成功した場合にtrue を返す。
nothrow bool touchFile(const char* namez);
ファイルを現在の日付に変更する
nothrow bool findFiles(const char* dir_path, const char[][] exts, bool recurse, void delegate(const(char)[]) nothrow filenameSink);
dir_path以下のすべてのディレクトリとファイルを再帰的に検索し、 exts[]内の拡張子の一つに一致するファイルを探す。 一致したものをシンクに渡す。
Parameters:
char* dir_path 検索対象のディレクトリのルート
char[][] exts 一致するファイル名の拡張子の配列
bool recurse サブディレクトリに入る
void delegate(const(char)[]) nothrow filenameSink 結果として得られた一致を受け入れる
Returns:
ディレクトリを開けなかった場合はtrue