Files
cppdraft_translate/cppdraft/fs/filesystem/error/members.md
2025-10-25 03:02:53 +03:00

140 lines
3.3 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[fs.filesystem.error.members]
# 31 Input/output library [[input.output]](./#input.output)
## 31.12 File systems [[filesystems]](filesystems#fs.filesystem.error.members)
### 31.12.7 Class filesystem_error [[fs.class.filesystem.error]](fs.class.filesystem.error#fs.filesystem.error.members)
#### 31.12.7.2 Members [fs.filesystem.error.members]
[1](#1)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L15598)
Constructors are provided that store zero, one, or two paths associated with
an error[.](#1.sentence-1)
[🔗](#lib:filesystem_error,constructor)
`filesystem_error(const string& what_arg, error_code ec);
`
[2](#2)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L15608)
*Postconditions*:
- [(2.1)](#2.1)
code() == ec is true,
- [(2.2)](#2.2)
path1().empty() is true,
- [(2.3)](#2.3)
path2().empty() is true, and
- [(2.4)](#2.4)
string_view(what()).find(what_arg.c_str()) != string_view::npos is true[.](#2.sentence-1)
[🔗](#lib:filesystem_error,constructor_)
`filesystem_error(const string& what_arg, const path& p1, error_code ec);
`
[3](#3)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L15624)
*Postconditions*:
- [(3.1)](#3.1)
code() == ec is true,
- [(3.2)](#3.2)
path1() returns a reference to the stored copy of p1,
- [(3.3)](#3.3)
path2().empty() is true, and
- [(3.4)](#3.4)
string_view(what()).find(what_arg.c_str()) != string_view::npos is true[.](#3.sentence-1)
[🔗](#lib:filesystem_error,constructor__)
`filesystem_error(const string& what_arg, const path& p1, const path& p2, error_code ec);
`
[4](#4)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L15640)
*Postconditions*:
- [(4.1)](#4.1)
code() == ec,
- [(4.2)](#4.2)
path1() returns a reference to the stored copy of p1,
- [(4.3)](#4.3)
path2() returns a reference to the stored copy of p2, and
- [(4.4)](#4.4)
string_view(what()).find(what_arg.c_str()) != string_view::npos[.](#4.sentence-1)
[🔗](#lib:path1,filesystem_error)
`const path& path1() const noexcept;
`
[5](#5)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L15656)
*Returns*: A reference to the copy of p1 stored by the
constructor, or, if none, an empty path[.](#5.sentence-1)
[🔗](#lib:path2,filesystem_error)
`const path& path2() const noexcept;
`
[6](#6)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L15668)
*Returns*: A reference to the copy of p2 stored by the
constructor, or, if none, an empty path[.](#6.sentence-1)
[🔗](#lib:what,filesystem_error)
`const char* what() const noexcept override;
`
[7](#7)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L15680)
*Returns*: An ntbs that incorporates
the what_arg argument supplied to the constructor[.](#7.sentence-1)
The exact format is unspecified[.](#7.sentence-2)
Implementations should include
the system_error::what() string and
the pathnames of path1 and path2 in the native format in the returned string[.](#7.sentence-3)