Skip to content

Commit 8c50cba

Browse files
jensmaurertkoeppe
authored andcommitted
Clarify which kind of parameter pack is intended. (#2020)
1 parent c9e60ab commit 8c50cba

File tree

4 files changed

+19
-19
lines changed

4 files changed

+19
-19
lines changed

source/expressions.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -939,7 +939,7 @@
939939
to which is appended one invented type
940940
\grammarterm{template-parameter} for each occurrence of \tcode{auto} in the
941941
lambda's \grammarterm{parameter-declaration-clause}, in order of appearance.
942-
The invented type \grammarterm{template-parameter} is a parameter pack if
942+
The invented type \grammarterm{template-parameter} is a template parameter pack if
943943
the corresponding \grammarterm{parameter-declaration} declares a function
944944
parameter pack\iref{dcl.fct}. The return type and function parameters of the
945945
function call operator template are derived from the

source/future.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2198,7 +2198,7 @@
21982198
\begin{itemdescr}
21992199
\pnum
22002200
\requires
2201-
\tcode{Fn} and all types in the parameter pack \tcode{ArgTypes} shall be complete types,
2201+
\tcode{Fn} and all types in the template parameter pack \tcode{ArgTypes} shall be complete types,
22022202
\cv{}~\tcode{void}, or arrays of unknown bound.
22032203

22042204
\pnum

source/templates.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7995,9 +7995,9 @@
79957995
\pnum
79967996
If, after considering the above, function template \tcode{F}
79977997
is at least as specialized as function template \tcode{G} and vice-versa, and
7998-
if \tcode{G} has a trailing parameter pack
7998+
if \tcode{G} has a trailing function parameter pack
79997999
for which \tcode{F} does not have a corresponding parameter, and
8000-
if \tcode{F} does not have a trailing parameter pack,
8000+
if \tcode{F} does not have a trailing function parameter pack,
80018001
then \tcode{F} is more specialized than \tcode{G}.
80028002

80038003
\pnum

source/utilities.tex

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,7 @@
410410

411411
\pnum
412412
The library provides a class template that can represent an integer sequence.
413-
When used as an argument to a function template the parameter pack defining the
413+
When used as an argument to a function template the template parameter pack defining the
414414
sequence can be deduced and used in a pack expansion.
415415
\begin{note}
416416
The \tcode{index_sequence} alias template is provided for the common case of
@@ -1575,7 +1575,7 @@
15751575
\rSec3[tuple.creation]{Tuple creation functions}
15761576

15771577
\pnum
1578-
In the function descriptions that follow, the members of a parameter pack \tcode{\placeholder{X}Types}
1578+
In the function descriptions that follow, the members of a template parameter pack \tcode{\placeholder{X}Types}
15791579
are denoted by \tcode{\placeholder{X}}$_i$ for $i$ in \range{0}{sizeof...(\placeholder{X}Types)} in
15801580
order, where indexing is zero-based.
15811581

@@ -1668,7 +1668,7 @@
16681668
\pnum
16691669
\requires For all $i$, $\tcode{U}_i$ shall be the type
16701670
$\cv_i$ \tcode{tuple<$\tcode{Args}_i$...>}, where $\cv_i$ is the (possibly empty) $i^\text{th}$
1671-
\grammarterm{cv-qualifier-seq} and $\tcode{Args}_i$ is the parameter pack representing the element
1671+
\grammarterm{cv-qualifier-seq} and $\tcode{Args}_i$ is the template parameter pack representing the element
16721672
types in $\tcode{U}_i$. Let $\tcode{A}_{ik}$ be the ${k}^\text{th}$ type in $\tcode{Args}_i$. For all
16731673
$\tcode{A}_{ik}$ the following requirements shall be satisfied:
16741674
\begin{itemize}
@@ -1696,7 +1696,7 @@
16961696

16971697
\pnum
16981698
\begin{note}
1699-
An implementation may support additional types in the parameter
1699+
An implementation may support additional types in the template parameter
17001700
pack \tcode{Tuples} that support the \tcode{tuple}-like protocol, such as
17011701
\tcode{pair} and \tcode{array}.
17021702
\end{note}
@@ -16019,7 +16019,7 @@
1601916019
for a \cv{}~\tcode{void} type \tcode{T},
1602016020
\tcode{is_constructible_v<T, Args...>} is \tcode{false},
1602116021
otherwise \seebelow &
16022-
\tcode{T} and all types in the parameter pack \tcode{Args}
16022+
\tcode{T} and all types in the template parameter pack \tcode{Args}
1602316023
shall be complete types, \cv{}~\tcode{void},
1602416024
or arrays of unknown bound. \\ \rowsep
1602516025

@@ -16133,7 +16133,7 @@
1613316133
\tcode{Args...>} is \tcode{true} and the variable
1613416134
definition for \tcode{is_constructible}, as defined below, is known to call
1613516135
no operation that is not trivial~(\ref{basic.types}, \ref{special}). &
16136-
\tcode{T} and all types in the parameter pack \tcode{Args} shall be complete types,
16136+
\tcode{T} and all types in the template parameter pack \tcode{Args} shall be complete types,
1613716137
\cv{}~\tcode{void}, or arrays of unknown bound. \\ \rowsep
1613816138

1613916139
\indexlibrary{\idxcode{is_trivially_default_constructible}}%
@@ -16206,7 +16206,7 @@
1620616206
variable definition for \tcode{is_constructible}, as defined below, is known not to
1620716207
throw any exceptions\iref{expr.unary.noexcept}.
1620816208
&
16209-
\tcode{T} and all types in the parameter pack \tcode{Args}
16209+
\tcode{T} and all types in the template parameter pack \tcode{Args}
1621016210
shall be complete types, \cv{}~\tcode{void},
1621116211
or arrays of unknown bound. \\ \rowsep
1621216212

@@ -16505,7 +16505,7 @@
1650516505
\tcode{struct is_invocable;} &
1650616506
The expression \tcode{\placeholdernc{INVOKE}(declval<Fn>(), declval<ArgTypes>()...)}
1650716507
is well-formed when treated as an unevaluated operand &
16508-
\tcode{Fn} and all types in the parameter pack \tcode{ArgTypes}
16508+
\tcode{Fn} and all types in the template parameter pack \tcode{ArgTypes}
1650916509
shall be complete types, \cv{}~\tcode{void}, or
1651016510
arrays of unknown bound. \\ \rowsep
1651116511

@@ -16514,7 +16514,7 @@
1651416514
\tcode{struct is_invocable_r;} &
1651516515
The expression \tcode{\placeholdernc{INVOKE}<R>(declval<Fn>(), declval<ArgTypes>()...)}
1651616516
is well-formed when treated as an unevaluated operand &
16517-
\tcode{Fn}, \tcode{R}, and all types in the parameter pack \tcode{ArgTypes}
16517+
\tcode{Fn}, \tcode{R}, and all types in the template parameter pack \tcode{ArgTypes}
1651816518
shall be complete types, \cv{}~\tcode{void}, or
1651916519
arrays of unknown bound. \\ \rowsep
1652016520

@@ -16524,7 +16524,7 @@
1652416524
\tcode{is_invocable_v<}\br\tcode{Fn, ArgTypes...>} is \tcode{true} and
1652516525
the expression \tcode{\placeholdernc{INVOKE}(declval<Fn>(), declval<ArgTypes>()...)}
1652616526
is known not to throw any exceptions &
16527-
\tcode{Fn} and all types in the parameter pack \tcode{ArgTypes}
16527+
\tcode{Fn} and all types in the template parameter pack \tcode{ArgTypes}
1652816528
shall be complete types, \cv{}~\tcode{void}, or
1652916529
arrays of unknown bound. \\ \rowsep
1653016530

@@ -16534,7 +16534,7 @@
1653416534
\tcode{is_invocable_r_v<}\br\tcode{R, Fn, ArgTypes...>} is \tcode{true} and
1653516535
the expression \tcode{\placeholdernc{INVOKE}<R>(declval<Fn>(), declval<ArgTypes>()...)}
1653616536
is known not to throw any exceptions &
16537-
\tcode{Fn}, \tcode{R}, and all types in the parameter pack \tcode{ArgTypes}
16537+
\tcode{Fn}, \tcode{R}, and all types in the template parameter pack \tcode{ArgTypes}
1653816538
shall be complete types, \cv{}~\tcode{void}, or
1653916539
arrays of unknown bound. \\
1654016540
\end{libreqtab3f}
@@ -16861,7 +16861,7 @@
1686116861
shall be an integral constant of type \tcode{size_t} whose value is the
1686216862
strictest alignment of all types listed in \tcode{Types}.\br
1686316863
\requires{} At least one type is provided.
16864-
Each type in the parameter pack \tcode{Types} shall be a complete object type.
16864+
Each type in the template parameter pack \tcode{Types} shall be a complete object type.
1686516865
\\ \rowsep
1686616866

1686716867
\indexlibrary{\idxcode{remove_cvref}}%
@@ -16905,7 +16905,7 @@
1690516905
Unless this trait is specialized (as specified in Note B, below),
1690616906
the member \tcode{type} shall be defined or omitted as specified in Note A, below.
1690716907
If it is omitted, there shall be no member \tcode{type}.
16908-
Each type in the parameter pack \tcode{T} shall be
16908+
Each type in the template parameter pack \tcode{T} shall be
1690916909
complete, \cv{}~\tcode{void}, or an array of unknown bound. \\ \rowsep
1691016910

1691116911
\indexlibrary{\idxcode{underlying_type}}%
@@ -16935,7 +16935,7 @@
1693516935
functions, and so on. Such side effects are not in the ``immediate
1693616936
context'' and can result in the program being ill-formed.
1693716937
\end{note} \br
16938-
\requires{} \tcode{Fn} and all types in the parameter pack \tcode{ArgTypes} shall
16938+
\requires{} \tcode{Fn} and all types in the template parameter pack \tcode{ArgTypes} shall
1693916939
be complete types, \cv{}~\tcode{void}, or arrays of
1694016940
unknown bound.\\
1694116941
\end{libreqtab2a}
@@ -16961,7 +16961,7 @@
1696116961
\indexlibrary{\idxcode{common_type}}%
1696216962
\pnum
1696316963
Note A:
16964-
For the \tcode{common_type} trait applied to a parameter pack \tcode{T} of types,
16964+
For the \tcode{common_type} trait applied to a template parameter pack \tcode{T} of types,
1696516965
the member \tcode{type} shall be either defined or not present as follows:
1696616966

1696716967
\begin{itemize}

0 commit comments

Comments
 (0)