From Jason Turner

[over.match.conv]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpfwdmvl9n/{from.md → to.md} +10 -11
tmp/tmpfwdmvl9n/{from.md → to.md} RENAMED
@@ -10,21 +10,20 @@ 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
15
- standard conversion sequence ([[over.ics.scs]]) are candidate
16
- functions. For direct-initialization, those explicit conversion
17
- functions that are not hidden within `S` and yield type `T` or a type
18
- that can be converted to type `T` with a qualification conversion (
19
- [[conv.qual]]) are also candidate functions. Conversion functions that
20
- return a cv-qualified type are considered to yield the cv-unqualified
21
- version of that type for this process of selecting candidate
22
- functions. Conversion functions that return “reference to *cv2* `X`”
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*]
 
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
15
+ standard conversion sequence [[over.ics.scs]] are candidate functions.
16
+ For direct-initialization, those explicit conversion functions that
17
+ are not hidden within `S` and yield type `T` or a type that can be
18
+ converted to type `T` with a qualification conversion [[conv.qual]]
19
+ are also candidate functions. Conversion functions that return a
20
+ cv-qualified type are considered to yield the cv-unqualified version
21
+ of that type for this process of selecting candidate functions. A call
22
+ to a conversion function returning “reference to `X`” is a glvalue of
23
+ type `X`, and such a conversion function is therefore considered to
24
+ yield `X` for this process of selecting candidate functions.
 
25
 
26
  The argument list has one argument, which is the initializer expression.
27
 
28
  [*Note 1*: This argument will be compared against the implicit object
29
  parameter of the conversion functions. — *end note*]