diff --git a/source/future.tex b/source/future.tex index 1013de2903..f94b2c3320 100644 --- a/source/future.tex +++ b/source/future.tex @@ -792,7 +792,9 @@ \xrefc{7.29} -\rSec1[depr.fs.path.factory]{Deprecated filesystem path factory functions} +\rSec1[depr.filesystems]{Deprecated file systems} + +\rSec2[depr.fs.path.factory]{Deprecated filesystem path factory functions} \pnum The header \libheaderrefx{filesystem}{fs.filesystem.syn} has the following additions: @@ -871,6 +873,45 @@ \end{note} \end{itemdescr} +\rSec2[depr.fs.path.obs]{Deprecated filesystem path format observers} + +\indexlibraryglobal{path}% +\pnum +The following members are declared in addition to those members +specified in \ref{fs.path.member}: + +\begin{codeblock} +namespace std::filesystem { + class path { + public: + std::string string() const; + std::string generic_string() const; + }; +} +\end{codeblock} + +\indexlibrarymember{string}{path}% +\begin{itemdecl} +std::string string() const; +\end{itemdecl} + +\begin{itemdescr} +\pnum +\returns +\tcode{system_encoded_string()}. +\end{itemdescr} + +\indexlibrarymember{generic_string}{path}% +\begin{itemdecl} +std::string generic_string() const; +\end{itemdecl} + +\begin{itemdescr} +\pnum +\returns +\tcode{generic_system_encoded_string()}. +\end{itemdescr} + \rSec1[depr.atomics]{Deprecated atomic operations} \rSec2[depr.atomics.general]{General} diff --git a/source/iostreams.tex b/source/iostreams.tex index ca591f1f67..1d61e51523 100644 --- a/source/iostreams.tex +++ b/source/iostreams.tex @@ -13708,7 +13708,8 @@ class Allocator = allocator> basic_string string(const Allocator& a = Allocator()) const; - std::string string() const; + std::string display_string() const; + std::string system_encoded_string() const; std::wstring wstring() const; std::u8string u8string() const; std::u16string u16string() const; @@ -13719,7 +13720,8 @@ class Allocator = allocator> basic_string generic_string(const Allocator& a = Allocator()) const; - std::string generic_string() const; + std::string generic_display_string() const; + std::string generic_system_encoded_string() const; std::wstring generic_wstring() const; std::u8string generic_u8string() const; std::u16string generic_u16string() const; @@ -14690,13 +14692,13 @@ \ref{fs.path.cvt}. \end{itemdescr} -\indexlibrarymember{string}{path}% +\indexlibrarymember{system_encoded_string}{path}% \indexlibrarymember{wstring}{path}% \indexlibrarymember{u8string}{path}% \indexlibrarymember{u16string}{path}% \indexlibrarymember{u32string}{path}% \begin{itemdecl} -std::string string() const; +std::string system_encoded_string() const; std::wstring wstring() const; std::u8string u8string() const; std::u16string u16string() const; @@ -14714,6 +14716,20 @@ by \ref{fs.path.cvt}. \end{itemdescr} +\indexlibrarymember{display_string}{path}% +\begin{itemdecl} +std::string display_string() const; +\end{itemdecl} + +\begin{itemdescr} +\pnum +\returns +\tcode{format("{}", *this)}. +\begin{note} +The returned string is suitable for use with formatting\iref{format.functions} +and print functions\iref{print.fun}. +\end{note} +\end{itemdescr} \rSec4[fs.path.generic.obs]{Generic format observers} @@ -14753,13 +14769,13 @@ \ref{fs.path.cvt}. \end{itemdescr} -\indexlibrarymember{generic_string}{path}% +\indexlibrarymember{generic_system_encoded_string}{path}% \indexlibrarymember{generic_wstring}{path}% \indexlibrarymember{generic_u8string}{path}% \indexlibrarymember{generic_u16string}{path}% \indexlibrarymember{generic_u32string}{path}% \begin{itemdecl} -std::string generic_string() const; +std::string generic_system_encoded_string() const; std::wstring generic_wstring() const; std::u8string generic_u8string() const; std::u16string generic_u16string() const; @@ -14776,6 +14792,21 @@ Conversion, if any, is specified by~\ref{fs.path.cvt}. \end{itemdescr} +\indexlibrarymember{generic_display_string}{path}% +\begin{itemdecl} +std::string generic_display_string() const; +\end{itemdecl} + +\begin{itemdescr} +\pnum +\returns +\tcode{format("{:g}", *this)}. +\begin{note} +The returned string is suitable for use with formatting\iref{format.functions} +and print functions\iref{print.fun}. +\end{note} +\end{itemdescr} + \rSec4[fs.path.compare]{Compare} \indexlibrarymember{compare}{path}% diff --git a/source/support.tex b/source/support.tex index 9f4bb1eb77..9c927aefda 100644 --- a/source/support.tex +++ b/source/support.tex @@ -676,7 +676,7 @@ #define @\defnlibxname{cpp_lib_flat_set}@ 202207L // also in \libheader{flat_set} #define @\defnlibxname{cpp_lib_format}@ 202311L // also in \libheader{format} #define @\defnlibxname{cpp_lib_format_ranges}@ 202207L // also in \libheader{format} -#define @\defnlibxname{cpp_lib_format_path}@ 202403L // also in \libheader{filesystem} +#define @\defnlibxname{cpp_lib_format_path}@ 202506L // also in \libheader{filesystem} #define @\defnlibxname{cpp_lib_format_uchar}@ 202311L // also in \libheader{format} #define @\defnlibxname{cpp_lib_formatters}@ 202302L // also in \libheader{stacktrace}, \libheader{thread} #define @\defnlibxname{cpp_lib_forward_like}@ 202207L // freestanding, also in \libheader{utility}