tmp/tmp98obsmij/{from.md → to.md}
RENAMED
|
@@ -44,11 +44,11 @@ Special member functions obey the usual access rules [[class.access]].
|
|
| 44 |
|
| 45 |
[*Example 2*: Declaring a constructor protected ensures that only
|
| 46 |
derived classes and friends can create objects using
|
| 47 |
it. — *end example*]
|
| 48 |
|
| 49 |
-
Two special member functions are of the same kind if
|
| 50 |
|
| 51 |
- they are both default constructors,
|
| 52 |
- they are both copy or move constructors with the same first parameter
|
| 53 |
type, or
|
| 54 |
- they are both copy or move assignment operators with the same first
|
|
@@ -58,13 +58,14 @@ Two special member functions are of the same kind if:
|
|
| 58 |
An *eligible special member function* is a special member function for
|
| 59 |
which:
|
| 60 |
|
| 61 |
- the function is not deleted,
|
| 62 |
- the associated constraints [[temp.constr]], if any, are satisfied, and
|
| 63 |
-
- no special member function of the same kind
|
|
|
|
| 64 |
[[temp.constr.order]].
|
| 65 |
|
| 66 |
-
For a class, its non-static data members, its non-virtual direct
|
| 67 |
-
classes, and, if the class is not abstract [[class.abstract]], its
|
| 68 |
virtual base classes are called its *potentially constructed
|
| 69 |
subobjects*.
|
| 70 |
|
|
|
|
| 44 |
|
| 45 |
[*Example 2*: Declaring a constructor protected ensures that only
|
| 46 |
derived classes and friends can create objects using
|
| 47 |
it. — *end example*]
|
| 48 |
|
| 49 |
+
Two special member functions are of the same kind if
|
| 50 |
|
| 51 |
- they are both default constructors,
|
| 52 |
- they are both copy or move constructors with the same first parameter
|
| 53 |
type, or
|
| 54 |
- they are both copy or move assignment operators with the same first
|
|
|
|
| 58 |
An *eligible special member function* is a special member function for
|
| 59 |
which:
|
| 60 |
|
| 61 |
- the function is not deleted,
|
| 62 |
- the associated constraints [[temp.constr]], if any, are satisfied, and
|
| 63 |
+
- no special member function of the same kind whose associated
|
| 64 |
+
constraints, if any, are satisfied is more constrained
|
| 65 |
[[temp.constr.order]].
|
| 66 |
|
| 67 |
+
For a class, its direct non-static data members, its non-virtual direct
|
| 68 |
+
base classes, and, if the class is not abstract [[class.abstract]], its
|
| 69 |
virtual base classes are called its *potentially constructed
|
| 70 |
subobjects*.
|
| 71 |
|