From Jason Turner

[temp.dep.constexpr]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp3196s4ma/{from.md → to.md} +13 -7
tmp/tmp3196s4ma/{from.md → to.md} RENAMED
@@ -1,16 +1,21 @@
1
  #### Value-dependent expressions <a id="temp.dep.constexpr">[[temp.dep.constexpr]]</a>
2
 
3
  Except as described below, a constant expression is value-dependent if
4
  any subexpression is value-dependent.
5
 
6
- An *identifier* is value-dependent if it is:
7
 
8
- - a name declared with a dependent type,
9
- - the name of a non-type template parameter,
10
- - a constant with literal type and is initialized with an expression
11
- that is value-dependent.
 
 
 
 
 
12
 
13
  Expressions of the following form are value-dependent if the
14
  *unary-expression* or *expression* is type-dependent or the *type-id* is
15
  dependent:
16
 
@@ -20,8 +25,9 @@ Expressions of the following form are value-dependent if either the
20
  *type-id* or *simple-type-specifier* is dependent or the *expression* or
21
  *cast-expression* is value-dependent:
22
 
23
  Expressions of the following form are value-dependent:
24
 
25
- An *id-expression* is value-dependent if it names a member of an unknown
26
- specialization.
 
27
 
 
1
  #### Value-dependent expressions <a id="temp.dep.constexpr">[[temp.dep.constexpr]]</a>
2
 
3
  Except as described below, a constant expression is value-dependent if
4
  any subexpression is value-dependent.
5
 
6
+ An *id-expression* is value-dependent if:
7
 
8
+ - it is a name declared with a dependent type,
9
+ - it is the name of a non-type template parameter,
10
+ - it names a member of an unknown specialization,
11
+ - it names a static data member that is a dependent member of the
12
+ current instantiation and is not initialized in a *member-declarator*,
13
+ - it names a static member function that is a dependent member of the
14
+ current instantiation, or
15
+ - it is a constant with literal type and is initialized with an
16
+ expression that is value-dependent.
17
 
18
  Expressions of the following form are value-dependent if the
19
  *unary-expression* or *expression* is type-dependent or the *type-id* is
20
  dependent:
21
 
 
25
  *type-id* or *simple-type-specifier* is dependent or the *expression* or
26
  *cast-expression* is value-dependent:
27
 
28
  Expressions of the following form are value-dependent:
29
 
30
+ An expression of the form `&`*qualified-id* where the *qualified-id*
31
+ names a dependent member of the current instantiation is
32
+ value-dependent.
33