@@ -12735,81 +12735,81 @@
12735
12735
for two paths, \tcode {p1 == p2} then \tcode {hash_value(p1) == hash_value(p2)}.
12736
12736
\end {itemdescr }
12737
12737
12738
- \indexlibrarymember {operator< }{path}%
12738
+ \indexlibrarymember {operator== }{path}%
12739
12739
\begin {itemdecl }
12740
- bool operator< (const path& lhs, const path& rhs) noexcept;
12740
+ bool operator== (const path& lhs, const path& rhs) noexcept;
12741
12741
\end {itemdecl }
12742
12742
12743
12743
\begin {itemdescr }
12744
12744
\pnum
12745
- \returns \tcode {lhs.compare(rhs) < 0}.
12745
+ \returns \tcode {!(lhs < rhs) \&\& !(rhs < lhs)}.
12746
+
12747
+ \indextext {path equality}
12748
+ \pnum
12749
+ \begin {note } Path equality and path equivalence have different semantics.
12750
+ \begin {itemize }
12751
+ \item Equality is determined by the \tcode {path} non-member \tcode {operator==},
12752
+ which considers the two paths' lexical representations only.
12753
+ \begin {example } \tcode {path("foo") == "bar" } is never \tcode {true}. \end {example }
12754
+ \item Equivalence is determined by the \tcode {equivalent()} non-member function, which
12755
+ determines if two paths resolve\iref {fs.class.path } to the same file system entity.
12756
+ \begin {example }
12757
+ \tcode {equivalent("foo", "bar" )} will be \tcode {true} when both paths resolve to the same file.
12758
+ \end {example }
12759
+ \end {itemize }
12760
+ Programmers wishing to determine if two paths are `` the same'' must decide if
12761
+ `` the same'' means `` the same representation'' or `` resolve to the same actual
12762
+ file'' , and choose the appropriate function accordingly. \end {note }
12746
12763
\end {itemdescr }
12747
12764
12748
- \indexlibrarymember {operator< =}{path}%
12765
+ \indexlibrarymember {operator"! =}{path}%
12749
12766
\begin {itemdecl }
12750
- bool operator< =(const path& lhs, const path& rhs) noexcept;
12767
+ bool operator! =(const path& lhs, const path& rhs) noexcept;
12751
12768
\end {itemdecl }
12752
12769
12753
12770
\begin {itemdescr }
12754
12771
\pnum
12755
- \returns \tcode {!(rhs < lhs )}.
12772
+ \returns \tcode {!(lhs == rhs )}.
12756
12773
\end {itemdescr }
12757
12774
12758
- \indexlibrarymember {operator> }{path}%
12775
+ \indexlibrarymember {operator< }{path}%
12759
12776
\begin {itemdecl }
12760
- bool operator> (const path& lhs, const path& rhs) noexcept;
12777
+ bool operator< (const path& lhs, const path& rhs) noexcept;
12761
12778
\end {itemdecl }
12762
12779
12763
12780
\begin {itemdescr }
12764
12781
\pnum
12765
- \returns \tcode {rhs < lhs }.
12782
+ \returns \tcode {lhs.compare( rhs) < 0 }.
12766
12783
\end {itemdescr }
12767
12784
12768
- \indexlibrarymember {operator> =}{path}%
12785
+ \indexlibrarymember {operator< =}{path}%
12769
12786
\begin {itemdecl }
12770
- bool operator> =(const path& lhs, const path& rhs) noexcept;
12787
+ bool operator< =(const path& lhs, const path& rhs) noexcept;
12771
12788
\end {itemdecl }
12772
12789
12773
12790
\begin {itemdescr }
12774
12791
\pnum
12775
- \returns \tcode {!(lhs < rhs )}.
12792
+ \returns \tcode {!(rhs < lhs )}.
12776
12793
\end {itemdescr }
12777
12794
12778
- \indexlibrarymember {operator== }{path}%
12795
+ \indexlibrarymember {operator> }{path}%
12779
12796
\begin {itemdecl }
12780
- bool operator== (const path& lhs, const path& rhs) noexcept;
12797
+ bool operator> (const path& lhs, const path& rhs) noexcept;
12781
12798
\end {itemdecl }
12782
12799
12783
12800
\begin {itemdescr }
12784
12801
\pnum
12785
- \returns \tcode {!(lhs < rhs) \&\& !(rhs < lhs)}.
12786
-
12787
- \indextext {path equality}
12788
- \pnum
12789
- \begin {note } Path equality and path equivalence have different semantics.
12790
- \begin {itemize }
12791
- \item Equality is determined by the \tcode {path} non-member \tcode {operator==},
12792
- which considers the two paths' lexical representations only.
12793
- \begin {example } \tcode {path("foo") == "bar" } is never \tcode {true}. \end {example }
12794
- \item Equivalence is determined by the \tcode {equivalent()} non-member function, which
12795
- determines if two paths resolve\iref {fs.class.path } to the same file system entity.
12796
- \begin {example }
12797
- \tcode {equivalent("foo", "bar" )} will be \tcode {true} when both paths resolve to the same file.
12798
- \end {example }
12799
- \end {itemize }
12800
- Programmers wishing to determine if two paths are `` the same'' must decide if
12801
- `` the same'' means `` the same representation'' or `` resolve to the same actual
12802
- file'' , and choose the appropriate function accordingly. \end {note }
12802
+ \returns \tcode {rhs < lhs}.
12803
12803
\end {itemdescr }
12804
12804
12805
- \indexlibrarymember {operator"! =}{path}%
12805
+ \indexlibrarymember {operator> =}{path}%
12806
12806
\begin {itemdecl }
12807
- bool operator! =(const path& lhs, const path& rhs) noexcept;
12807
+ bool operator> =(const path& lhs, const path& rhs) noexcept;
12808
12808
\end {itemdecl }
12809
12809
12810
12810
\begin {itemdescr }
12811
12811
\pnum
12812
- \returns \tcode {!(lhs == rhs)}.
12812
+ \returns \tcode {!(lhs < rhs)}.
12813
12813
\end {itemdescr }
12814
12814
12815
12815
\indexlibrarymember {operator/}{path}%
@@ -13391,11 +13391,11 @@
13391
13391
file_status symlink_status() const;
13392
13392
file_status symlink_status(error_code& ec) const noexcept;
13393
13393
13394
- bool operator< (const directory_entry& rhs) const noexcept;
13395
13394
bool operator==(const directory_entry& rhs) const noexcept;
13396
13395
bool operator!=(const directory_entry& rhs) const noexcept;
13397
- bool operator<= (const directory_entry& rhs) const noexcept;
13396
+ bool operator< (const directory_entry& rhs) const noexcept;
13398
13397
bool operator> (const directory_entry& rhs) const noexcept;
13398
+ bool operator<=(const directory_entry& rhs) const noexcept;
13399
13399
bool operator>=(const directory_entry& rhs) const noexcept;
13400
13400
13401
13401
private:
@@ -13788,24 +13788,24 @@
13788
13788
\returns \tcode {pathobject < rhs.pathobject}.
13789
13789
\end {itemdescr }
13790
13790
13791
- \indexlibrarymember {operator<= }{directory_entry}%
13791
+ \indexlibrarymember {operator> }{directory_entry}%
13792
13792
\begin {itemdecl }
13793
- bool operator<= (const directory_entry& rhs) const noexcept;
13793
+ bool operator> (const directory_entry& rhs) const noexcept;
13794
13794
\end {itemdecl }
13795
13795
13796
13796
\begin {itemdescr }
13797
13797
\pnum
13798
- \returns \tcode {pathobject <= rhs.pathobject}.
13798
+ \returns \tcode {pathobject > rhs.pathobject}.
13799
13799
\end {itemdescr }
13800
13800
13801
- \indexlibrarymember {operator> }{directory_entry}%
13801
+ \indexlibrarymember {operator<= }{directory_entry}%
13802
13802
\begin {itemdecl }
13803
- bool operator> (const directory_entry& rhs) const noexcept;
13803
+ bool operator<= (const directory_entry& rhs) const noexcept;
13804
13804
\end {itemdecl }
13805
13805
13806
13806
\begin {itemdescr }
13807
13807
\pnum
13808
- \returns \tcode {pathobject > rhs.pathobject}.
13808
+ \returns \tcode {pathobject <= rhs.pathobject}.
13809
13809
\end {itemdescr }
13810
13810
13811
13811
\indexlibrarymember {operator>=}{directory_entry}%
14939
14939
14940
14940
\pnum
14941
14941
\begin {note } The current path as returned by many operating systems is a dangerous
14942
- global variable. It may be changed unexpectedly by a third-party or system
14942
+ global variable. It may be changed unexpectedly by third-party or system
14943
14943
library functions, or by another thread. \end {note }
14944
14944
\end {itemdescr }
14945
14945
0 commit comments