Skip to content

Commit db77cbd

Browse files
jensmaurerzygoloid
authored andcommitted
[over] Replace \term with \defnx to add index entries
1 parent 5d039ac commit db77cbd

File tree

1 file changed

+26
-35
lines changed

1 file changed

+26
-35
lines changed

source/overloading.tex

Lines changed: 26 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,7 @@
2323
of the arguments at the point of use with the types of the parameters
2424
in the overloaded declarations that are visible at the point of use.
2525
This function selection process is called
26-
\term{overload resolution}
27-
and
28-
is defined in~\ref{over.match}.
26+
\defn{overload resolution} and is defined in~\ref{over.match}.
2927
\begin{example}
3028

3129
\indextext{overloading!example of}%
@@ -396,7 +394,7 @@
396394
Overload resolution is a mechanism for selecting the best
397395
function to call given a list of expressions that are to be the
398396
arguments of the call and a set of
399-
\term{candidate functions}
397+
\defnx{candidate functions}{candidate function}
400398
that can
401399
be called based on the context of the call.
402400
The selection
@@ -831,7 +829,7 @@
831829
of ($\tcode{P}_1, \dotsc, \tcode{P}_n$) returning \tcode{R}'',
832830
or the type
833831
``reference to function of ($\tcode{P}_1, \dotsc, \tcode{P}_n$)
834-
returning \tcode{R}'', a \term{surrogate call function} with the unique name
832+
returning \tcode{R}'', a \defn{surrogate call function} with the unique name
835833
\placeholder{call-function}
836834
and having the form
837835

@@ -982,10 +980,9 @@
982980
and a right operand of a type whose cv-unqualified version is
983981
\tcode{T2},
984982
three sets of candidate functions, designated
985-
\term{member candidates},
986-
\term{non-member candidates}
987-
and
988-
\term{built-in candidates},
983+
\defnx{member candidates}{member candidate},
984+
\defnx{non-member candidates}{non-member candidate}
985+
and \defnx{built-in candidates}{built-in candidate},
989986
are constructed as follows:
990987
\begin{itemize}
991988
\item
@@ -1592,7 +1589,7 @@
15921589
\tcode{F}
15931590
to be a viable function, there shall exist for each
15941591
argument an
1595-
\term{implicit conversion sequence}\iref{over.best.ics} that
1592+
implicit conversion sequence\iref{over.best.ics} that
15961593
converts that argument to the corresponding parameter of
15971594
\tcode{F}.
15981595
If the parameter has reference type, the implicit conversion sequence
@@ -1639,7 +1636,7 @@
16391636
\tcode{F1}
16401637
is defined
16411638
to be a
1642-
\term{better}
1639+
\defnx{better}{overloading!resolution!better viable function}
16431640
function than another viable function
16441641
\tcode{F2}
16451642
if
@@ -1910,11 +1907,10 @@
19101907

19111908
\rSec3[over.best.ics]{Implicit conversion sequences}%
19121909
\indextext{overloading!resolution!implicit conversions and|(}
1910+
\indextext{implicit conversion sequence|see{conversion sequence, implicit}}
19131911

19141912
\pnum
1915-
An
1916-
\term{implicit conversion sequence}
1917-
\indextext{sequence!implicit conversion}%
1913+
An \defnx{implicit conversion sequence}{conversion sequence!implicit}
19181914
is a sequence of conversions used
19191915
to convert an argument in a function call to the type of the
19201916
corresponding parameter of the function being called.
@@ -1944,14 +1940,11 @@
19441940

19451941
\begin{itemize}
19461942
\item
1947-
a
1948-
\term{standard conversion sequence}\iref{over.ics.scs},
1943+
a standard conversion sequence\iref{over.ics.scs},
19491944
\item
1950-
a
1951-
\term{user-defined conversion sequence}\iref{over.ics.user}, or
1945+
a user-defined conversion sequence\iref{over.ics.user}, or
19521946
\item
1953-
an
1954-
\term{ellipsis conversion sequence}\iref{over.ics.ellipsis}.
1947+
an ellipsis conversion sequence\iref{over.ics.ellipsis}.
19551948
\end{itemize}
19561949

19571950
\pnum
@@ -2050,8 +2043,7 @@
20502043
convert the argument to the parameter type, the implicit
20512044
conversion sequence associated with the parameter is defined to be
20522045
the unique conversion sequence designated the
2053-
\term{ambiguous conversion sequence}.
2054-
\indextext{sequence!ambiguous conversion}%
2046+
\defnx{ambiguous conversion sequence}{conversion sequence!ambiguous}.
20552047
For the purpose of ranking implicit conversion sequences as described
20562048
in~\ref{over.ics.rank}, the ambiguous conversion sequence is treated
20572049
as a user-defined conversion sequence that is indistinguishable from any
@@ -2484,18 +2476,18 @@
24842476
\pnum
24852477
This subclause defines a partial ordering of implicit conversion
24862478
sequences based on the relationships
2487-
\term{better conversion sequence}
2479+
\defnx{better conversion sequence}{conversion sequence!better}
24882480
and
2489-
\term{better conversion}.
2481+
\defnx{better conversion}{conversion!better}.
24902482
If an implicit conversion sequence S1 is
24912483
defined by these rules to be a better conversion sequence than
24922484
S2, then it is also the case that S2 is a
2493-
\term{worse conversion sequence}
2485+
\defnx{worse conversion sequence}{conversion sequence!worse}
24942486
than S1.
24952487
If conversion sequence S1 is neither better
24962488
than nor worse than conversion sequence S2, S1 and S2 are said to
24972489
be
2498-
\term{indistinguishable conversion sequences}.
2490+
\defnx{indistinguishable conversion sequences}{conversion sequence!indistinguishable}.
24992491

25002492
\pnum
25012493
When comparing the basic forms of implicit conversion sequences
@@ -3049,17 +3041,16 @@
30493041

30503042
\pnum
30513043
\indextext{operator!overloaded}%
3052-
\indextext{function!operator}%
30533044
A function declaration having one of the following
30543045
\grammarterm{operator-function-id}{s}
30553046
as its name declares an
3056-
\term{operator function}.
3047+
\defnx{operator function}{function!operator}.
30573048
A function template declaration having one of the
30583049
following \grammarterm{operator-function-id}{s} as its name
3059-
declares an \term{operator function template}. A specialization
3050+
declares an \defnx{operator function template}{function!operator!template}. A specialization
30603051
of an operator function template is also an operator function.
30613052
An operator function is said to
3062-
\term{implement}
3053+
\defnx{implement}{operator!implementation}
30633054
the operator named in its
30643055
\grammarterm{operator-function-id}.
30653056

@@ -3484,7 +3475,7 @@
34843475
implicit terminating \tcode{'\textbackslash 0'}.
34853476
The \grammarterm{ud-suffix} of the \grammarterm{user-defined-string-literal} or
34863477
the \grammarterm{identifier} in a \grammarterm{literal-operator-id} is called a
3487-
\term{literal suffix identifier}.
3478+
\defnx{literal suffix identifier}{literal!suffix identifier}.
34883479
Some literal suffix identifiers are reserved for future standardization;
34893480
see~\ref{usrlit.suffix}. A declaration whose \grammarterm{literal-operator-id} uses
34903481
such a literal suffix identifier is ill-formed, no diagnostic required.
@@ -3495,9 +3486,9 @@
34953486
function or function template (it could be a friend
34963487
function\iref{class.friend}), an explicit instantiation or specialization of a
34973488
function template, or a \grammarterm{using-declaration}\iref{namespace.udecl}.
3498-
A function declared with a \grammarterm{literal-operator-id} is a \term{literal
3499-
operator}. A function template declared with a \grammarterm{literal-operator-id}
3500-
is a \term{literal operator template}.
3489+
A function declared with a \grammarterm{literal-operator-id} is a \defnx{literal
3490+
operator}{literal!operator}. A function template declared with a \grammarterm{literal-operator-id}
3491+
is a \defnx{literal operator template}{literal!operator!template}.
35013492

35023493
\pnum
35033494
The declaration of a literal operator shall have a
@@ -3521,7 +3512,7 @@
35213512
ill-formed.
35223513

35233514
\pnum
3524-
A \term{raw literal operator} is a literal operator with a single parameter
3515+
A \defnx{raw literal operator}{literal!operator!raw} is a literal operator with a single parameter
35253516
whose type is \tcode{const char*}.
35263517

35273518
\pnum

0 commit comments

Comments
 (0)