From Jason Turner

[temp.func.order]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpuk0nekui/{from.md → to.md} +10 -6
tmp/tmpuk0nekui/{from.md → to.md} RENAMED
@@ -24,20 +24,24 @@ function type. The deduction process determines whether one of the
24
  templates is more specialized than the other. If so, the more
25
  specialized template is the one chosen by the partial ordering process.
26
  If both deductions succeed, the partial ordering selects the more
27
  constrained template (if one exists) as determined below.
28
 
29
- To produce the transformed template, for each type, non-type, or
30
- template template parameter (including template parameter packs
31
- [[temp.variadic]] thereof) synthesize a unique type, value, or class
32
- template respectively and substitute it for each occurrence of that
33
- parameter in the function type of the template.
 
34
 
35
  [*Note 1*: The type replacing the placeholder in the type of the value
36
- synthesized for a non-type template parameter is also a unique
37
  synthesized type. — *end note*]
38
 
 
 
 
39
  Each function template M that is a member function is considered to have
40
  a new first parameter of type X(M), described below, inserted in its
41
  function parameter list. If exactly one of the function templates was
42
  considered by overload resolution via a rewritten candidate
43
  [[over.match.oper]] with a reversed order of parameters, then the order
 
24
  templates is more specialized than the other. If so, the more
25
  specialized template is the one chosen by the partial ordering process.
26
  If both deductions succeed, the partial ordering selects the more
27
  constrained template (if one exists) as determined below.
28
 
29
+ To produce the transformed template, for each type, constant, type
30
+ template, variable template, or concept template parameter (including
31
+ template parameter packs [[temp.variadic]] thereof) synthesize a unique
32
+ type, value, class template, variable template, or concept,
33
+ respectively, and substitute it for each occurrence of that parameter in
34
+ the function type of the template.
35
 
36
  [*Note 1*: The type replacing the placeholder in the type of the value
37
+ synthesized for a constant template parameter is also a unique
38
  synthesized type. — *end note*]
39
 
40
+ A synthesized template has the same *template-head* as its corresponding
41
+ template template parameter.
42
+
43
  Each function template M that is a member function is considered to have
44
  a new first parameter of type X(M), described below, inserted in its
45
  function parameter list. If exactly one of the function templates was
46
  considered by overload resolution via a rewritten candidate
47
  [[over.match.oper]] with a reversed order of parameters, then the order