operator==,!=,<,<=,>,>=(std::filesystem::path) (3) - Linux Manuals
operator==,!=,<,<=,>,>=(std::filesystem::path): operator==,!=,<,<=,>,>=(std::filesystem::path)
Command to display operator==,!=,<,<=,>,>=(std::filesystem::path)
manual in Linux: $ man 3 operator==,!=,<,<=,>,>=(std::filesystem::path)
NAME
operator==,!=,<,<=,>,>=(std::filesystem::path) - operator==,!=,<,<=,>,>=(std::filesystem::path)
Synopsis
bool operator==( const path& lhs, const path& rhs ) noexcept; (1) (since C++17)
bool operator!=( const path& lhs, const path& rhs ) noexcept; (2) (since C++17)
bool operator<( const path& lhs, const path& rhs ) noexcept; (3) (since C++17)
bool operator<=( const path& lhs, const path& rhs ) noexcept; (4) (since C++17)
bool operator>( const path& lhs, const path& rhs ) noexcept; (5) (since C++17)
bool operator>=( const path& lhs, const path& rhs ) noexcept; (6) (since C++17)
Compares two paths lexicographically.
1) Checks whether lhs and rhs are equal. Equivalent to !(lhs < rhs) && !(rhs < lhs).
2) Checks whether lhs and rhs are not equal. Equivalent to !(lhs == rhs).
3) Checks whether lhs is less than rhs. Equivalent to lhs.compare(rhs) < 0.
4) Checks whether lhs is less than or equal to rhs. Equivalent to !(rhs < lhs).
5) Checks whether lhs is greater than rhs. Equivalent to rhs < lhs.
6) Checks whether lhs is greater than or equal to rhs. Equivalent to !(lhs < rhs).
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 using namespace std::filesystem; using-directive.
Parameters
lhs, rhs - the paths to compare
Return value
true if the corresponding comparison yields, false otherwise.
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 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.
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
See also
compares the lexical representations of two paths lexicographically
compare (public member function)
Pages related to operator==,!=,<,<=,>,>=(std::filesystem::path)
- operator==,!=,<,<=,>,>=(std::forward_list) (3) - operator==,!=,<,<=,>,>=(std::forward_list)
- operator==,!=,<,<=,>,>=(std::array) (3) - operator==,!=,<,<=,>,>=(std::array)
- operator==,!=,<,<=,>,>=(std::basic_string) (3) - operator==,!=,<,<=,>,>=(std::basic_string)
- operator==,!=,<,<=,>,>=(std::basic_string_view) (3) - operator==,!=,<,<=,>,>=(std::basic_string_view)
- operator==,!=,<,<=,>,>=(std::chrono::duration) (3) - operator==,!=,<,<=,>,>=(std::chrono::duration)
- operator==,!=,<,<=,>,>=(std::deque) (3) - operator==,!=,<,<=,>,>=(std::deque)
- operator==,!=,<,<=,>,>=(std::experimental::basic_string_view) (3) - operator==,!=,<,<=,>,>=(std::experimental::basic_string_view)
- operator==,!=,<,<=,>,>=(std::experimental::filesystem::path) (3) - operator==,!=,<,<=,>,>=(std::experimental::filesystem::path)
- operator==,!=,<,<=,>,>=(std::experimental::observer_ptr) (3) - operator==,!=,<,<=,>,>=(std::experimental::observer_ptr)
- operator==,!=,<,<=,>,>=(std::experimental::optional) (3) - operator==,!=,<,<=,>,>=(std::experimental::optional)
- operator==,!=,<,<=,>,>=(std::experimental::propagate_const) (3) - operator==,!=,<,<=,>,>=(std::experimental::propagate_const)
- operator==,!=,<,<=,>,>=(std::list) (3) - operator==,!=,<,<=,>,>=(std::list)
- operator==,!=,<,<=,>,>=(std::map) (3) - operator==,!=,<,<=,>,>=(std::map)
- operator==,!=,<,<=,>,>=(std::multimap) (3) - operator==,!=,<,<=,>,>=(std::multimap)
- operator==,!=,<,<=,>,>=(std::multiset) (3) - operator==,!=,<,<=,>,>=(std::multiset)
- operator==,!=,<,<=,>,>=(std::optional) (3) - operator==,!=,<,<=,>,>=(std::optional)
- operator==,!=,<,<=,>,>=(std::pair) (3) - operator==,!=,<,<=,>,>=(std::pair)
- operator==,!=,<,<=,>,>=(std::queue) (3) - operator==,!=,<,<=,>,>=(std::queue)
- operator==,!=,<,<=,>,>=(std::set) (3) - operator==,!=,<,<=,>,>=(std::set)
- operator==,!=,<,<=,>,>=(std::stack) (3) - operator==,!=,<,<=,>,>=(std::stack)
- operator==,!=,<,<=,>,>=(std::sub_match) (3) - operator==,!=,<,<=,>,>=(std::sub_match)
- operator==,!=,<,<=,>,>=(std::thread::id) (3) - operator==,!=,<,<=,>,>=(std::thread::id)
- operator==,!=,<,<=,>,>=(std::time_point) (3) - operator==,!=,<,<=,>,>=(std::time_point)
- operator==,!=,<,<=,>,>=(std::tuple) (3) - operator==,!=,<,<=,>,>=(std::tuple)
- operator==,!=,<,<=,>,>=(std::unique_ptr) (3) - operator==,!=,<,<=,>,>=(std::unique_ptr)
- operator==,!=,<,<=,>,>=(std::valarray) (3) - operator==,!=,<,<=,>,>=(std::valarray)
- operator==,!=,<,<=,>,>=(std::variant) (3) - operator==,!=,<,<=,>,>=(std::variant)
- operator==,!=,<,<=,>,>=(std::vector) (3) - operator==,!=,<,<=,>,>=(std::vector)
- operator==,!=,<(std::error_condition) (3) - operator==,!=,<(std::error_condition)