Difference between revisions of "cpp/filesystem/path/operator cmp"
From cppreference.com
< cpp | filesystem | path
m (link to zh) |
m (merge noexcept) |
||
Line 3: | Line 3: | ||
{{dcl begin}} | {{dcl begin}} | ||
{{dcl | num=1 | since=c++17 | 1= | {{dcl | num=1 | since=c++17 | 1= | ||
− | bool operator==( const path& lhs, const path& rhs ); | + | bool operator==( const path& lhs, const path& rhs ) ; |
}} | }} | ||
{{dcl | num=2 | since=c++17 | 1= | {{dcl | num=2 | since=c++17 | 1= | ||
− | bool operator!=( const path& lhs, const path& rhs ); | + | bool operator!=( const path& lhs, const path& rhs ) ; |
}} | }} | ||
{{dcl | num=3 | since=c++17 | 1= | {{dcl | num=3 | since=c++17 | 1= | ||
− | bool operator<( const path& lhs, const path& rhs ); | + | bool operator<( const path& lhs, const path& rhs ) ; |
}} | }} | ||
{{dcl | num=4 | since=c++17 | 1= | {{dcl | num=4 | since=c++17 | 1= | ||
− | bool operator<=( const path& lhs, const path& rhs ); | + | bool operator<=( const path& lhs, const path& rhs ) ; |
}} | }} | ||
{{dcl | num=5 | since=c++17 | 1= | {{dcl | num=5 | since=c++17 | 1= | ||
− | bool operator>( const path& lhs, const path& rhs ); | + | bool operator>( const path& lhs, const path& rhs ) ; |
}} | }} | ||
{{dcl | num=6 | since=c++17 | 1= | {{dcl | num=6 | since=c++17 | 1= | ||
− | bool operator>=( const path& lhs, const path& rhs ); | + | bool operator>=( const path& lhs, const path& rhs ) ; |
}} | }} | ||
{{dcl end}} | {{dcl end}} | ||
Line 43: | Line 43: | ||
===Return value=== | ===Return value=== | ||
{{c|true}} if the corresponding comparison yields, {{c|false}} otherwise. | {{c|true}} if the corresponding comparison yields, {{c|false}} otherwise. | ||
− | |||
− | |||
− | |||
===Notes=== | ===Notes=== |
Revision as of 18:27, 10 May 2017
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).Contents |
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.
See also
compares the lexical representations of two paths lexicographically (public member function) |