std::filesystem::is_other
提供: cppreference.com
< cpp | filesystem
<tbody>
</tbody>
| ヘッダ <filesystem> で定義
|
||
bool is_other( std::filesystem::file_status s ) noexcept; |
(1) | (C++17以上) |
bool is_other( const std::filesystem::path& p ); bool is_other( const std::filesystem::path& p, std::error_code& ec ) noexcept; |
(2) | (C++17以上) |
指定されたファイルステータスまたはパスがその他のファイル種別に対応するかどうか調べます。 つまり、ファイルは存在しているけれども、普通のファイルでもディレクトリでもシンボリックリンクでもありません。
1)
exists(s) && !is_regular_file(s) && !is_directory(s) && !is_symlink(s) と同等です。2) それぞれ
is_other(status(p)) または is_other(status(p, ec)) と同等です。引数
| s | - | 調べるファイルステータス |
| p | - | 調べるパス |
| ec | - | 例外を投げないオーバーロードでエラーを報告するための出力引数 |
戻り値
p の表すファイルまたは s の表す種別が普通のファイルでもディレクトリでもシンボリックリンクでもないファイルを参照している場合は true、そうでなければ false。 例外を投げないオーバーロードは、エラーが発生した場合 false を返します。
例外
2)
std::error_code& 引数を取らないオーバーロードは、ベースとなる OS の API でエラーが発生した場合、第1パス引数に p、エラーコード引数に OS のエラーコードを指定して構築された filesystem_error を投げます。 std::error_code& 引数を取るオーバーロードは、 OS の API 呼び出しが失敗した場合、その引数を OS の API のエラーコードに設定し、エラーが発生しない場合は ec.clear() を実行します。 noexcept 指定のないあらゆるオーバーロードは、メモリ確保に失敗した場合 std::bad_alloc を投げる可能性があります。例
| This section is incomplete Reason: no example |
関連項目
(C++17)(C++17) |
ファイルの属性を調べます シンボリックリンクのターゲットを確認しながらファイルの属性を調べます (関数) |
(C++17) |
ファイル種別とパーミッションを表します (クラス) |
(C++17) |
ファイルの状態が判明しているかどうか調べます (関数) |
(C++17) |
指定されたパスがブロックデバイスを参照しているかどうか調べます (関数) |
(C++17) |
指定されたパスがキャラクタデバイスを参照しているかどうか調べます (関数) |
(C++17) |
指定されたパスがディレクトリを参照しているかどうか調べます (関数) |
(C++17) |
指定されたパスが名前付きパイプを参照しているかどうか調べます (関数) |
(C++17) |
指定されたパスが普通のファイルを参照しているかどうか調べます (関数) |
(C++17) |
指定されたパスが名前付き IPC ソケットを参照しているかどうか調べます (関数) |
(C++17) |
指定されたパスがシンボリックリンクを参照しているかどうか調べます (関数) |
(C++17) |
パスが既存のファイルシステムオブジェクトを参照しているかどうか調べます (関数) |
| ディレクトリエントリがその他のファイルを参照しているかどうか調べます ( std::filesystem::directory_entryのパブリックメンバ関数)
|