From 3ca20fa13728271ea44677f9349d7bc01041c52d Mon Sep 17 00:00:00 2001 From: Alisdair Meredith Date: Sun, 27 Nov 2022 18:11:13 +0700 Subject: [PATCH 1/6] [format.arg] Apply `\exposid` consistently Consistently apply the `\exposid` macro when typesetting exposition-only private data members and typedef-name members in `basic_format_arg` and related parts. Note that I confirmed the exposition-only intent against P0645R10 to ensure that the use of code font was a genuine misapplication of the original paper. --- source/utilities.tex | 48 ++++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/source/utilities.tex b/source/utilities.tex index 30f814b68d..e03353266d 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -16298,27 +16298,27 @@ class handle; private: - using char_type = typename Context::char_type; // \expos + using @\exposid{char-type}@ = typename Context::char_type; // \expos - variant, + const @\exposid{char-type}@*, basic_string_view<@\exposid{char-type}@>, const void*, handle> value; // \expos template explicit basic_format_arg(T&& v) noexcept; // \expos explicit basic_format_arg(float n) noexcept; // \expos explicit basic_format_arg(double n) noexcept; // \expos explicit basic_format_arg(long double n) noexcept; // \expos - explicit basic_format_arg(const char_type* s); // \expos + explicit basic_format_arg(const @\exposid{char-type}@* s); // \expos template explicit basic_format_arg( - basic_string_view s) noexcept; // \expos + basic_string_view<@\exposid{char-type}@, traits> s) noexcept; // \expos template explicit basic_format_arg( - const basic_string& s) noexcept; // \expos + const basic_string<@\exposid{char-type}@, traits, Allocator>& s) noexcept; // \expos explicit basic_format_arg(nullptr_t) noexcept; // \expos @@ -16378,10 +16378,10 @@ \effects \begin{itemize} \item -if \tcode{T} is \tcode{bool} or \tcode{char_type}, +if \tcode{T} is \tcode{bool} or \tcode{\exposid{char-type}}, initializes \tcode{value} with \tcode{v}; \item -otherwise, if \tcode{T} is \tcode{char} and \tcode{char_type} is +otherwise, if \tcode{T} is \tcode{char} and \tcode{\exposid{char-type}} is \keyword{wchar_t}, initializes \tcode{value} with \tcode{static_cast(v)}; \item @@ -16419,7 +16419,7 @@ \end{itemdescr} \begin{itemdecl} -explicit basic_format_arg(const char_type* s); +explicit basic_format_arg(const @\exposid{char-type}@* s); \end{itemdecl} \begin{itemdescr} @@ -16434,27 +16434,27 @@ \begin{itemdecl} template - explicit basic_format_arg(basic_string_view s) noexcept; + explicit basic_format_arg(basic_string_view<@\exposid{char-type}@, traits> s) noexcept; \end{itemdecl} \begin{itemdescr} \pnum \effects Initializes \tcode{value} with -\tcode{basic_string_view(s.data(), s.size())}. +\tcode{basic_string_view<\exposid{char-type}>(s.data(), s.size())}. \end{itemdescr} \begin{itemdecl} template explicit basic_format_arg( - const basic_string& s) noexcept; + const basic_string<@\exposid{char-type}@, traits, Allocator>& s) noexcept; \end{itemdecl} \begin{itemdescr} \pnum \effects Initializes \tcode{value} with -\tcode{basic_string_view(s.data(), s.size())}. +\tcode{basic_string_view<\exposid{char-type}>(s.data(), s.size())}. \end{itemdescr} \begin{itemdecl} @@ -16511,8 +16511,8 @@ namespace std { template class basic_format_arg::handle { - const void* ptr_; // \expos - void (*format_)(basic_format_parse_context&, + const void* @\exposid{ptr_}@; // \expos + void (*@\exposid{format_}@)(basic_format_parse_context&, Context&, const void*); // \expos template explicit handle(T&& val) noexcept; // \expos @@ -16552,8 +16552,8 @@ \pnum \effects Initializes -\tcode{ptr_} with \tcode{addressof(val)} and -\tcode{format_} with +\tcode{\exposid{ptr_}} with \tcode{addressof(val)} and +\tcode{\exposid{format_}} with \begin{codeblock} [](basic_format_parse_context& parse_ctx, Context& format_ctx, const void* ptr) { @@ -16573,7 +16573,7 @@ \begin{itemdescr} \pnum \effects -Equivalent to: \tcode{format_(parse_ctx, format_ctx, ptr_);} +Equivalent to: \tcode{\exposid{format_}(parse_ctx, format_ctx, \exposid{ptr_});} \end{itemdescr} \indexlibraryglobal{visit_format_arg}% @@ -16642,8 +16642,8 @@ namespace std { template class basic_format_args { - size_t size_; // \expos - const basic_format_arg* data_; // \expos + size_t using @\exposid{size_}@; // \expos + const basic_format_arg* using @\exposid{data_}@; // \expos public: basic_format_args() noexcept; @@ -16675,7 +16675,7 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{size_} with \tcode{0}. +Initializes \tcode{\exposid{size_}} with \tcode{0}. \end{itemdescr} \indexlibraryctor{basic_format_args}% @@ -16688,8 +16688,8 @@ \pnum \effects Initializes -\tcode{size_} with \tcode{sizeof...(Args)} and -\tcode{data_} with \tcode{store.args.data()}. +\tcode{\exposid{size_}} with \tcode{sizeof...(Args)} and +\tcode{\exposid{data_}} with \tcode{store.args.data()}. \end{itemdescr} \indexlibrarymember{get}{basic_format_args}% @@ -16700,7 +16700,7 @@ \begin{itemdescr} \pnum \returns -\tcode{i < size_ ?\ data_[i] :\ basic_format_arg()}. +\tcode{i < \exposid{size_} ?\ \exposid{data_}[i] :\ basic_format_arg()}. \end{itemdescr} \rSec2[format.tuple]{Tuple formatter} From e1fb4ccb60975279c308c2aadcb543e462c48d00 Mon Sep 17 00:00:00 2001 From: Alisdair Meredith Date: Sun, 27 Nov 2022 20:13:25 +0700 Subject: [PATCH 2/6] Update source/utilities.tex Co-authored-by: Jonathan Wakely --- source/utilities.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/utilities.tex b/source/utilities.tex index e03353266d..a3ab67dc6c 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -16512,7 +16512,7 @@ template class basic_format_arg::handle { const void* @\exposid{ptr_}@; // \expos - void (*@\exposid{format_}@)(basic_format_parse_context&, + void (*@\exposid{format_}@)(basic_format_parse_context<\exposid{char-type}>&, Context&, const void*); // \expos template explicit handle(T&& val) noexcept; // \expos From 17f4dc1db069dce83baee12e7f88f3eec0ca66a1 Mon Sep 17 00:00:00 2001 From: Alisdair Meredith Date: Sun, 27 Nov 2022 20:14:39 +0700 Subject: [PATCH 3/6] Update source/utilities.tex MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thanks. I made a very mechanical edit, and was not sure if the `\tcode` was redundant. Co-authored-by: Johel Ernesto Guerrero Peña --- source/utilities.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/utilities.tex b/source/utilities.tex index a3ab67dc6c..0988acc3e7 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -16688,8 +16688,8 @@ \pnum \effects Initializes -\tcode{\exposid{size_}} with \tcode{sizeof...(Args)} and -\tcode{\exposid{data_}} with \tcode{store.args.data()}. +\exposid{size_} with \tcode{sizeof...(Args)} and +\exposid{data_} with \tcode{store.args.data()}. \end{itemdescr} \indexlibrarymember{get}{basic_format_args}% From 789e434bfcb66c6917fc67186a432f95bdc9f291 Mon Sep 17 00:00:00 2001 From: Alisdair Meredith Date: Sun, 27 Nov 2022 20:14:56 +0700 Subject: [PATCH 4/6] Update source/utilities.tex MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Johel Ernesto Guerrero Peña --- source/utilities.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/utilities.tex b/source/utilities.tex index 0988acc3e7..f23f84fcd8 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -16675,7 +16675,7 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{\exposid{size_}} with \tcode{0}. +Initializes \exposid{size_} with \tcode{0}. \end{itemdescr} \indexlibraryctor{basic_format_args}% From 003238d7a3e70fd6163a6f96fd3c4e9ae183c093 Mon Sep 17 00:00:00 2001 From: Alisdair Meredith Date: Sun, 27 Nov 2022 20:52:27 +0700 Subject: [PATCH 5/6] Catch some missed exposid macros This should catch all of the missing *char-type* exposid macros. Additionally, add a trailing underscore to the exposition only private data member, 'value', and consistently render it as exposid as well. --- source/utilities.tex | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/source/utilities.tex b/source/utilities.tex index f23f84fcd8..e069e4c813 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -16304,7 +16304,7 @@ int, unsigned int, long long int, unsigned long long int, float, double, long double, const @\exposid{char-type}@*, basic_string_view<@\exposid{char-type}@>, - const void*, handle> value; // \expos + const void*, handle> @\exposid{value_}@; // \expos template explicit basic_format_arg(T&& v) noexcept; // \expos explicit basic_format_arg(float n) noexcept; // \expos @@ -16379,30 +16379,30 @@ \begin{itemize} \item if \tcode{T} is \tcode{bool} or \tcode{\exposid{char-type}}, -initializes \tcode{value} with \tcode{v}; +initializes \exposid{value_} with \tcode{v}; \item otherwise, if \tcode{T} is \tcode{char} and \tcode{\exposid{char-type}} is -\keyword{wchar_t}, initializes \tcode{value} with +\keyword{wchar_t}, initializes \exposid{value_} with \tcode{static_cast(v)}; \item otherwise, if \tcode{T} is a signed integer type\iref{basic.fundamental} and \tcode{sizeof(T) <= sizeof(int)}, -initializes \tcode{value} with \tcode{static_cast(v)}; +initializes \exposid{value_} with \tcode{static_cast(v)}; \item otherwise, if \tcode{T} is an unsigned integer type and \tcode{sizeof(T) <= sizeof(unsigned int)}, initializes -\tcode{value} with \tcode{static_cast(v)}; +\exposid{value_} with \tcode{static_cast(v)}; \item otherwise, if \tcode{T} is a signed integer type and \tcode{sizeof(T) <= sizeof(long long int)}, initializes -\tcode{value} with \tcode{static_cast(v)}; +\exposid{value_} with \tcode{static_cast(v)}; \item otherwise, if \tcode{T} is an unsigned integer type and \tcode{sizeof(T) <= sizeof(unsigned long long int)}, initializes -\tcode{value} with +\exposid{value_} with \tcode{static_cast(v)}; \item -otherwise, initializes \tcode{value} with \tcode{handle(v)}. +otherwise, initializes \exposid{value_} with \tcode{handle(v)}. \end{itemize} \end{itemdescr} @@ -16415,7 +16415,7 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{value} with \tcode{n}. +Initializes \exposid{value_} with \tcode{n}. \end{itemdescr} \begin{itemdecl} @@ -16429,7 +16429,7 @@ \pnum \effects -Initializes \tcode{value} with \tcode{s}. +Initializes \exposid{value_} with \tcode{s}. \end{itemdescr} \begin{itemdecl} @@ -16440,7 +16440,7 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{value} with +Initializes \exposid{value_} with \tcode{basic_string_view<\exposid{char-type}>(s.data(), s.size())}. \end{itemdescr} @@ -16453,7 +16453,7 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{value} with +Initializes \exposid{value_} with \tcode{basic_string_view<\exposid{char-type}>(s.data(), s.size())}. \end{itemdescr} @@ -16464,7 +16464,7 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{value} with +Initializes \exposid{value_} with \tcode{static_cast(nullptr)}. \end{itemdescr} @@ -16479,7 +16479,7 @@ \pnum \effects -Initializes \tcode{value} with \tcode{p}. +Initializes \exposid{value_} with \tcode{p}. \pnum \begin{note} @@ -16499,7 +16499,7 @@ \begin{itemdescr} \pnum \returns -\tcode{!holds_alternative(value)}. +\tcode{!holds_alternative(\exposid{value_})}. \end{itemdescr} \pnum @@ -16520,7 +16520,7 @@ friend class basic_format_arg; // \expos public: - void format(basic_format_parse_context&, Context& ctx) const; + void format(basic_format_parse_context<@\exposid{char-type}@>&, Context& ctx) const; }; } \end{codeblock} @@ -16555,7 +16555,7 @@ \tcode{\exposid{ptr_}} with \tcode{addressof(val)} and \tcode{\exposid{format_}} with \begin{codeblock} -[](basic_format_parse_context& parse_ctx, +[](basic_format_parse_context<@\exposid{char-type}@>& parse_ctx, Context& format_ctx, const void* ptr) { typename Context::template formatter_type f; parse_ctx.advance_to(f.parse(parse_ctx)); @@ -16567,7 +16567,7 @@ \indexlibrarymember{format}{basic_format_arg::handle}% \begin{itemdecl} -void format(basic_format_parse_context& parse_ctx, Context& format_ctx) const; +void format(basic_format_parse_context<@\exposid{char-type}@>& parse_ctx, Context& format_ctx) const; \end{itemdecl} \begin{itemdescr} @@ -16585,7 +16585,7 @@ \begin{itemdescr} \pnum \effects -Equivalent to: \tcode{return visit(forward(vis), arg.value);} +Equivalent to: \tcode{return visit(forward(vis), arg.\exposid{value_});} \end{itemdescr} \rSec3[format.arg.store]{Class template \exposid{format-arg-store}} From 827410912c4208012ffab4196b1bbb63e49b7595 Mon Sep 17 00:00:00 2001 From: Alisdair Meredith Date: Sun, 27 Nov 2022 21:03:58 +0700 Subject: [PATCH 6/6] Update source/utilities.tex MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Johel Ernesto Guerrero Peña --- source/utilities.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/utilities.tex b/source/utilities.tex index e069e4c813..01dbcc80b1 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -16304,7 +16304,7 @@ int, unsigned int, long long int, unsigned long long int, float, double, long double, const @\exposid{char-type}@*, basic_string_view<@\exposid{char-type}@>, - const void*, handle> @\exposid{value_}@; // \expos + const void*, handle> @\exposid{value_}@; // \expos template explicit basic_format_arg(T&& v) noexcept; // \expos explicit basic_format_arg(float n) noexcept; // \expos