Skip to content

Commit 9790c34

Browse files
committed
Hyphenate 'pointer-to-member' when it is an adjective.
Fixes #1369.
1 parent 5824505 commit 9790c34

File tree

8 files changed

+40
-41
lines changed

8 files changed

+40
-41
lines changed

source/basic.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3638,7 +3638,7 @@
36383638

36393639
\pnum
36403640
Arithmetic types~(\ref{basic.fundamental}), enumeration types, pointer
3641-
types, pointer to member types~(\ref{basic.compound}),
3641+
types, pointer-to-member types~(\ref{basic.compound}),
36423642
\tcode{std::nullptr_t},
36433643
and
36443644
cv-qualified~(\ref{basic.type.qualifier}) versions of these
@@ -3928,7 +3928,7 @@
39283928
\pnum
39293929
A value of type \tcode{std::nullptr_t} is a null pointer
39303930
constant~(\ref{conv.ptr}). Such values participate in the pointer and the
3931-
pointer to member conversions~(\ref{conv.ptr}, \ref{conv.mem}).
3931+
pointer-to-member conversions~(\ref{conv.ptr}, \ref{conv.mem}).
39323932
\tcode{sizeof(std::nullptr_t)} shall be equal to \tcode{sizeof(void*)}.
39333933

39343934
\pnum

source/conversions.tex

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
\item Zero or one conversion from the following set: integral
2323
promotions, floating-point promotion, integral conversions, floating-point
2424
conversions, floating-integral conversions, pointer conversions,
25-
pointer to member conversions, and boolean conversions.
25+
pointer-to-member conversions, and boolean conversions.
2626

2727
\item Zero or one function pointer conversion.
2828

@@ -326,7 +326,7 @@
326326

327327
\pnum
328328
\begin{note}
329-
Function types (including those used in pointer to member function
329+
Function types (including those used in pointer-to-member-function
330330
types) are never cv-qualified (\ref{dcl.fct}).
331331
\end{note}
332332
\indextext{conversion!qualification|)}
@@ -527,21 +527,21 @@
527527
object. The null pointer value is converted to the null pointer value of
528528
the destination type.
529529

530-
\rSec1[conv.mem]{Pointer to member conversions}
530+
\rSec1[conv.mem]{Pointer-to-member conversions}
531531

532532
\pnum
533533
\indextext{conversion!pointer to member}%
534534
\indextext{constant!null pointer}%
535535
\indextext{value!null member pointer}%
536-
A null pointer constant~(\ref{conv.ptr}) can be converted to a pointer
537-
to member type; the result is the \term{null member pointer value}
536+
A null pointer constant~(\ref{conv.ptr}) can be converted to a
537+
pointer-to-member type; the result is the \term{null member pointer value}
538538
of that type and is distinguishable from any pointer to member not
539539
created from a null pointer constant.
540540
Such a conversion is called a \term{null member pointer conversion}.
541541
Two null member pointer values of
542542
the same type shall compare equal. The conversion of a null pointer
543543
constant to a pointer to member of cv-qualified type is a single
544-
conversion, and not the sequence of a pointer to member conversion
544+
conversion, and not the sequence of a pointer-to-member conversion
545545
followed by a qualification conversion~(\ref{conv.qual}).
546546

547547
\pnum
@@ -600,7 +600,7 @@
600600

601601
\pnum
602602
\indextext{conversion!boolean}%
603-
A prvalue of arithmetic, unscoped enumeration, pointer, or pointer to member
603+
A prvalue of arithmetic, unscoped enumeration, pointer, or pointer-to-member
604604
type can be converted to a prvalue of type \tcode{bool}. A zero value, null
605605
pointer value, or null member pointer value is converted to \tcode{false}; any
606606
other value is converted to \tcode{true}. For

source/declarators.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -919,7 +919,7 @@
919919
\begin{note}
920920
See also~\ref{expr.unary} and~\ref{expr.mptr.oper}.
921921
The type ``pointer to member'' is distinct from the type ``pointer'',
922-
that is, a pointer to member is declared only by the pointer to member
922+
that is, a pointer to member is declared only by the pointer-to-member
923923
declarator syntax, and never by the pointer declarator syntax.
924924
There is no ``reference-to-member'' type in \Cpp.
925925
\end{note}

source/exceptions.tex

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -500,8 +500,8 @@
500500
\tcode{T} is an unambiguous public base class of \tcode{E}, or
501501
\item%
502502
the \grammarterm{handler} is of type \cv{}~\tcode{T} or \tcode{const T\&}
503-
where \tcode{T} is a pointer or pointer to member type and
504-
\tcode{E} is a pointer or pointer to member type
503+
where \tcode{T} is a pointer or pointer-to-member type and
504+
\tcode{E} is a pointer or pointer-to-member type
505505
that can be converted to \tcode{T} by one or more of
506506
\begin{itemize}
507507

@@ -516,15 +516,15 @@
516516
\end{itemize}
517517

518518
\item
519-
the \grammarterm{handler} is of type \cv{}~\tcode{T} or \tcode{const T\&} where \tcode{T} is a pointer or pointer to member type and \tcode{E} is \tcode{std::nullptr_t}.
519+
the \grammarterm{handler} is of type \cv{}~\tcode{T} or \tcode{const T\&} where \tcode{T} is a pointer or pointer-to-member type and \tcode{E} is \tcode{std::nullptr_t}.
520520

521521
\end{itemize}
522522

523523
\begin{note}
524524
A
525525
\grammarterm{throw-expression}
526526
whose operand is an integer literal with value zero does not match a handler of
527-
pointer or pointer to member type.
527+
pointer or pointer-to-member type.
528528
A handler of reference to array or function type
529529
is never a match for any exception object~(\ref{expr.throw}).
530530
\end{note}

source/expressions.tex

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@
274274
The \defn{composite pointer type} of
275275
two operands \tcode{p1} and
276276
\tcode{p2} having types \tcode{T1} and \tcode{T2}, respectively, where at least one is a
277-
pointer or pointer to member type or
277+
pointer or pointer-to-member type or
278278
\tcode{std::nullptr_t}, is:
279279

280280
\begin{itemize}
@@ -1721,8 +1721,8 @@
17211721
An argument that has type \cv{}~\tcode{std::nullptr_t} is converted
17221722
to type \tcode{void*}~(\ref{conv.ptr}).
17231723
After these conversions, if the
1724-
argument does not have arithmetic, enumeration, pointer, pointer to
1725-
member, or class type, the program is ill-formed. Passing a potentially-evaluated
1724+
argument does not have arithmetic, enumeration, pointer, pointer-to-member,
1725+
or class type, the program is ill-formed. Passing a potentially-evaluated
17261726
argument of class type (Clause~\ref{class}) having a non-trivial
17271727
copy constructor, a non-trivial move constructor,
17281728
or a
@@ -2387,7 +2387,7 @@
23872387
class (Clause~\ref{class.derived}) of \tcode{D},
23882388
if \cvqual{cv2} is the same cv-qualification
23892389
as, or greater cv-qualification than, \cvqual{cv1}.\footnote{Function types
2390-
(including those used in pointer to member function
2390+
(including those used in pointer-to-member-function
23912391
types) are never cv-qualified; see~\ref{dcl.fct}.}
23922392
If no valid standard conversion
23932393
from ``pointer to member of \tcode{B} of type \tcode{T}''
@@ -2558,14 +2558,14 @@
25582558

25592559
\begin{itemize}
25602560
\item converting a prvalue of type ``pointer to member function'' to a
2561-
different pointer to member function type and back to its original type
2562-
yields the original pointer to member value.
2561+
different pointer-to-member-function type and back to its original type
2562+
yields the original pointer-to-member value.
25632563

25642564
\item converting a prvalue of type ``pointer to data member of \tcode{X}
25652565
of type \tcode{T1}'' to the type ``pointer to data member of \tcode{Y}
25662566
of type \tcode{T2}'' (where the alignment requirements of \tcode{T2} are
25672567
no stricter than those of \tcode{T1}) and back to its original type
2568-
yields the original pointer to member value.
2568+
yields the original pointer-to-member value.
25692569
\end{itemize}
25702570

25712571
\pnum
@@ -2771,7 +2771,7 @@
27712771

27722772
\pnum
27732773
\indextext{name!address of cv-qualified}%
2774-
\indextext{expression!pointer to member constant}%
2774+
\indextext{expression!pointer-to-member constant}%
27752775
The result of the unary \tcode{\&} operator is a pointer to its operand.
27762776
The operand shall be an lvalue or a \grammarterm{qualified-id}.
27772777
If the operand is a \grammarterm{qualified-id} naming a non-static or variant member \tcode{m}
@@ -4310,7 +4310,7 @@
43104310
\pnum
43114311
The \tcode{==} (equal to) and the \tcode{!=} (not equal to) operators
43124312
group left-to-right. The operands shall have arithmetic, enumeration, pointer,
4313-
or pointer to member type, or type \tcode{std::nullptr_t}. The operators
4313+
or pointer-to-member type, or type \tcode{std::nullptr_t}. The operators
43144314
\tcode{==} and \tcode{!=} both yield \tcode{true} or \tcode{false}, i.e., a
43154315
result of type \tcode{bool}. In each case below, the operands shall have the
43164316
same type after the specified conversions have been applied.
@@ -4342,7 +4342,7 @@
43424342
\end{itemize}
43434343

43444344
\pnum
4345-
If at least one of the operands is a pointer to member, pointer to member
4345+
If at least one of the operands is a pointer to member, pointer-to-member
43464346
conversions~(\ref{conv.mem}) and qualification
43474347
conversions~(\ref{conv.qual}) are performed on both operands to bring them to
43484348
their composite pointer type (Clause~\ref{expr}).
@@ -4683,8 +4683,8 @@
46834683
composite pointer type (Clause~\ref{expr}). The result is of the composite
46844684
pointer type.
46854685

4686-
\item One or both of the second and third operands have pointer to member type;
4687-
pointer to member conversions~(\ref{conv.mem}) and qualification
4686+
\item One or both of the second and third operands have pointer-to-member type;
4687+
pointer-to-member conversions~(\ref{conv.mem}) and qualification
46884688
conversions~(\ref{conv.qual}) are performed to bring them to their composite
46894689
pointer type (Clause~\ref{expr}). The result is of the composite pointer type.
46904690

source/lex.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1717,8 +1717,8 @@
17171717
The pointer literal is the keyword \tcode{nullptr}. It is a prvalue of type
17181718
\tcode{std::nullptr_t}.
17191719
\begin{note}
1720-
\tcode{std::nullptr_t} is a distinct type that is neither a pointer type nor a pointer
1721-
to member type; rather, a prvalue of this type is a null pointer constant and can be
1720+
\tcode{std::nullptr_t} is a distinct type that is neither a pointer type nor a pointer-to-member type;
1721+
rather, a prvalue of this type is a null pointer constant and can be
17221722
converted to a null pointer value or null member pointer value. See~\ref{conv.ptr}
17231723
and~\ref{conv.mem}.
17241724
\end{note}

source/overloading.tex

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2040,7 +2040,7 @@
20402040
Floating-point conversions & & & \ref{conv.double} \\ \cline{1-1}\cline{4-4}
20412041
Floating-integral conversions & & & \ref{conv.fpint} \\ \cline{1-1}\cline{4-4}
20422042
Pointer conversions & \rb{Conversion} & \rb{Conversion} & \ref{conv.ptr} \\ \cline{1-1}\cline{4-4}
2043-
Pointer to member conversions & & & \ref{conv.mem} \\ \cline{1-1}\cline{4-4}
2043+
Pointer-to-member conversions & & & \ref{conv.mem} \\ \cline{1-1}\cline{4-4}
20442044
Boolean conversions & & & \ref{conv.bool} \\
20452045
\end{floattable}
20462046

@@ -2796,7 +2796,7 @@
27962796
match targets of function pointer type or
27972797
reference to function type.
27982798
Non-static member functions match targets of
2799-
pointer to member function type.
2799+
pointer-to-member-function type.
28002800
If a non-static member function is selected, the reference to the overloaded
28012801
function name is required to have the form of a pointer to member as
28022802
described in~\ref{expr.unary.op}.
@@ -3648,7 +3648,7 @@
36483648
\end{codeblock}
36493649

36503650
\pnum
3651-
For every pointer to member type \tcode{\placeholder{T}} or type \tcode{std::nullptr_t} there
3651+
For every pointer-to-member type \tcode{\placeholder{T}} or type \tcode{std::nullptr_t} there
36523652
exist candidate operator functions of the form
36533653

36543654
\begin{codeblock}
@@ -3715,7 +3715,7 @@
37153715
\cvqual{vq}),
37163716
where
37173717
\tcode{\placeholder{T}}
3718-
is an enumeration or pointer to member type,
3718+
is an enumeration or pointer-to-member type,
37193719
there exist candidate operator functions of the form
37203720

37213721
\begin{codeblock}

source/templates.tex

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6306,7 +6306,7 @@
63066306
the transformed \tcode{A}.
63076307
\item
63086308
The transformed \tcode{A}
6309-
can be another pointer or pointer to member type that can be converted
6309+
can be another pointer or pointer-to-member type that can be converted
63106310
to the deduced
63116311
\tcode{A}
63126312
via a function pointer conversion~(\ref{conv.fctptr}) and/or
@@ -6354,8 +6354,7 @@
63546354
\pnum
63556355
When
63566356
\tcode{P}
6357-
is a function type, function pointer type, or pointer to member
6358-
function type:
6357+
is a function type, function pointer type, or pointer-to-member-function type:
63596358
\begin{itemize}
63606359
\item
63616360
If the argument is an overload set containing one or more function templates,
@@ -6532,12 +6531,12 @@
65326531
\tcode{A} can be ``pointer to function''
65336532
even if the deduced \tcode{A} is ``pointer to noexcept function''.
65346533
\item
6535-
If the original \tcode{A} is a pointer to member function type,
6534+
If the original \tcode{A} is a pointer-to-member-function type,
65366535
\tcode{A} can be ``pointer to member of type function''
65376536
even if the deduced \tcode{A} is ``pointer to member of type noexcept function''.
65386537
\item
65396538
The deduced \tcode{A}
6540-
can be another pointer or pointer to member type that
6539+
can be another pointer or pointer-to-member type that
65416540
can be converted to \tcode{A} via a qualification conversion.
65426541
\end{itemize}
65436542

@@ -6550,7 +6549,7 @@
65506549

65516550
\pnum
65526551
When the deduction process requires a qualification conversion for a
6553-
pointer or pointer to member type as described above, the following
6552+
pointer or pointer-to-member type as described above, the following
65546553
process is used to determine the deduced template argument values:
65556554

65566555
If
@@ -6850,7 +6849,7 @@
68506849
A function type includes the types of each of the function parameters
68516850
and the return type.
68526851
\item
6853-
A pointer to member type includes the type of the class object pointed to
6852+
A pointer-to-member type includes the type of the class object pointed to
68546853
and the type of the member pointed to.
68556854
\item
68566855
A type that is a specialization of a class template (e.g.,
@@ -7371,8 +7370,8 @@
73717370
\pnum
73727371
A
73737372
\grammarterm{template-argument}
7374-
can be deduced from a function, pointer to function, or pointer to
7375-
member function type.
7373+
can be deduced from a function, pointer to function, or
7374+
pointer-to-member-function type.
73767375

73777376
\begin{example}
73787377

0 commit comments

Comments
 (0)