Skip to content

Commit

Permalink
[std] Fix cross-references pointing to entire clauses now that we hav…
Browse files Browse the repository at this point in the history
…e 'preamble' sections.
  • Loading branch information
jensmaurer authored and zygoloid committed Nov 26, 2019
1 parent f426cfb commit d26d3bd
Show file tree
Hide file tree
Showing 10 changed files with 51 additions and 51 deletions.
36 changes: 18 additions & 18 deletions source/basic.tex
Expand Up @@ -108,10 +108,10 @@
declaration specifies the interpretation and semantic properties of these names.
A declaration may also have effects including:
\begin{itemize}
\item a static assertion\iref{dcl.dcl},
\item a static assertion\iref{dcl.pre},
\item controlling template instantiation\iref{temp.explicit},
\item guiding template argument deduction for constructors\iref{temp.deduct.guide},
\item use of attributes\iref{dcl.dcl}, and
\item use of attributes\iref{dcl.attr}, and
\item nothing (in the case of an \grammarterm{empty-declaration}).
\end{itemize}

Expand Down Expand Up @@ -172,19 +172,19 @@
\item it is
a \grammarterm{deduction-guide}\iref{temp.deduct.guide},
\item it is
a \grammarterm{static_assert-declaration}\iref{dcl.dcl},
a \grammarterm{static_assert-declaration}\iref{dcl.pre},
\item
it is an
\grammarterm{attribute-declaration}\iref{dcl.dcl},
\grammarterm{attribute-declaration}\iref{dcl.pre},
\item
it is an
\grammarterm{empty-declaration}\iref{dcl.dcl},
\grammarterm{empty-declaration}\iref{dcl.pre},
\item it is
a \grammarterm{using-directive}\iref{namespace.udir},
\item it is
a \grammarterm{using-enum-declaration}\iref{enum.udecl},
\item it is
a \grammarterm{template-declaration}\iref{temp}
a \grammarterm{template-declaration}\iref{temp.pre}
whose \grammarterm{template-head} is not followed by
either a \grammarterm{concept-definition} or a \grammarterm{declaration}
that defines a function, a class, a variable, or a static data member.
Expand Down Expand Up @@ -241,7 +241,7 @@
#include <string>

struct C {
std::string s; // \tcode{std::string} is the standard library class\iref{strings}
std::string s; // \tcode{std::string} is the standard library class\iref{string.classes}
};

int main() {
Expand Down Expand Up @@ -438,7 +438,7 @@
invoked\iref{class.dtor}.

\pnum
A local entity\iref{basic}
A local entity\iref{basic.pre}
is \defn{odr-usable} in a declarative region\iref{basic.scope.declarative} if:
\begin{itemize}
\item either the local entity is not \tcode{*this}, or
Expand Down Expand Up @@ -792,7 +792,7 @@
\begin{note}
A structured binding\iref{dcl.struct.bind},
namespace name\iref{basic.namespace}, or
class template name\iref{temp}
class template name\iref{temp.pre}
must be unique in its declarative region.
\end{note}
\end{itemize}
Expand Down Expand Up @@ -858,7 +858,7 @@
\pnum
The point of declaration for a class or class template first declared by a
\grammarterm{class-specifier} is immediately after the \grammarterm{identifier} or
\grammarterm{simple-template-id} (if any) in its \grammarterm{class-head}\iref{class}.
\grammarterm{simple-template-id} (if any) in its \grammarterm{class-head}\iref{class.pre}.
The point of declaration for an enumeration is
immediately after the \grammarterm{identifier} (if any) in either its
\grammarterm{enum-specifier}\iref{dcl.enum} or its first
Expand Down Expand Up @@ -934,7 +934,7 @@

\pnum
The point of declaration for an
injected-class-name\iref{class} is immediately following
injected-class-name\iref{class.pre} is immediately following
the opening brace of the class definition.

\pnum
Expand Down Expand Up @@ -1384,7 +1384,7 @@
in the scope where the expression is found.

\pnum
The injected-class-name of a class\iref{class} is also
The injected-class-name of a class\iref{class.pre} is also
considered to be a member of that class for the purposes of name hiding
and lookup.

Expand Down Expand Up @@ -1729,7 +1729,7 @@
\end{example}

\pnum
A name used in the handler for a \grammarterm{function-try-block}\iref{except}
A name used in the handler for a \grammarterm{function-try-block}\iref{except.pre}
is looked up as if the name was used in the
outermost block of the function definition. In particular, the function
parameter names shall not be redeclared in the
Expand Down Expand Up @@ -2122,7 +2122,7 @@
and the \grammarterm{nested-name-specifier} nominates a class \tcode{C}:
\begin{itemize}
\item if the name specified after the \grammarterm{nested-name-specifier},
when looked up in \tcode{C}, is the injected-class-name of \tcode{C}\iref{class}, or
when looked up in \tcode{C}, is the injected-class-name of \tcode{C}\iref{class.pre}, or
\item
in a \grammarterm{using-declarator} of
a \grammarterm{using-declaration}\iref{namespace.udecl} that is a \grammarterm{member-declaration},
Expand Down Expand Up @@ -2596,7 +2596,7 @@

\pnum
\indextext{program}%
A \defn{program} consists of one or more translation units\iref{lex}
A \defn{program} consists of one or more translation units\iref{lex.separate}
linked together. A translation unit consists
of a sequence of declarations.

Expand Down Expand Up @@ -2692,7 +2692,7 @@
\item a variable; or
\item a function; or
\item \indextext{class!linkage of}%
a named class\iref{class}, or an unnamed class defined in a
a named class\iref{class.pre}, or an unnamed class defined in a
typedef declaration in which the class has the typedef name for linkage
purposes\iref{dcl.typedef}; or
\item \indextext{enumeration!linkage of}%
Expand Down Expand Up @@ -2795,7 +2795,7 @@
linkage.

\pnum
Two names that are the same\iref{basic} and that are declared
Two names that are the same\iref{basic.pre} and that are declared
in different scopes shall denote the same variable, function,
type, template or namespace if
\begin{itemize}
Expand Down Expand Up @@ -2970,7 +2970,7 @@
\end{note}
The properties of an
object are determined when the object is created. An object can have a
name\iref{basic}. An object has a storage
name\iref{basic.pre}. An object has a storage
duration\iref{basic.stc} which influences its
lifetime\iref{basic.life}. An object has a
type\iref{basic.types}.
Expand Down
10 changes: 5 additions & 5 deletions source/classes.tex
Expand Up @@ -560,7 +560,7 @@
\end{itemize}
\begin{note}
A single name can denote several member functions provided their types
are sufficiently different\iref{over}.
are sufficiently different\iref{over.load}.
\end{note}

\pnum
Expand Down Expand Up @@ -1234,7 +1234,7 @@
\grammarterm{member-specification} of a class or class template
but is not a friend
declaration\iref{class.friend}, the \grammarterm{id-expression} is the
injected-class-name\iref{class} of the immediately-enclosing entity or
injected-class-name\iref{class.pre} of the immediately-enclosing entity or

\item
in a declaration at namespace scope or in a friend declaration, the
Expand Down Expand Up @@ -2110,7 +2110,7 @@
but is not a friend
declaration\iref{class.friend}, the \grammarterm{id-expression} is
\tcode{\~}\grammarterm{class-name} and the \grammarterm{class-name} is the
injected-class-name\iref{class} of the immediately-enclosing entity or
injected-class-name\iref{class.pre} of the immediately-enclosing entity or

\item
in a declaration at namespace scope or in a friend declaration, the
Expand Down Expand Up @@ -5119,7 +5119,7 @@
\begin{note}
A friend declaration may be the
\grammarterm{declaration} in a \grammarterm{template-declaration}
(\ref{temp}, \ref{temp.friend}).
(\ref{temp.pre}, \ref{temp.friend}).
\end{note}
If the
type specifier in a \tcode{friend} declaration designates a (possibly
Expand Down Expand Up @@ -6482,7 +6482,7 @@
the execution of a constructor and destructor for the parameter copy object

\item when the \grammarterm{exception-declaration} of an
exception handler\iref{except} declares an object of the same
exception handler\iref{except.pre} declares an object of the same
type (except for cv-qualification) as the exception
object\iref{except.throw}, the copy operation can be omitted by treating
the \grammarterm{exception-declaration} as an alias for the exception
Expand Down
12 changes: 6 additions & 6 deletions source/declarations.tex
Expand Up @@ -84,7 +84,7 @@
\grammarterm{linkage-specification}{s} are described in~\ref{dcl.link};
\grammarterm{function-definition}{s} are described in~\ref{dcl.fct.def} and
\grammarterm{template-declaration}{s} and
\grammarterm{deduction-guide}{s} are described in \ref{temp};
\grammarterm{deduction-guide}{s} are described in \ref{temp.deduct.guide};
\grammarterm{namespace-definition}{s} are described in~\ref{namespace.def},
\grammarterm{using-declaration}{s} are described in~\ref{namespace.udecl} and
\grammarterm{using-directive}{s} are described in~\ref{namespace.udir}.
Expand Down Expand Up @@ -237,7 +237,7 @@
constructor, destructor, or conversion function.
\begin{note}
A \grammarterm{nodeclspec-function-declaration} can only be used in a
\grammarterm{template-declaration}\iref{temp},
\grammarterm{template-declaration}\iref{temp.pre},
\grammarterm{explicit-instantiation}\iref{temp.explicit}, or
\grammarterm{explicit-specialization}\iref{temp.expl.spec}.
\end{note}
Expand Down Expand Up @@ -571,7 +571,7 @@
\grammarterm{typedef-name}.
A \grammarterm{typedef-name} names
the type associated with the \grammarterm{identifier}\iref{dcl.decl}
or \grammarterm{simple-template-id}\iref{temp};
or \grammarterm{simple-template-id}\iref{temp.pre};
\indextext{declaration!typedef@\tcode{typedef} as type}%
\indextext{equivalence!type}%
\indextext{synonym!type name as}%
Expand Down Expand Up @@ -2011,7 +2011,7 @@
\pnum
For a \grammarterm{placeholder-type-specifier}
with a \grammarterm{type-constraint},
the immediately-declared constraint\iref{temp}
the immediately-declared constraint\iref{temp.pre}
of the \grammarterm{type-constraint} for the type deduced for the placeholder
shall be satisfied.

Expand Down Expand Up @@ -2171,7 +2171,7 @@
\end{note}

\pnum
The optional \grammarterm{requires-clause}\iref{temp} in an
The optional \grammarterm{requires-clause}\iref{temp.pre} in an
\grammarterm{init-declarator} or \grammarterm{member-declarator}
shall be present only if the declarator declares a
templated function\iref{dcl.fct}.
Expand Down Expand Up @@ -7221,7 +7221,7 @@
\pnum
A declaration in a namespace \tcode{N} (excluding declarations in nested scopes)
whose \grammarterm{declarator-id} is an \grammarterm{unqualified-id}\iref{dcl.meaning},
whose \grammarterm{class-head-name}\iref{class} or
whose \grammarterm{class-head-name}\iref{class.pre} or
\grammarterm{enum-head-name}\iref{dcl.enum} is an \grammarterm{identifier}, or
whose \grammarterm{elaborated-type-specifier} is of the form \grammarterm{class-key}
\opt{\grammarterm{attribute-specifier-seq}} \grammarterm{identifier}\iref{dcl.type.elab}, or
Expand Down
2 changes: 1 addition & 1 deletion source/exceptions.tex
Expand Up @@ -58,7 +58,7 @@
\indextext{exception handling!handler}%
\indextext{try block|see{exception handling, try block}}%
\indextext{handler|see{exception handling, handler}}%
A \grammarterm{try-block} is a \grammarterm{statement}\iref{stmt.stmt}.
A \grammarterm{try-block} is a \grammarterm{statement}\iref{stmt.pre}.
\begin{note}
Within this Clause
``try block'' is taken to mean both \grammarterm{try-block} and
Expand Down
10 changes: 5 additions & 5 deletions source/expressions.tex
Expand Up @@ -1737,7 +1737,7 @@
\begin{note}
The function call operator or operator template may be constrained\iref{temp.constr.decl}
by a \grammarterm{type-constraint}\iref{temp.param},
a \grammarterm{requires-clause}\iref{temp},
a \grammarterm{requires-clause}\iref{temp.pre},
or a trailing \grammarterm{requires-clause}\iref{dcl.decl}.
\begin{example}
\begin{codeblock}
Expand Down Expand Up @@ -2522,7 +2522,7 @@
};
\end{codeblock}
A \grammarterm{requires-expression} can also be used in a
\grammarterm{requires-clause}\iref{temp} as a way of writing ad hoc
\grammarterm{requires-clause}\iref{temp.pre} as a way of writing ad hoc
constraints on template arguments such as the one below:
\begin{codeblock}
template<typename T>
Expand Down Expand Up @@ -2685,7 +2685,7 @@
into the \grammarterm{return-type-requirement} is performed.

\item
The immediately-declared constraint\iref{temp}
The immediately-declared constraint\iref{temp.pre}
of the \grammarterm{type-constraint} for \tcode{decltype((E))}
shall be satisfied.
\begin{example}
Expand Down Expand Up @@ -2992,7 +2992,7 @@
checked at the point of call in the calling function. If a constructor
or destructor for a function parameter throws an exception, the search
for a handler starts in the scope of the calling function; in
particular, if the function called has a \grammarterm{function-try-block}\iref{except}
particular, if the function called has a \grammarterm{function-try-block}\iref{except.pre}
with a handler that could handle the exception,
this handler is not considered.
\end{example}
Expand Down Expand Up @@ -4339,7 +4339,7 @@
\pnum
An \grammarterm{await-expression} shall appear only in a potentially-evaluated
expression within the \grammarterm{compound-statement} of a
\grammarterm{function-body} outside of a \grammarterm{handler}\iref{except}.
\grammarterm{function-body} outside of a \grammarterm{handler}\iref{except.pre}.
In a \grammarterm{declaration-statement} or in the
\grammarterm{simple-declaration} (if any)
of a \grammarterm{for-init-statement}, an \grammarterm{await-expression}
Expand Down
4 changes: 2 additions & 2 deletions source/lib-intro.tex
Expand Up @@ -608,7 +608,7 @@
\begin{example}
An implementation might express such a condition
via the \grammarterm{constant-expression}
in a \grammarterm{static_assert-declaration}\iref{dcl.dcl}.
in a \grammarterm{static_assert-declaration}\iref{dcl.pre}.
If the diagnostic is to be emitted only after the function
has been selected by overload resolution,
an implementation might express such a condition
Expand Down Expand Up @@ -1550,7 +1550,7 @@
\indextext{source file}

\pnum
A translation unit may include library headers in any order\iref{lex}.
A translation unit may include library headers in any order\iref{lex.separate}.
\indextext{unit!translation}%
Each may be included more than once, with no effect different from
being included exactly once, except that the effect of including either
Expand Down
4 changes: 2 additions & 2 deletions source/overloading.tex
Expand Up @@ -3393,9 +3393,9 @@
\terminal{. .* :: ?:}
\end{ncsimplebnf}
nor can the preprocessing symbols
\tcode{\#}
\tcode{\#}\iref{cpp.stringize}
and
\tcode{\#\#}\iref{cpp}.
\tcode{\#\#}\iref{cpp.concat}.

\pnum
\indextext{call!operator function}%
Expand Down
2 changes: 1 addition & 1 deletion source/statements.tex
Expand Up @@ -283,7 +283,7 @@
converted condition is \tcode{false}, the first substatement is a
\defn{discarded statement}, otherwise the second substatement, if
present, is a discarded statement. During the instantiation of an
enclosing templated entity\iref{temp}, if the condition is
enclosing templated entity\iref{temp.pre}, if the condition is
not value-dependent after its instantiation, the discarded substatement
(if any) is not instantiated.
\begin{note}
Expand Down

0 comments on commit d26d3bd

Please sign in to comment.