Skip to content

Commit cbe4f35

Browse files
committed
fix(filesystem): 関数仕様の単純化
エラーだったら ec を設定し、それ以外だったら ec.clear() にするのは既に status(p, ec), symlink_status(p, ec) が実施しているので、改めて呼び出 し元で設定する必要はないように思われる。 std::filesystem::exists に関しては status_known (つまり s.type() == std::filesystem::file_type::none) 以外の時は ec.clear() を実行すると規 格には書かれていたが、既存の説明だと ec が空の時しか ec.clear() を呼び 出さないようになっていた。これは記述の修正になる。
1 parent f92dedd commit cbe4f35

File tree

9 files changed

+2
-87
lines changed

9 files changed

+2
-87
lines changed

reference/filesystem/exists.md

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,9 @@ namespace std::filesystem {
2424
- (3) :
2525
```cpp
2626
file_status s = status(p, ec);
27-
if (ec) {
28-
return false;
27+
if (status_known(s)) {
28+
ec.clear();
2929
}
30-
if (!status_known(s)) {
31-
ec = implementation-defined;
32-
return false;
33-
}
34-
ec.clear();
3530
return exists(s);
3631
```
3732
* file_status[link file_status.md]

reference/filesystem/is_block_file.md

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,6 @@ Linux環境においては、`/dev/disk0`、`/dev/sda`、`/dev/loop0`などが
2626
- (3) :
2727
```cpp
2828
file_status s = status(p, ec);
29-
if (ec) {
30-
return false;
31-
}
32-
33-
// ファイルが見つからなかったらエラー
34-
file_type type = s.type();
35-
if (type == file_type::none || file_type::not_found || file_type::unknown) {
36-
ec = implementation-defined;
37-
return false;
38-
}
39-
ec.clear();
4029
return is_block_file(s);
4130
```
4231
* file_status[link file_status.md]

reference/filesystem/is_character_file.md

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,6 @@ Linux環境においては、`/dev/null`、`/dev/urandom`、`/dev/zero`などが
2626
- (3) :
2727
```cpp
2828
file_status s = status(p, ec);
29-
if (ec) {
30-
return false;
31-
}
32-
33-
// ファイルが見つからなかったらエラー
34-
file_type type = s.type();
35-
if (type == file_type::none || file_type::not_found || file_type::unknown) {
36-
ec = implementation-defined;
37-
return false;
38-
}
39-
ec.clear();
4029
return is_character_file(s);
4130
```
4231
* file_status[link file_status.md]

reference/filesystem/is_directory.md

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,6 @@ namespace std::filesystem {
2424
- (3) :
2525
```cpp
2626
file_status s = status(p, ec);
27-
if (ec) {
28-
return false;
29-
}
30-
31-
if (!status_known(s)) {
32-
ec = implementation-defined;
33-
return false;
34-
}
35-
ec.clear();
3627
return is_directory(s);
3728
```
3829
* file_status[link file_status.md]

reference/filesystem/is_fifo.md

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,6 @@ namespace std::filesystem {
2424
- (3) :
2525
```cpp
2626
file_status s = status(p, ec);
27-
if (ec) {
28-
return false;
29-
}
30-
31-
// ファイルが見つからなかったらエラー
32-
file_type type = s.type();
33-
if (type == file_type::none || file_type::not_found || file_type::unknown) {
34-
ec = implementation-defined;
35-
return false;
36-
}
37-
ec.clear();
3827
return is_fifo(s);
3928
```
4029
* file_status[link file_status.md]

reference/filesystem/is_other.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,6 @@ namespace std::filesystem {
3232
- (3) :
3333
```cpp
3434
file_status s = status(p, ec);
35-
if (ec) {
36-
return false;
37-
}
38-
39-
ec.clear();
4035
return is_other(s);
4136
```
4237
* file_status[link file_status.md]

reference/filesystem/is_regular_file.md

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,6 @@ namespace std::filesystem {
2424
- (3) :
2525
```cpp
2626
file_status s = status(p, ec);
27-
if (ec) {
28-
return false;
29-
}
30-
31-
// ファイルが見つからなかったらエラー
32-
file_type type = s.type();
33-
if (type == file_type::none || file_type::not_found || file_type::unknown) {
34-
ec = implementation-defined;
35-
return false;
36-
}
37-
ec.clear();
3827
return is_regular_file(s);
3928
```
4029
* file_status[link file_status.md]

reference/filesystem/is_socket.md

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,6 @@ namespace std::filesystem {
2424
- (3) :
2525
```cpp
2626
file_status s = status(p, ec);
27-
if (ec) {
28-
return false;
29-
}
30-
31-
// ファイルが見つからなかったらエラー
32-
file_type type = s.type();
33-
if (type == file_type::none || file_type::not_found || file_type::unknown) {
34-
ec = implementation-defined;
35-
return false;
36-
}
37-
ec.clear();
3827
return is_socket(s);
3928
```
4029
* file_status[link file_status.md]

reference/filesystem/is_symlink.md

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,6 @@ namespace std::filesystem {
2424
- (3) :
2525
```cpp
2626
file_status s = symlink_status(p, ec);
27-
if (ec) {
28-
return false;
29-
}
30-
31-
// ファイルが見つからなかったらエラー
32-
file_type type = s.type();
33-
if (type == file_type::none || file_type::not_found || file_type::unknown) {
34-
ec = implementation-defined;
35-
return false;
36-
}
37-
ec.clear();
3827
return is_symlink(s);
3928
```
4029
* file_status[link file_status.md]

0 commit comments

Comments
 (0)