From Jason Turner

[expr.type.conv]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpj1fzldl8/{from.md → to.md} +14 -15
tmp/tmpj1fzldl8/{from.md → to.md} RENAMED
@@ -1,21 +1,20 @@
1
- ### Explicit type conversion (functional notation) <a id="expr.type.conv">[[expr.type.conv]]</a>
2
 
3
- A *simple-type-specifier* ([[dcl.type.simple]]) or
4
- *typename-specifier* ([[temp.res]]) followed by a parenthesized
5
- optional *expression-list* or by a *braced-init-list* (the initializer)
6
- constructs a value of the specified type given the initializer. If the
7
- type is a placeholder for a deduced class type, it is replaced by the
8
- return type of the function selected by overload resolution for class
9
- template deduction ([[over.match.class.deduct]]) for the remainder of
10
- this section.
11
 
12
  If the initializer is a parenthesized single expression, the type
13
- conversion expression is equivalent (in definedness, and if defined in
14
- meaning) to the corresponding cast expression ([[expr.cast]]). If the
15
- type is cv `void` and the initializer is `()`, the expression is a
16
  prvalue of the specified type that performs no initialization.
17
  Otherwise, the expression is a prvalue of the specified type whose
18
- result object is direct-initialized ([[dcl.init]]) with the
19
- initializer. For an expression of the form `T()`, `T` shall not be an
20
- array type.
21
 
 
1
+ #### Explicit type conversion (functional notation) <a id="expr.type.conv">[[expr.type.conv]]</a>
2
 
3
+ A *simple-type-specifier* [[dcl.type.simple]] or *typename-specifier*
4
+ [[temp.res]] followed by a parenthesized optional *expression-list* or
5
+ by a *braced-init-list* (the initializer) constructs a value of the
6
+ specified type given the initializer. If the type is a placeholder for a
7
+ deduced class type, it is replaced by the return type of the function
8
+ selected by overload resolution for class template deduction
9
+ [[over.match.class.deduct]] for the remainder of this subclause.
 
10
 
11
  If the initializer is a parenthesized single expression, the type
12
+ conversion expression is equivalent to the corresponding cast expression
13
+ [[expr.cast]]. Otherwise, if the type is cv `void` and the initializer
14
+ is `()` or `{}` (after pack expansion, if any), the expression is a
15
  prvalue of the specified type that performs no initialization.
16
  Otherwise, the expression is a prvalue of the specified type whose
17
+ result object is direct-initialized [[dcl.init]] with the initializer.
18
+ If the initializer is a parenthesized optional *expression-list*, the
19
+ specified type shall not be an array type.
20