From Jason Turner

[special]

Diff to HTML by rtfpessoa

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 is more constrained
 
64
  [[temp.constr.order]].
65
 
66
- For a class, its non-static data members, its non-virtual direct base
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