| Member types | ||||||
| Member constants | ||||||
| Member functions | ||||||
| Path decomposition | ||||||
| Non-member functions | ||||||
| ||||||
| Helper classes | ||||||
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 ordinaryunqualified orqualified lookup, and can only be found byargument-dependent lookup when std::filesystem::path is an associated class of the arguments. This prevents undesirable conversions in the presence of ausingnamespace std::filesystem;using-directive.
The | (since C++20) |
Contents |
| lhs, rhs | - | the paths to compare |
Path equality and equivalence have different semantics.
In the case of equality, as determined byoperator==, only lexical representations are compared. Therefore,path("a")== path("b") is nevertrue.
In the case of equivalence, as determined bystd::filesystem::equivalent(), it is checked whether two pathsresolve to the same file system object. Thusequivalent("a","b") will returntrue if the paths resolve to the same file.
| This section is incomplete Reason: no example |
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 topath in the presence of ausing-directive | made hidden friend |
| compares the lexical representations of two paths lexicographically (public member function)[edit] | |
(C++17) | checks whether two paths refer to the same file system object (function)[edit] |