Skip to content

Commit d95ee7d

Browse files
committed
Hyphenate 'pointer-to-member' when it is an adjective.
Fixes #1369.
1 parent 95977f1 commit d95ee7d

File tree

8 files changed

+41
-42
lines changed

8 files changed

+41
-42
lines changed

source/basic.tex

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

36023602
\pnum
36033603
Arithmetic types~(\ref{basic.fundamental}), enumeration types, pointer
3604-
types, pointer to member types~(\ref{basic.compound}),
3604+
types, pointer-to-member types~(\ref{basic.compound}),
36053605
\tcode{std::nullptr_t},
36063606
and
36073607
cv-qualified versions of these
@@ -3883,7 +3883,7 @@
38833883
\pnum
38843884
A value of type \tcode{std::nullptr_t} is a null pointer
38853885
constant~(\ref{conv.ptr}). Such values participate in the pointer and the
3886-
pointer to member conversions~(\ref{conv.ptr}, \ref{conv.mem}).
3886+
pointer-to-member conversions~(\ref{conv.ptr}, \ref{conv.mem}).
38873887
\tcode{sizeof(std::nullptr_t)} shall be equal to \tcode{sizeof(void*)}.
38883888

38893889
\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

@@ -323,7 +323,7 @@
323323

324324
\pnum
325325
\begin{note}
326-
Function types (including those used in pointer to member function
326+
Function types (including those used in pointer-to-member-function
327327
types) are never cv-qualified~(\ref{dcl.fct}).
328328
\end{note}
329329
\indextext{conversion!qualification|)}
@@ -524,21 +524,21 @@
524524
object. The null pointer value is converted to the null pointer value of
525525
the destination type.
526526

527-
\rSec1[conv.mem]{Pointer to member conversions}
527+
\rSec1[conv.mem]{Pointer-to-member conversions}
528528

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

544544
\pnum
@@ -597,7 +597,7 @@
597597

598598
\pnum
599599
\indextext{conversion!boolean}%
600-
A prvalue of arithmetic, unscoped enumeration, pointer, or pointer to member
600+
A prvalue of arithmetic, unscoped enumeration, pointer, or pointer-to-member
601601
type can be converted to a prvalue of type \tcode{bool}. A zero value, null
602602
pointer value, or null member pointer value is converted to \tcode{false}; any
603603
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
@@ -926,7 +926,7 @@
926926
\begin{note}
927927
See also~\ref{expr.unary} and~\ref{expr.mptr.oper}.
928928
The type ``pointer to member'' is distinct from the type ``pointer'',
929-
that is, a pointer to member is declared only by the pointer to member
929+
that is, a pointer to member is declared only by the pointer-to-member
930930
declarator syntax, and never by the pointer declarator syntax.
931931
There is no ``reference-to-member'' type in \Cpp.
932932
\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: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@
272272
The \defn{composite pointer type} of
273273
two operands \tcode{p1} and
274274
\tcode{p2} having types \tcode{T1} and \tcode{T2}, respectively, where at least one is a
275-
pointer or pointer to member type or
275+
pointer or pointer-to-member type or
276276
\tcode{std::nullptr_t}, is:
277277

278278
\begin{itemize}
@@ -1667,8 +1667,8 @@
16671667
An argument that has type \cv{}~\tcode{std::nullptr_t} is converted
16681668
to type \tcode{void*}~(\ref{conv.ptr}).
16691669
After these conversions, if the
1670-
argument does not have arithmetic, enumeration, pointer, pointer to
1671-
member, or class type, the program is ill-formed. Passing a potentially-evaluated
1670+
argument does not have arithmetic, enumeration, pointer, pointer-to-member,
1671+
or class type, the program is ill-formed. Passing a potentially-evaluated
16721672
argument of class type (Clause~\ref{class}) having a non-trivial
16731673
copy constructor, a non-trivial move constructor,
16741674
or a
@@ -2333,7 +2333,7 @@
23332333
class (Clause~\ref{class.derived}) of \tcode{D},
23342334
if \cvqual{cv2} is the same cv-qualification
23352335
as, or greater cv-qualification than, \cvqual{cv1}.\footnote{Function types
2336-
(including those used in pointer to member function
2336+
(including those used in pointer-to-member-function
23372337
types) are never cv-qualified; see~\ref{dcl.fct}.}
23382338
If no valid standard conversion
23392339
from ``pointer to member of \tcode{B} of type \tcode{T}''
@@ -2504,14 +2504,14 @@
25042504

25052505
\begin{itemize}
25062506
\item converting a prvalue of type ``pointer to member function'' to a
2507-
different pointer to member function type and back to its original type
2508-
yields the original pointer to member value.
2507+
different pointer-to-member-function type and back to its original type
2508+
yields the original pointer-to-member value.
25092509

25102510
\item converting a prvalue of type ``pointer to data member of \tcode{X}
25112511
of type \tcode{T1}'' to the type ``pointer to data member of \tcode{Y}
25122512
of type \tcode{T2}'' (where the alignment requirements of \tcode{T2} are
25132513
no stricter than those of \tcode{T1}) and back to its original type
2514-
yields the original pointer to member value.
2514+
yields the original pointer-to-member value.
25152515
\end{itemize}
25162516

25172517
\pnum
@@ -2717,7 +2717,7 @@
27172717

27182718
\pnum
27192719
\indextext{name!address of cv-qualified}%
2720-
\indextext{expression!pointer to member constant}%
2720+
\indextext{expression!pointer-to-member constant}%
27212721
The result of the unary \tcode{\&} operator is a pointer to its operand.
27222722
The operand shall be an lvalue or a \grammarterm{qualified-id}.
27232723
If the operand is a \grammarterm{qualified-id} naming a non-static or variant member \tcode{m}
@@ -3940,7 +3940,7 @@
39403940
operand is an lvalue and an xvalue otherwise. The result of a \tcode{.*} expression whose
39413941
second operand is a pointer to a member function is a prvalue.
39423942
If the second operand is the null
3943-
pointer to member value~(\ref{conv.mem}), the behavior is undefined.
3943+
pointer-to-member value~(\ref{conv.mem}), the behavior is undefined.
39443944

39453945
\rSec1[expr.mul]{Multiplicative operators}%
39463946
\indextext{expression!multiplicative operators}%
@@ -4246,7 +4246,7 @@
42464246
\pnum
42474247
The \tcode{==} (equal to) and the \tcode{!=} (not equal to) operators
42484248
group left-to-right. The operands shall have arithmetic, enumeration, pointer,
4249-
or pointer to member type, or type \tcode{std::nullptr_t}. The operators
4249+
or pointer-to-member type, or type \tcode{std::nullptr_t}. The operators
42504250
\tcode{==} and \tcode{!=} both yield \tcode{true} or \tcode{false}, i.e., a
42514251
result of type \tcode{bool}. In each case below, the operands shall have the
42524252
same type after the specified conversions have been applied.
@@ -4278,7 +4278,7 @@
42784278
\end{itemize}
42794279

42804280
\pnum
4281-
If at least one of the operands is a pointer to member, pointer to member
4281+
If at least one of the operands is a pointer to member, pointer-to-member
42824282
conversions~(\ref{conv.mem}) and qualification
42834283
conversions~(\ref{conv.qual}) are performed on both operands to bring them to
42844284
their composite pointer type (Clause~\ref{expr}).
@@ -4619,8 +4619,8 @@
46194619
composite pointer type (Clause~\ref{expr}). The result is of the composite
46204620
pointer type.
46214621

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

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
@@ -2006,7 +2006,7 @@
20062006
Floating-point conversions & & & \ref{conv.double} \\ \cline{1-1}\cline{4-4}
20072007
Floating-integral conversions & & & \ref{conv.fpint} \\ \cline{1-1}\cline{4-4}
20082008
Pointer conversions & \rb{Conversion} & \rb{Conversion} & \ref{conv.ptr} \\ \cline{1-1}\cline{4-4}
2009-
Pointer to member conversions & & & \ref{conv.mem} \\ \cline{1-1}\cline{4-4}
2009+
Pointer-to-member conversions & & & \ref{conv.mem} \\ \cline{1-1}\cline{4-4}
20102010
Boolean conversions & & & \ref{conv.bool} \\
20112011
\end{floattable}
20122012

@@ -2762,7 +2762,7 @@
27622762
match targets of function pointer type or
27632763
reference to function type.
27642764
Non-static member functions match targets of
2765-
pointer to member function type.
2765+
pointer-to-member-function type.
27662766
If a non-static member function is selected, the reference to the overloaded
27672767
function name is required to have the form of a pointer to member as
27682768
described in~\ref{expr.unary.op}.
@@ -3614,7 +3614,7 @@
36143614
\end{codeblock}
36153615

36163616
\pnum
3617-
For every pointer to member type \tcode{\placeholder{T}} or type \tcode{std::nullptr_t} there
3617+
For every pointer-to-member type \tcode{\placeholder{T}} or type \tcode{std::nullptr_t} there
36183618
exist candidate operator functions of the form
36193619

36203620
\begin{codeblock}
@@ -3681,7 +3681,7 @@
36813681
\cvqual{vq}),
36823682
where
36833683
\tcode{\placeholder{T}}
3684-
is an enumeration or pointer to member type,
3684+
is an enumeration or pointer-to-member type,
36853685
there exist candidate operator functions of the form
36863686

36873687
\begin{codeblock}

source/templates.tex

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6303,7 +6303,7 @@
63036303
the transformed \tcode{A}.
63046304
\item
63056305
The transformed \tcode{A}
6306-
can be another pointer or pointer to member type that can be converted
6306+
can be another pointer or pointer-to-member type that can be converted
63076307
to the deduced
63086308
\tcode{A}
63096309
via a function pointer conversion~(\ref{conv.fctptr}) and/or
@@ -6351,8 +6351,7 @@
63516351
\pnum
63526352
When
63536353
\tcode{P}
6354-
is a function type, function pointer type, or pointer to member
6355-
function type:
6354+
is a function type, function pointer type, or pointer-to-member-function type:
63566355
\begin{itemize}
63576356
\item
63586357
If the argument is an overload set containing one or more function templates,
@@ -6529,12 +6528,12 @@
65296528
\tcode{A} can be ``pointer to function''
65306529
even if the deduced \tcode{A} is ``pointer to noexcept function''.
65316530
\item
6532-
If the original \tcode{A} is a pointer to member function type,
6531+
If the original \tcode{A} is a pointer-to-member-function type,
65336532
\tcode{A} can be ``pointer to member of type function''
65346533
even if the deduced \tcode{A} is ``pointer to member of type noexcept function''.
65356534
\item
65366535
The deduced \tcode{A}
6537-
can be another pointer or pointer to member type that
6536+
can be another pointer or pointer-to-member type that
65386537
can be converted to \tcode{A} via a qualification conversion.
65396538
\end{itemize}
65406539

@@ -6547,7 +6546,7 @@
65476546

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

65536552
If
@@ -6848,7 +6847,7 @@
68486847
A function type includes the types of each of the function parameters
68496848
and the return type.
68506849
\item
6851-
A pointer to member type includes the type of the class object pointed to
6850+
A pointer-to-member type includes the type of the class object pointed to
68526851
and the type of the member pointed to.
68536852
\item
68546853
A type that is a specialization of a class template (e.g.,
@@ -7369,8 +7368,8 @@
73697368
\pnum
73707369
A
73717370
\grammarterm{template-argument}
7372-
can be deduced from a function, pointer to function, or pointer to
7373-
member function type.
7371+
can be deduced from a function, pointer to function, or
7372+
pointer-to-member-function type.
73747373

73757374
\begin{example}
73767375

0 commit comments

Comments
 (0)