operator==,!=,<,<=,>,>=,<=>(std::filesystem::path)
friendbool operator==(const path& lhs, const path& rhs )noexcept; | (1) | (since C++17) |
friendbool operator!=(const path& lhs, const path& rhs )noexcept; | (2) | (since C++17) (until C++20) |
friendbool operator<(const path& lhs, const path& rhs )noexcept; | (3) | (since C++17) (until C++20) |
friendbool operator<=(const path& lhs, const path& rhs )noexcept; | (4) | (since C++17) (until C++20) |
friendbool operator>(const path& lhs, const path& rhs )noexcept; | (5) | (since C++17) (until C++20) |
friendbool operator>=(const path& lhs, const path& rhs )noexcept; | (6) | (since C++17) (until C++20) |
friendstd::strong_ordering operator<=>(const path& lhs, const path& rhs )noexcept; | (7) | (since C++20) |
Compares two paths lexicographically.
These functions are not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when std::filesystem::path is an associated class of the arguments. This prevents undesirable conversions in the presence of a usingnamespace std::filesystem;using-directive.
The | (since C++20) |
Contents |
[edit]Parameters
lhs, rhs | - | the paths to compare |
[edit]Return value
[edit]Notes
Path equality and equivalence have different semantics.
In the case of equality, as determined by operator==
, only lexical representations are compared. Therefore, path("a")== path("b") is never true.
In the case of equivalence, as determined by std::filesystem::equivalent(), it is checked whether two paths resolve to the same file system object. Thus equivalent("a", "b") will return true if the paths resolve to the same file.
[edit]Example
This section is incomplete Reason: no example |
[edit]Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR | Applied to | Behavior as published | Correct behavior |
---|---|---|---|
LWG 3065 | C++17 | allowed comparison of everything convertible to path in the presence of a using-directive | made hidden friend |
[edit]See also
compares the lexical representations of two paths lexicographically (public member function) | |
(C++17) | checks whether two paths refer to the same file system object (function) |