|
373 | 373 | if \tcode{T1} is ``pointer to \cvqual{cv1} \tcode{C1}'' and \tcode{T2} is ``pointer to
|
374 | 374 | \cvqual{cv2} \tcode{C2}'', where \tcode{C1} is reference-related to \tcode{C2} or \tcode{C2} is
|
375 | 375 | reference-related to \tcode{C1}\iref{dcl.init.ref},
|
376 |
| -the cv-combined type\iref{conv.qual} |
377 |
| -of \tcode{T1} and \tcode{T2} or the cv-combined type of \tcode{T2} and \tcode{T1}, |
| 376 | +the qualification-combined type\iref{conv.qual} |
| 377 | +of \tcode{T1} and \tcode{T2} or the qualification-combined type of \tcode{T2} and \tcode{T1}, |
378 | 378 | respectively;
|
379 | 379 |
|
380 | 380 | \item
|
|
396 | 396 | for some non-function type \tcode{U},
|
397 | 397 | where \tcode{C1} is
|
398 | 398 | reference-related to \tcode{C2} or \tcode{C2} is reference-related to
|
399 |
| -\tcode{C1}\iref{dcl.init.ref}, the cv-combined type of \tcode{T2} and \tcode{T1} or the cv-combined type |
| 399 | +\tcode{C1}\iref{dcl.init.ref}, the qualification-combined type of \tcode{T2} and \tcode{T1} or the qualification-combined type |
400 | 400 | of \tcode{T1} and \tcode{T2}, respectively;
|
401 | 401 |
|
402 | 402 | \item
|
403 |
| -if \tcode{T1} and \tcode{T2} are similar types\iref{conv.qual}, the cv-combined type of \tcode{T1} and |
| 403 | +if \tcode{T1} and \tcode{T2} are similar types\iref{conv.qual}, the qualification-combined type of \tcode{T1} and |
404 | 404 | \tcode{T2};
|
405 | 405 |
|
406 | 406 | \item
|
|
724 | 724 |
|
725 | 725 | \indextext{conversion!qualification|(}%
|
726 | 726 | \pnum
|
727 |
| -A \defn{cv-decomposition} of a type \tcode{T} |
| 727 | +A \defn{qualification-decomposition} of a type \tcode{T} |
728 | 728 | is a sequence of
|
729 | 729 | $\cv{}_i$ and $P_i$
|
730 | 730 | such that \tcode{T} is
|
|
743 | 743 | the cv-qualifiers $\cv{}_i$ of the array.
|
744 | 744 | \begin{example}
|
745 | 745 | The type denoted by the \grammarterm{type-id} \tcode{const int **}
|
746 |
| -has three cv-decompositions, |
| 746 | +has three qualification-decompositions, |
747 | 747 | taking \tcode{U}
|
748 | 748 | as ``\tcode{int}'',
|
749 | 749 | as ``pointer to \tcode{const int}'', and
|
750 | 750 | as ``pointer to pointer to \tcode{const int}''.
|
751 | 751 | \end{example}
|
752 | 752 | The $n$-tuple of cv-qualifiers after the first one
|
753 |
| -in the longest cv-decomposition of \tcode{T}, that is, |
| 753 | +in the longest qualification-decomposition of \tcode{T}, that is, |
754 | 754 | $\cv{}_1, \cv{}_2, \dotsc, \cv{}_n$, is called the
|
755 | 755 | \defn{cv-qualification signature} of \tcode{T}.
|
756 | 756 |
|
757 | 757 | \pnum
|
758 | 758 | \indextext{type!similar|see{similar types}}%
|
759 | 759 | Two types \tcode{T1} and \tcode{T2} are \defnx{similar}{similar types} if
|
760 |
| -they have cv-decompositions with the same $n$ |
| 760 | +they have qualification-decompositions with the same $n$ |
761 | 761 | such that corresponding $P_i$ components are either the same
|
762 | 762 | or one is ``array of $N_i$'' and the other is ``array of unknown bound of'',
|
763 | 763 | and the types denoted by \tcode{U} are the same.
|
764 | 764 |
|
765 | 765 | \pnum
|
766 |
| -The \defnadj{cv-combined}{type} of two types \tcode{T1} and \tcode{T2} |
| 766 | +The \defnadj{qualification-combined}{type} of two types \tcode{T1} and \tcode{T2} |
767 | 767 | is the type \tcode{T3}
|
768 |
| -similar to \tcode{T1} whose cv-decomposition is such that: |
| 768 | +similar to \tcode{T1} whose qualification-decomposition is such that: |
769 | 769 | \begin{itemize}
|
770 | 770 | \item
|
771 | 771 | for every $i > 0$, $\cv{}^3_i$ is the union of
|
|
779 | 779 | then \tcode{const} is added to every $\cv{}^3_k$ for $0 < k < i$,
|
780 | 780 | \end{itemize}
|
781 | 781 | where $\cv{}^j_i$ and $P^j_i$ are the components of
|
782 |
| -the cv-decomposition of $\tcode{T}j$. |
| 782 | +the qualification-decomposition of $\tcode{T}j$. |
783 | 783 | A prvalue of type \tcode{T1}
|
784 | 784 | can be converted to type \tcode{T2}
|
785 |
| -if the cv-combined type of \tcode{T1} and \tcode{T2} is \tcode{T2}. |
| 785 | +if the qualification-combined type of \tcode{T1} and \tcode{T2} is \tcode{T2}. |
786 | 786 | \begin{note}
|
787 | 787 | If a program could assign a pointer of type \tcode{T**} to a pointer of
|
788 | 788 | type \tcode{const} \tcode{T**} (that is, if line \#1 below were
|
|
801 | 801 | \begin{note}
|
802 | 802 | Given similar types \tcode{T1} and \tcode{T2}, this
|
803 | 803 | construction ensures that
|
804 |
| -both can be converted to the cv-combined type of \tcode{T1} and \tcode{T2}. |
| 804 | +both can be converted to the qualification-combined type of \tcode{T1} and \tcode{T2}. |
805 | 805 | \end{note}
|
806 | 806 |
|
807 | 807 | \pnum
|
|
4144 | 4144 | For two similar types \tcode{T1} and \tcode{T2}\iref{conv.qual},
|
4145 | 4145 | a prvalue of type \tcode{T1} may be explicitly
|
4146 | 4146 | converted to the type \tcode{T2} using a \tcode{const_cast}
|
4147 |
| -if, considering the cv-decompositions of both types, |
| 4147 | +if, considering the qualification-decompositions of both types, |
4148 | 4148 | each $P^1_i$ is the same as $P^2_i$ for all $i$.
|
4149 | 4149 | The result of a \tcode{const_cast} refers to the original entity.
|
4150 | 4150 | \begin{example}
|
|
4203 | 4203 | A conversion from a type \tcode{T1} to a type \tcode{T2}
|
4204 | 4204 | \defnx{casts away constness}{casting away constness}
|
4205 | 4205 | if \tcode{T1} and \tcode{T2} are different,
|
4206 |
| -there is a cv-decomposition\iref{conv.qual} of \tcode{T1} |
| 4206 | +there is a qualification-decomposition\iref{conv.qual} of \tcode{T1} |
4207 | 4207 | yielding \placeholder{n} such that
|
4208 |
| -\tcode{T2} has a cv-decomposition of the form |
| 4208 | +\tcode{T2} has a qualification-decomposition of the form |
4209 | 4209 | \begin{indented}
|
4210 | 4210 | $\cv{}_0^2$ $P_0^2$ $\cv{}_1^2$ $P_1^2$ $\cdots$ $\cv{}_{n-1}^2$ $P_{n-1}^2$ $\cv{}_n^2$ $\mathtt{U}_2$,
|
4211 | 4211 | \end{indented}
|
|
0 commit comments