Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 7 additions & 12 deletions source/classes.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1474,16 +1474,12 @@
\rSec3[class.copy.ctor]{Copy/move constructors}%

\pnum
\indextext{constructor!copy|(}%
\indextext{constructor!move|(}%
\indextext{copy!class object|see{constructor, copy}}%
\indextext{move!class object|see{constructor, move}}%
A non-template constructor for class
\tcode{X}
is
a
copy
constructor if its first parameter is of type
\defnadj{copy}{constructor} if its first parameter is of type
\tcode{X\&},
\tcode{const X\&},
\tcode{volatile X\&}
Expand All @@ -1509,7 +1505,8 @@
\end{example}

\pnum
A non-template constructor for class \tcode{X} is a move constructor if its
\indextext{move!class object|see{constructor, move}}%
A non-template constructor for class \tcode{X} is a \defnadj{move}{constructor} if its
first parameter is of type \tcode{X\&\&}, \tcode{const X\&\&},
\tcode{volatile X\&\&}, or \tcode{const volatile X\&\&}, and either there are
no other parameters or else all other parameters have default
Expand Down Expand Up @@ -1785,14 +1782,10 @@
\rSec2[class.copy.assign]{Copy/move assignment operator}%

\pnum
\indextext{assignment operator!copy|(}%
\indextext{assignment operator!move|(}%
\indextext{special member function|see{assignment operator}}%
\indextext{copy!class object|see{assignment operator, copy}}%
\indextext{move!class object|see{assignment operator, move}}%
\indextext{operator!copy assignment|see{assignment operator, copy}}%
\indextext{operator!move assignment|see{assignment operator, move}}%
A user-declared \term{copy} assignment operator \tcode{X::operator=} is a
A \defnadj{copy}{assignment operator} \tcode{X::operator=} is a
non-static non-template member function of class \tcode{X} with exactly one
non-object parameter of type \tcode{X}, \tcode{X\&}, \tcode{const X\&},
\tcode{volatile X\&}, or \tcode{const volatile X\&}.
Expand Down Expand Up @@ -1873,7 +1866,9 @@
\end{codeblock}

\pnum
A user-declared move assignment operator \tcode{X::operator=} is
\indextext{move!class object|see{assignment operator, move}}%
\indextext{operator!move assignment|see{assignment operator, move}}%
A \defnadj{move}{assignment operator} \tcode{X::operator=} is
a non-static non-template member function of class \tcode{X} with exactly
one non-object parameter of type \tcode{X\&\&}, \tcode{const X\&\&}, \tcode{volatile X\&\&}, or
\tcode{const volatile X\&\&}.
Expand Down