From Jason Turner

[over.match.conv]

Diff to HTML by rtfpessoa

tmp/tmp1aqay3qu/{from.md → to.md} RENAMED
@@ -1,14 +1,14 @@
1
  #### Initialization by conversion function <a id="over.match.conv">[[over.match.conv]]</a>
2
 
3
  Under the conditions specified in  [[dcl.init]], as part of an
4
- initialization of an object of nonclass type, a conversion function can
5
  be invoked to convert an initializer expression of class type to the
6
  type of the object being initialized. Overload resolution is used to
7
  select the conversion function to be invoked. Assuming that “*cv1* `T`”
8
- is the type of the object being initialized, and “*cv* `S`” is the type
9
- of the initializer expression, with `S` a class type, the candidate
10
  functions are selected as follows:
11
 
12
  - The conversion functions of `S` and its base classes are considered.
13
  Those non-explicit conversion functions that are not hidden within `S`
14
  and yield type `T` or a type that can be converted to type `T` via a
@@ -23,8 +23,9 @@ functions are selected as follows:
23
  return lvalues or xvalues, depending on the type of reference, of type
24
  “*cv2* `X`” and are therefore considered to yield `X` for this process
25
  of selecting candidate functions.
26
 
27
  The argument list has one argument, which is the initializer expression.
28
- This argument will be compared against the implicit object parameter of
29
- the conversion functions.
 
30
 
 
1
  #### Initialization by conversion function <a id="over.match.conv">[[over.match.conv]]</a>
2
 
3
  Under the conditions specified in  [[dcl.init]], as part of an
4
+ initialization of an object of non-class type, a conversion function can
5
  be invoked to convert an initializer expression of class type to the
6
  type of the object being initialized. Overload resolution is used to
7
  select the conversion function to be invoked. Assuming that “*cv1* `T`”
8
+ is the type of the object being initialized, and “cv `S`” is the type of
9
+ the initializer expression, with `S` a class type, the candidate
10
  functions are selected as follows:
11
 
12
  - The conversion functions of `S` and its base classes are considered.
13
  Those non-explicit conversion functions that are not hidden within `S`
14
  and yield type `T` or a type that can be converted to type `T` via a
 
23
  return lvalues or xvalues, depending on the type of reference, of type
24
  “*cv2* `X`” and are therefore considered to yield `X` for this process
25
  of selecting candidate functions.
26
 
27
  The argument list has one argument, which is the initializer expression.
28
+
29
+ [*Note 1*: This argument will be compared against the implicit object
30
+ parameter of the conversion functions. — *end note*]
31