std::filesy...system_error(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

πŸ’… std::filesy...system_error(3) πŸ’…

Straight from the C++ Standard Libary manual, bestie β€” yes, that's the manual name up top, spelling preserved and everything 🫢.

πŸŽ€ NAME πŸŽ€

std::filesystem::filesystem_error::filesystem_error - std::filesystem::filesystem_error::filesystem_error

πŸ“œ Synopsis πŸ“œ

Overload (1) β€” since C++17:

filesystem_error( const std::string& what_arg, std::error_code ec );

Overload (2) β€” since C++17:

filesystem_error( const std::string& what_arg, const std::filesystem::path& p1, std::error_code ec );

Overload (3) β€” since C++17:

filesystem_error( const std::string& what_arg, const std::filesystem::path& p1, const std::filesystem::path& p2, std::error_code ec );

Overload (4) β€” since C++17:

filesystem_error( const filesystem_error& other ) noexcept;

Constructs a new filesystem_error object. Periodt. ✨

  • 1-3) The error code is set to ec, and optionally, the paths that were involved in the operation that resulted in the error are set to p1 and p2. what() after construction returns a string that contains what_arg (assuming that it does not contain an embedded null character). If either or both path arguments are not provided, a null path is used instead.
  • 4) Copy constructor. Initialize the contents with those of other. If *this and other both have dynamic type std::filesystem_error::filesystem_error then std::strcmp(what(), other.what()) == 0.

🌸 Parameters 🌸

  • what_arg β€” explanatory string.
  • ec β€” error code for the specific operating system dependent error.
  • p1, p2 β€” paths involved in the operation raising system error.
  • other β€” another filesystem_error object to copy.

🧠 Notes 🧠

Because copying std::filesystem::filesystem_error is not permitted to throw exceptions, the explanatory string is typically stored internally in a separately-allocated reference-counted storage. ngl, that's also why there is no constructor taking std::string&&: it would have to copy the content anyway.

Typical implementations also store path objects referenced by path1() and path2() in the reference-counted storage.

πŸ“ Example πŸ“

This section is incomplete.

Reason: no example.

πŸŽ€ Category: πŸŽ€

  • * Todo no example

okay bye bestie πŸ’– β€” source/version http://cppreference.com, dated 2024.06.10, page tag std::filesy...system_error(3). That's the actual footer sign-off, no cap 🫢🌈.

πŸ“¦ where this page comes from