Skip to content

Commit 0575cd6

Browse files
Dawn Perchikzygoloid
authored andcommitted
LWG2989 path's stream insertion operator lets you insert everything under the sun
1 parent 5c43407 commit 0575cd6

File tree

1 file changed

+47
-47
lines changed

1 file changed

+47
-47
lines changed

source/iostreams.tex

Lines changed: 47 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -10699,14 +10699,6 @@
1069910699

1070010700
path operator/ (const path& lhs, const path& rhs);
1070110701

10702-
// \ref{fs.path.io}, \tcode{path} inserter and extractor
10703-
template<class charT, class traits>
10704-
basic_ostream<charT, traits>&
10705-
operator<<(basic_ostream<charT, traits>& os, const path& p);
10706-
template<class charT, class traits>
10707-
basic_istream<charT, traits>&
10708-
operator>>(basic_istream<charT, traits>& is, path& p);
10709-
1071010702
// \ref{fs.path.factory}, \tcode{path} factory functions
1071110703
template<class Source>
1071210704
path u8path(const Source& source);
@@ -11156,6 +11148,14 @@
1115611148

1115711149
iterator begin() const;
1115811150
iterator end() const;
11151+
11152+
// \ref{fs.path.io}, \tcode{path} inserter and extractor
11153+
template<class charT, class traits>
11154+
friend basic_ostream<charT, traits>&
11155+
operator<<(basic_ostream<charT, traits>& os, const path& p);
11156+
template<class charT, class traits>
11157+
friend basic_istream<charT, traits>&
11158+
operator>>(basic_istream<charT, traits>& is, path& p);
1115911159
};
1116011160
}
1116111161
\end{codeblock}
@@ -12581,6 +12581,45 @@
1258112581
\returns The end iterator.
1258212582
\end{itemdescr}
1258312583

12584+
\rSec3[fs.path.io]{\tcode{path} inserter and extractor}
12585+
12586+
\indexlibrarymember{operator<<}{path}%
12587+
\begin{itemdecl}
12588+
template<class charT, class traits>
12589+
friend basic_ostream<charT, traits>&
12590+
operator<<(basic_ostream<charT, traits>& os, const path& p);
12591+
\end{itemdecl}
12592+
12593+
\begin{itemdescr}
12594+
\pnum
12595+
\effects Equivalent to \tcode{os << quoted(p.string<charT, traits>())}.
12596+
\begin{note} The \tcode{quoted} function is described in~\ref{quoted.manip}. \end{note}
12597+
12598+
\pnum
12599+
\returns \tcode{os}.
12600+
\end{itemdescr}
12601+
12602+
\indexlibrarymember{operator>>}{path}%
12603+
\begin{itemdecl}
12604+
template<class charT, class traits>
12605+
friend basic_istream<charT, traits>&
12606+
operator>>(basic_istream<charT, traits>& is, path& p);
12607+
\end{itemdecl}
12608+
12609+
\begin{itemdescr}
12610+
\pnum
12611+
\effects
12612+
Equivalent to:
12613+
\begin{codeblock}
12614+
basic_string<charT, traits> tmp;
12615+
is >> quoted(tmp);
12616+
p = tmp;
12617+
\end{codeblock}
12618+
12619+
\pnum
12620+
\returns \tcode{is}.
12621+
\end{itemdescr}
12622+
1258412623
\rSec3[fs.path.nonmember]{\tcode{path} non-member functions}
1258512624

1258612625
\indexlibrary{\idxcode{swap}!\idxcode{path}}%
@@ -12691,45 +12730,6 @@
1269112730
\effects Equivalent to: \tcode{return path(lhs) /= rhs;}
1269212731
\end{itemdescr}
1269312732

12694-
\rSec4[fs.path.io]{\tcode{path} inserter and extractor}
12695-
12696-
\indexlibrarymember{operator<<}{path}%
12697-
\begin{itemdecl}
12698-
template<class charT, class traits>
12699-
basic_ostream<charT, traits>&
12700-
operator<<(basic_ostream<charT, traits>& os, const path& p);
12701-
\end{itemdecl}
12702-
12703-
\begin{itemdescr}
12704-
\pnum
12705-
\effects Equivalent to \tcode{os << quoted(p.string<charT, traits>())}.
12706-
\begin{note} The \tcode{quoted} function is described in~\ref{quoted.manip}. \end{note}
12707-
12708-
\pnum
12709-
\returns \tcode{os}.
12710-
\end{itemdescr}
12711-
12712-
\indexlibrarymember{operator>>}{path}%
12713-
\begin{itemdecl}
12714-
template<class charT, class traits>
12715-
basic_istream<charT, traits>&
12716-
operator>>(basic_istream<charT, traits>& is, path& p);
12717-
\end{itemdecl}
12718-
12719-
\begin{itemdescr}
12720-
\pnum
12721-
\effects
12722-
Equivalent to:
12723-
\begin{codeblock}
12724-
basic_string<charT, traits> tmp;
12725-
is >> quoted(tmp);
12726-
p = tmp;
12727-
\end{codeblock}
12728-
12729-
\pnum
12730-
\returns \tcode{is}.
12731-
\end{itemdescr}
12732-
1273312733
\rSec4[fs.path.factory]{\tcode{path} factory functions}
1273412734

1273512735
\indexlibrary{\idxcode{u8path}}%

0 commit comments

Comments
 (0)